Embedded Systems Intern
UC RIVERSIDE · COMPUTER SCIENCEI build Rust and C firmware for a real-time brain-computer interface. Want the low-level receipts? My résumé has them ↗
My goal, in life and at work, is to keep learning across every domain I enter—and keep going until versatility becomes mastery.
CLICK THE KEYS
OR USE YOUR KEYBOARD
Systems · Applied AI · Full Stack
Scroll to explore ↓I build Rust and C firmware for a real-time brain-computer interface. Want the low-level receipts? My résumé has them ↗
I built AI search that could navigate more than 10,000 legal documents. Need the polished corporate version? It's on my résumé ↗
THAT'S THE RÉSUMÉ-FRIENDLY PART. THE THING I ACTUALLY COULDN'T STOP TALKING ABOUT? Cosine similarity can make AI understand the idea you meant, even when your question and the answer use almost none of the same words. Slightly creepy. Extremely useful.
I made million-run entomology simulations move three times faster. Want the data-heavy director's cut? Check the résumé ↗
NUMBERS ASIDE, HERE'S THE SIX-LEGGED PLOT TWIST THAT NEVER MADE MY RÉSUMÉ: Ant colonies have no central boss. They're basically distributed systems with six legs, excellent uptime, and a truly unreasonable amount of data.
Computers are brilliant at whole numbers. Decimals are where things get weird. Most values cannot be represented perfectly in binary, so the machine stores the closest version it can.
That means a calculation can be mathematically correct and still land a microscopic distance away from the answer. Usually, nobody notices. In real-time embedded systems, that tiny difference can accumulate, change a threshold, or arrive one interrupt too late.
Working on brain-computer-interface firmware taught me that engineering is not just asking, “Is this right?” It is asking, “How wrong can this safely be—and how quickly do we need to know?”
That balance between precision, latency, memory, and hardware is what makes low-level software so fascinating: every approximation has a cost, and every saved cycle has a reason.
Interested in my projects? The serious technical stuff lives right over here ↘
Yes, I take fictional infrastructure seriously. Visit my village · #R208JCU2C ↗
I think designing a good base helps with system design. I might be forcing it, but both involve managing limited resources, layering defenses, and building something that can survive hostile traffic.That's the year-end target. Public accountability seemed like a good idea five seconds ago. Challenge me on Chess.com ↗
I think chess helps with LeetCode. I might be forcing it, but both reward seeing the trap before committing to the move.I can solve the classic 3×3. The mirror cube is next, because apparently one shape-shifting headache wasn't enough.
Tap the binary strings below—or move your cursor through them. Make sure your audio is turned on :)
Yes, I run—usually when sitting at a debugger starts feeling medically irresponsible. Find me on Strava ↗
I like them because they're tough, clever, and just dramatic enough.
Small fact: crows remember human faces for years—and can teach other crows who caused trouble. So be polite.Imagine 200 people asking one librarian to store and fetch notes at once. Instead of one enormous cabinet—and one enormous line—the engine sends each key to one of 64 smaller locked cabinets. Different people can safely use different cabinets at the same time.
A C++ key-value engine that hashes requests across 64 independent shards, uses fine-grained locking and an LRU cache, and serves TCP/UDP clients at 159,000+ operations per second across 200 concurrent connections.
Unlike one regular data table with one waiting line, independently locked shards let many reads and writes move safely in parallel—especially as the dataset and traffic grow.
A full e-commerce platform split into 5 independent services—catalog, pricing, inventory, orders, and payments—all talking through a single GraphQL gateway. Add to cart, check out, and watch the order propagate through each service in real time.
Next.js storefront → Apollo GraphQL gateway → 5 FastAPI microservices → PostgreSQL (Neon) + Redis (Upstash). JWT auth, event-driven order flow, deployed on Render (backend) and Netlify (frontend). 159k+ ops/sec throughput at the cache layer.
Each service owns its own database. Pricing can go down without taking inventory with it. The gateway is the only piece any client ever talks to.
Spot an animal, take its photo, and recruit it as a fighter. A crow might unlock clever aerial attacks; a lion gets a very different, considerably less polite move set. Then your newly discovered creatures battle other players' teams.
A cross-platform iOS and Android app combining camera capture, animal classification, generated creature stats, and a turn-based combat engine. The big unsolved checkpoint is reliable capture verification: proving the camera saw a real animal instead of another screen or printed photo.
Because seeing a crow on a walk should be the beginning of a side quest, not just something you forget five minutes later.