Token tile: /stats counts each part of a reply separately; counted once per reply across Claude, Gemini and Codex it is 67.5 B.
SP Cybersecurity & Digital Forensics | ISC2 CC | Anthropic CCA-F | Offensive Security and AI Enthusiast
Year 2, Singapore Polytechnic. Seeking a 44-week internship in applied AI and AI security, from 12 April 2027.
Short on time? The one-page version. Or find me on LinkedIn.
Alchemy Education Studio harness: the write-up
Before. Building one workbook meant hours of copying questions, pasting images and formatting by hand. Human error came with it: one mistyped MCQ answer would throw off a whole answer table, and I would only find it later.
After. A harness of Python tools and Claude Code agents builds the book from a written format spec. It is gated, so a book cannot pass on an agent's say-so: a mechanical auditor cross-checks questions and answers, diagrams are lifted at print resolution with watermarks stripped, and every page is rendered and audited before the build can pass. I now only look through the final product for anything off.
designyourtv (DesignConfigurator), in more depth
- A design-focused frontend project: painted home screens with a depth-cut clock, per-artwork type and weather, for Android TV, Windows and GitHub profile banners.
- The banner at the top of this page is its own output, filmed from my TV.
Agentroid, in more depth
- Lets an MCP agent such as Claude Code read and operate an Android phone or emulator over adb, through 27 MCP tools. The bridge makes no model calls, so it needs no model API key.
- A screen guard in a Rust daemon refuses payments, transfers, factory resets, credential entry and security-setting changes, and logs every decision to a hash-chained audit log: 44 of 44 hostile test cases refused or held, with known misses published.
- Public preview: tested with Claude Code on an Android 13 emulator and one physical phone; the benchmark run is in progress.
BB 5th Coy Administration Portal: case study
- A private client project for the Boys' Brigade 5th Singapore Company: awards and attendance records, and training-programme imports. Next.js, React and Supabase; in development since July 2026.
ST2612 EST System: what the harness scored
- A study harness for an open-book, AI-permitted end-of-semester test: a knowledge base, and an agent pipeline that drafts, adversarially audits and delivers short answers. 25/25 on a graded AI-permitted quiz; 60/60 on Section B of a mock paper.
PaceRouter, in more depth
- Routes each AI task to a tier by its type and by how fast the week's usage is being spent; the same pace signal holds back parallel work and tells the orchestrator which tier to use.
- Sends bulk work to a batch API at half price. In development; private first, a public repository is planned.
Also building, no repository yet: Prompt Rambler (talk your way into a good prompt).
Unburden Root, in more depth
- The multi-agent harness I run my own projects on, with named roles, shared memory and written rules.
- A PII guard fails closed (it refuses when unsure) and has its own test cases. Private. Built since July 2026.
Paintings: oil-paint renderings made from reference images I collected; the skiing and snowboarding scenes are inspired by Werner Bronkhorst. Type: Antonio, Big Shoulders Display, Instrument Serif, Abril Fatface and Hanken Grotesk (SIL OFL 1.1).




