I build things in Singapore. Some start with a small annoyance on my Mac. Others start in a room full of people, with a deadline and an idea I hadn't planned for.
My website · LinkedIn · Say hello
Here are a few things I've been making. Shelf rearranged October 2026.
At 10:01, the organisers started explaining the makeathon. By 10:04, I'd dropped all ten ideas I'd prepared.
I ended up building The Commons: scan a QR code, wish for a creature, and watch it walk into a cartoon of the room you're sitting in. The agent writes its behaviour, tests it, fixes its bugs and draws it. Solo build; Best Use of Tech at Common Grounds.
Hundreds of little mysteries I had to open one by one. So I made Screenshot Declutterer.
Before: a batch waiting for review. After: five queued for Trash, with Undo still there. These are synthetic demo screenshots; click either to look closer.
Keep, rename, compare similar images, change your mind. Nothing goes to macOS Trash until you confirm. Optional naming runs on the Mac too.
Plotline keeps what a forest-map screening rule needs, then checks that the smaller representation gives the same answers.
744,732 cells per contract. Zero mismatches. A bounded hackathon experiment, with the rule and retained evidence open to inspection.
Read the experiment · Inspect the proof
For ResearchAgent, our team kept coming back to three questions: is it worth buying, did the right evidence arrive, and can someone follow what happened?
1. Set a budget → 2. Check the evidence → 3. Keep the receipt.
SingHacks finalist, built with my team. On 10 October 2026, I took ResearchAgent to the main stage at AI Tinkerers Singapore. The live demo ran on Google Cloud Run and placed among the top three Cloud Run demos, earning US$100 in cloud credits.
Photo: event attendee, via the AI Tinkerers Singapore event gallery. The slides from the talk →
Fictional articles and XRPL Testnet, with challenges and refunds in the demo. The Cloud Run deployment has been retired; the walkthrough is still there.
yald started because I wanted to know where my coding-agent tokens were going. Now it's a tab that's always open. Read-only local reports; the cost chart estimates API prices, not my subscription bill. Public preview.
Then there's talktoit, for asking questions of an Apple Health export. The interesting bit turned out to be the importer: one recorded M1 benchmark went from about 26 minutes to 9.77 seconds. The measurement, without anyone's health records.
Fitback was our capstone team's two-photo sizing project. The public DetectT prototype shows the pose-guidance and capture part; getting two model runtimes to cooperate meant isolating the older runtime in a worker.
Our team took first place in Design AI at InspireCon 2025. Here's the camera code.
Sushi orders on one side, bouncing bricks on the other. Sushi Shakedown is a team Unity game (upstream); I worked on backgrounds and NPCs. Breakout is an earlier team course project in C and SDL2. Saves, scores, sound, and a lot of bouncing.
There are other threads too: Rewind, our group time-capsule prototype; FlickPond, our course team's video pipeline; and uno-dos-tres, a phone camera reading Uno cards.
Further along the trail: provenance-aware permissions with the MandateFlow team, Handoff's evidence-to-invoice experiment, StyleMind's fashion conversations, a Raspberry Pi looking for parked cars, and an educational Raft-style booking simulation.
Project screenshots, not stock art. Image sources and context.













