Building in public
Everything I'm
building.
A running collection of the things I ship — small, useful, and out in the open. Web apps, open-source tools, and the occasional experiment. Most started as an itch I wanted to scratch.
A Google-maps inspired free tool for Singapore parents navigating Primary 1 school registration.
An OSRS-inspired productivity dashboard — journals and quest logs for real-life goals.
Free, privacy-first browser tools — convert and compress images, merge PDFs, generate QR codes and more, 100% client-side with zero uploads.
AI-powered 2D floor-plan editor — upload a floor plan and Claude vision traces the walls, rooms, doors and windows into editable vectors, then drag to-scale furniture over it.
A daily leaderboard of the most popular Claude Code & AI-agent skills, scored from GitHub, npm and community signals and re-ranked every 24 hours.
Learn data structures, algorithms and system design by watching them animate — 32 interactive visualizers for interview prep.
Paste a URL and get a 0–100 forensic score of how AI-generated or cookie-cutter a website looks.
Local-first MCP server for intelligent macOS Photos.app management — semantic search via CLIP, duplicate detection, and quality scoring.
Singapore IPPT scoring calculator — computes your 2.4 km run, sit-ups, and push-ups scores with real-time results.
Your toddler's favourite pup as an educational game.
Generate an AGENTS.md for any public GitHub repo using Claude AI — gives AI coding agents instant project context.
Singapore's most comprehensive retirement planner, including CPF
Turn any public GitHub repo into an AI-ready installation prompt. Works with Claude, ChatGPT, Gemini, and more.
Track bank points and loyalty miles in one place — localStorage-based, zero backend.
GoDaddy DNS MCP server — manage DNS records via natural language through AI assistants.
CI-embeddable eval harness for MCP-native agentic workflows — tool-call graph correctness and regression tracking.
Portable Telegram bot for credit card spend tracking and due-date reminders. SQLite-backed, Docker-deployable, zero external services.
A Postman for the Agent2Agent (A2A) protocol — validate Agent Cards (spec v0.2.5) and run live tasks against any A2A agent.
A test-bench for prompt-injection attacks and defenses — runs an attack corpus against a live Claude model, grades attack-success-rate per category, and ships a dual-LLM quarantined-data defense.
Agentic resume-tailoring and gap-analysis tool built on LangGraph, with RAG over pgvector and LangSmith observability.
A calm, Singapore-localised job-application tracker — Kanban board, a Today view, and stats.
Calculates how many hours stand between you and a maxed Old School RuneScape account.
A blog and course on getting the most out of Claude Code as an engineer.
Scores any GitHub repo for AI-agent readiness (0–10) with an embeddable SVG badge.
A local dashboard that visualises which files Claude Code reads — green if present, red if missing.
A personal Claude Code agent on your phone, via Telegram and the Claude Agent SDK.
A minimalist macOS menu-bar app — one toggle keeps your laptop awake while agents run.
A Singapore food decider that settles the 'what to eat' debate in one tap.
An installable PWA that randomizes age-appropriate meals for your baby and toddler — from first purées at 6 months onward, with auto grocery lists.
The family food journal — log what you cooked for the kids each day: dish, ingredients, a photo, and whether each kid gave it a YUM.
An offline PWA to revise for technical interviews — system-design topics and LeetCode patterns with spaced-repetition flashcards.
A Calendly-style scheduling tool wired to Google Calendar — share a booking link or embed the widget, with Google Meet links auto-created.
An interactive atlas of everything I've shipped — dozens of projects rendered on a zoomable canvas, scraped straight from my repos.
A local-first Kanban board for the tasks you delegate to AI coding agents — drag-and-drop cards, MCP-native, with review and Telegram hooks.
A production-grade, durable multi-agent portfolio-risk monitoring system — Temporal-orchestrated agents that survive restarts mid-analysis.
A local-first, Obsidian-style graph of your ~/code folder — visualize which repos exist and how they connect.
An MCP server for Singapore's National Library Board catalogue — ask your AI assistant to find books and check which branches have them.
An on-device voice-to-text keyboard for iPhone — Whisper-powered dictation with no cloud, no network, no data leaving your phone.
Audit the token cost of everything your AI coding agent auto-loads on every turn (CLAUDE.md, AGENTS.md, rules) — and trim the bloat.
A zero-dependency CLI that scans a folder of git repos and flags which need attention — uncommitted changes, unpushed commits, stale branches.
A fast, zero-dependency CLI for the daily 'port already in use' annoyance — list and kill the process holding your port in one command.
Turn each day's git commits and Claude Code token spend into a shareable proof-of-work image, generated straight from your local repos.
See what your AI coding agent actually costs — a zero-dependency CLI that reports token spend and efficiency across your Claude Code sessions.
A live perch over your Claude Code agents — a zero-dependency terminal dashboard that shows what each running agent is doing right now.
How I build
A few things I believe
Small and shipped beats big and someday
Most of these took a weekend or less. The constraint is the point — finish it, deploy it, move on. Momentum compounds in a way that perfect plans never do.
Build for one real person
Almost every project here scratches an actual itch — mine, my kid's, or a friend's. A single real user beats an imaginary market every time.
Building in public keeps me honest
Shipping in the open, with live links anyone can poke at, is a forcing function. It's harder to fool yourself when the work is right there.