Sieve
A vector search engine written from scratch in Rust: a billion vectors, searched on one laptop.





Full-stack engineer across backend, infrastructure and the product on top. Previously JP Morgan Chase. Stellar SCF grantee.
I build things end to end: the idea, the system underneath it, and the part people actually touch.
The subject keeps changing. So far it has been developer tools, payments, privacy, language learning and research, sometimes alone and sometimes inside a large bank. The habit stays the same: understand the problem properly, build the smallest thing that really solves it, then keep at it until it holds up with real people using it.
A vector search engine written from scratch in Rust: a billion vectors, searched on one laptop.





A Rust order-book collector for Kalshi and Polymarket that keeps every book exact.





Local inference vs. the browser compositor: why GPU-heavy pages stutter while a model reads.



A shared, live world model for parallel coding agents, kept in one graph.
The loop that makes an agent's "done" something it has to prove, not just say.
The organizational control plane for agents that hold money, now on C# and .NET 8.
An AI English coach for learners in India, from Class 2 chapters to the interview room.









VideoAn accountability platform for small groups, rebuilt in C# on .NET 8.




VideoPrivacy as a wallet primitive. Shielded notes, private sends, and prediction markets on Stellar.




VideoDeFi with memory. Polkadot's on-chain credit layer.




VideoThe Mantle-native gateway bridging the RWA liquidity gap.



VideoCross-border payroll and treasury, built for crypto-native teams.





Privacy-preserving payment & identity mixing on Stellar.
A vector search engine written from scratch in Rust: a billion vectors, searched on one laptop.
A from-scratch Rust implementation of the search pipeline Exa described in How we built a web-scale vector database: Matryoshka 256-d prefixes, 1-bit codes scored against a float query with NEON lookup tables, IVF routing, then a rerank. Measuring it against exact search and NIST relevance labels showed routing, not the codes, was losing recall, so each vector is also spilled into a second cluster (SOAR), and RaBitQ residual codes replace the global ones. A three-tier store keeps 1-bit and 2-bit codes in RAM and reads int8 rerank rows from SSD with parallel pread, so 87 GB of rerank vectors never have to fit in memory. On the full TREC-RAG 2024 corpus of 113.5M passages it serves R@10 0.909 at 4.8 ms p50 on one 24 GB laptop, or R@10 0.902 in 225 MB of RAM with everything on SSD. On 1 billion vectors (SPACEV-1B) the same laptop builds an index in about 22 minutes and serves R@10 0.906 at 420 QPS. It also shards with a two-phase merge, takes live inserts and deletes with a write-ahead log, and runs filtered and hybrid BM25 search.




