Work
Selected work.
Full case studies — performance, an AI agent, a merge engine, a browser extension, an OpenAPI console, a link compiler, a Sentry triage pipeline — production highlights from four years on a YC-backed platform, and live things you can open right now.
Case studies
- a YC-backed documentation platformThe keystroke that cost 1.4 seconds1.4s → ~100ms · 14× faster
- a YC-backed documentation platformAn AI agent that rewrites your documentation — and can't corrupt it
- a YC-backed documentation platformGit-style branching, for people who have never used git
- a YC-backed documentation platformDo the task once. Get the step-by-step guide.
- a YC-backed documentation platformFrom a YAML file to a living API console
- a YC-backed documentation platformCompiling links at publish time
- a YC-backed documentation platformStatistics, not stack traces12,587 → 977 · −92%
The Archbee years — highlights
Four years, 468 merged PRs, front end and back. The case studies above are the public ones; these are the rest — production code, so the specifics stay at this altitude. Happy to walk through the architecture of any of them on a call.
The document merge engine
Git-style branching for a tree of rich documents: a node-id-aligned three-way merge, LCS-based minimal diffs, and granular conflict rendering — an ~815-line diff builder that recurses into nested containers. Includes the cross-move conflict that was silently deleting documents, fixed at the detection layer with unit tests and data backfills. The branching foundation was a teammate's; the engine on top is ~90% mine by git blame.
The AI authoring agent
Sole author of a tool-calling agent that generates and edits blocks inside documents — orchestrator, router, session handling, per-block generation tools — plus the agentic generator behind docs.new and the AI surface around it: summaries, ask-AI search, feedback.
Editor internals, authored — not consumed
Most engineers use an editor's API; I write block types, normalizers, and selection logic inside one (Slate/Plate): a new tables implementation, code editor, inline LaTeX, reusable content, workflows — and an interactive API-docs sub-product grown over three years: OpenAPI/Swagger imports, live "try it" calls, multi-language code generation.
Headless-PDF export, owned 2023 → 2026
Both halves of the pipeline — the Puppeteer worker and the export-UI/CSS-fidelity layer — shipped as a Docker image on Azure, plus the customer-critical export fixes that came with owning it.
Portals, imports, and the markdown pipeline
The public docs portals — theming, SEO, SSR/prefetch performance — and content import/sync from Confluence, Google Docs, and GitHub, through the mdast↔Slate markdown converter.
The one-line edit that diffed the whole document
A review diff showed everything changed after a one-line edit. Root cause: a lossy markdown round-trip regenerating stable node IDs. The fix carried the editor value end to end — and left the diff algorithm, which had been right all along, untouched. Root cause, not symptom.
Open right now
Products and demos, mine end to end — live, with a write-up where one exists.
- Frontend360 ↗
My own Chrome extension — a pixel-precision toolkit for frontend work: grid overlays, crosshair coordinates, click-to-place guides, an on-hover CSS inspector. Built and shipped solo; 5.0★ on the Web Store.
- Archbee Chrome extension ↗
Built solo for Archbee: capture step-by-step guides or import any webpage as Markdown — Manifest V3, background service worker, content scripts, chrome.storage state machines. ~90% mine by git blame.
- produsebaby.ro ↗
A content platform I built and run — 450+ buying guides and reviews for Romanian parents — holding Lighthouse 100 · 100 · 100 · 100 in production. Performance isn't a one-off trick; it's how I build.
- Layout Thrashing Lab ↗
Toggle rendering anti-patterns in a live animation loop and watch the frame metrics fall apart — then race the same DOM work in two read/write orders. The ordering alone is worth ~500×.
write-up: Don't throw your layout into the bin → - BeatBird ↗
A rhythm game on the Web Audio API — sample-accurate scheduling in the browser, where setTimeout won't cut it.
write-up: Mastering drums with the Web Audio API → - json-wow ↗
A recursive JSON editor — one canonical tree as the source of truth, everything else derived, so nothing drifts. Immer for immutable updates, dnd-kit for drag-and-drop.
write-up: React recursive components → - featuringCode on YouTube ↗
Video walkthroughs to go with the writing — watch the code happen, not just read about it.
watch: Next.js SSR with Redux, explained →