Autonomous Billing Proxy
Billing agents only after a useful response.
Separates response delivery from verification, then commits the wallet debit and ledger entry in one Postgres transaction.
Read case study Architecture · decisions · evidenceAN ENGINEER’S WORKING NOTEBOOK
I work on developer tools, distributed systems, and applied machine learning.
Move the query. Each shard has candidates; the closest three make the final cut.
Explore vector searchToy 1D data · exact distance · an illustration of shard merging
01 / PROJECTS
Billing agents only after a useful response.
Separates response delivery from verification, then commits the wallet debit and ledger entry in one Postgres transaction.
Read case study Architecture · decisions · evidenceA distributed ANN engine built from the index up.
Implemented HNSW search, SIMD distance kernels, hash-routed writes, and global top-k aggregation in C++20.
Read case study Architecture · decisions · evidenceConnecting workout history to useful coaching.
Combines structured workout logs and retrieved training context in a native iOS experience, with evaluation for the coaching backend.
Read case study Architecture · decisions · evidence02 / WORK & RESEARCH
Internships and research in machine learning, agent evaluation, and software engineering.
View experienceBackend and ML infrastructure for automated code review.
Bellevue, WA
Agent evaluation and API routing verification.
San Jose, CA
Embryo segmentation with deep learning.
Los Angeles, CA
Social-media automation and full-stack development.
San Francisco, CA
03 / THE BILLING EXPERIMENT
An agent made a request. Should it pay? Try three outcomes and follow the decision through my billing gateway.
Inside the billing proxy the interesting part{ "result": "Found what you asked for" }Successful request. Substantial response. No detected refusal.
Simulated examples of the heuristic checks. No API calls, wallet debits, or real charges.
04 / INTERACTIVE VECTOR SEARCH
Vector databases retrieve items by similarity. Move the query to see which stored vectors are closest, and how the top three results change.
This exact 2D search illustrates the idea. My C++ database uses an approximate HNSW index for 768-dimensional vectors and merges results across shards.
Inside the vector databaseFROM MY VECTOR DATABASE PROJECT
Move the query point to see its three closest matches.
A 2D demo using sample data. My database searches 768-dimensional vectors with an HNSW index.
View the C++ database project05 / NOTES FROM THE WORKBENCH
The small details that changed
how the system behaves.
The store aligned its vectors to 64 bytes. Query buffers didn’t make the same promise. An AVX-512 load assumed they did, and the engine crashed.
_mm512_loadu_ps(query)Note to self: a guarantee inside the storage engine isn’t a guarantee at the API boundary.
The fix + regression testThe heuristic evaluator combined signals into one score. Other positive signals could outweigh an HTTP failure or refusal, so a failed response could pass.
Note to self: some conditions are requirements. They shouldn’t be traded against a weighted average.
The fix + regression tests
UCLA · LOS ANGELES, CA06 / ABOUT
I’m a Computer Science & Engineering student at UCLA, graduating in June 2028. My experience includes automated code review at Shopify, agent evaluation at IBM, and computer vision research at Shah Lab. I’m especially interested in infrastructure that makes ML fast, reliable, and useful to developers.
Outside of work and school, I enjoy weightlifting, basketball, and trying restaurants around LA.
Download résumé07 / CONTACT
Fill out this form, or email me at
For engineering roles, projects, or research.