Building agent infra, search, and knowledge systems for Sai, Simular's computerβuse agent.

Details
Sai is Simular's computer-use agent. I've been building its hands and senses: how it searches the web, reads a page, finds things in its own workspace, and asks before it guesses.
What I built
- Web fetch β cut the page context the agent reads by 45Γ on Wikipedia's Apollo 11 article, from 100,175 characters to 2,217. A fetch now returns a lazy page object instead of raw text: it opens on an outline capped at 4,000 characters, then the agent greps, reads, or asks the page a question, so context cost stopped scaling with page size.
- Web search β built a search primitive on Exa's neural index so the agent skips the browser, then benchmarked it against browser-in-VM search on a 21-query golden set over 3 graded runs: 1.7Γ faster (16s vs 27.9s), 36% fewer tokens, and higher LLM-graded relevance (8.71 vs 8.14 overall, 8.83 vs 7.79 on find tasks). The results led leadership to serve Exa search to the free tier without VMs, and Web lookup is now on by default for all free Sai users. The index lags the live web, so I recommended a browser fallback for recency-worded queries.
- Link walking β for pages the search index never saw, the agent live-crawls a URL it constructs, hops through real resolved links, or crawls a page's neighbourhood in one call. Capped at 20 pages or 60 seconds, same-origin by default.
- Knowledge service β wrote the founding tech design, then built idempotent ingestion across Slack, Gmail, Calendar, and GitHub, with Google Drive as a read-only source, and a semantic search REST API (BGE-M3) on FastAPI, Cloud Run, and Firestore.
- Decision-model research β reproduced TypeSafe's game demos in Python test harnesses with a replay viewer, to learn how Jev, a fast decision model, actually behaves. Across 4 Snake experiments, hard constraints only held when they were enforced in code, not in the prompt, and a code fallback below 0.5 confidence raised wins from 3/5 to 5/5. Now working on Mario, which adds in-game physics.
- βK search β one search across 5 entity types, including messages, workflows, drafts, and files. ~70K records indexed in a week on Meilisearch, blended into one ranked list with reciprocal rank fusion.
- Choice cards β a task can pause, ask the user, and resume, on desktop, iMessage/SMS, and Telegram. A lock stops two sessions answering the same prompt.
- Pixel-art characters β designed a rules framework for AI-generated pixel-art characters: 9 art rules and pass/fail checks, such as every stage reading as a black silhouette, refined over 24 iterations by turning each failure into a new rule. 7 of my characters were adopted into Sai's Saibot family.
- Integrations β co-built a QuickBooks Online connector with Linlin, merged on 8 Oct, with read-only access enforced in code because Intuit's one accounting scope grants read and write together. Also shipped a Fireflies integration to staging.
- And the rest β 55 PRs across 5 repos as of 14 Oct 2026. Beyond the features above: shareable session links, composer drafts that survive a reload or restart, and 11 smaller fixes, from a modal that silently no-opped in production builds to a CI runner pinned after a toolchain update broke untouched builds.


































