Recent writing
Recent projects
- 532B Bishan Ridges ā Renovation — Our BTO reno hub: electrical & smart switches, an interactive 3D living-room layout, and the travertine dining-table duel. Three.js, Hugo, Comfort Home Interior
- Spreadsheet Agent — Exploring how far you can push AI agents in structured data environments. Sub-agent architecture (Explore, Plan, Verifier) with hybrid search (regex, semantic, numerical), semantic PDF parsing via DuckDB, and checkpoint-based undo. Built in Go with Claude API. Go, Claude API, DuckDB
- Browser Agent — Fast, reliable web automation against adversarial UX. Replaces screenshot-based observation with pruned ARIA trees and structural page features, cutting per-action latency from 3-5s to 1.5s. Planner-executor architecture with a persistent skill library. 30/30 on adversarial challenge benchmark. Python, Claude API
- Mise en Place — Hands-free cooking with AI voice agent. Step through recipes by voice, adapt portions, substitute ingredients from what's in your fridge, clarify steps mid-cook. Claude Sonnet voice agent with tool use controls the Flutter UI. n8n Track Prize, ElevenLabs Hackathon. Flutter, Claude API, ElevenLabs
- Internal Developer Tooling — MCP servers (Hive, SelectDB, PostgreSQL) with encoded data access controls and schema context, giving analysts natural language access to production databases. Plus a Lark CLI (Go binary proxying to Lark API via Claude skills) for pulling data from operational sheets and docs. Go, Python, MCP Protocol
- Harry Potter Portraits — Living portraits that see you and talk back. Ingest a YouTube video or photo, extract face + clone voice, generate persona via LLM, produce gaze-aware animations. TV displays a portrait that tracks the viewer via webcam and responds conversationally through a STT-LLM-TTS pipeline. Python, fal.ai, LivePortrait, WebSocket