Hi, I’m John Kueh.
I grew up in Malaysia and live in Sydney. I build software, mostly with AI agents doing the heavy lifting these days. I've been tinkering since I was a script kiddie in the 2000s.
Away from the keyboard I cook. I've been at it since I was fifteen, and we used to host a lot of dinner parties. My standing backup plan, if the models ever finish eating my job, is a curry shop: Malaysian, Indonesian, Indian, all of it. Someone in Melbourne has already opened the shop I want, which hurts a bit.
I also play golf. I drifted away from it, then got obsessed again a couple of years ago because all my friends play. I own an aftermarket shaft I love and can't prove does anything.
Flare is my own backend for apps, on Cloudflare: offline-first sync, auth, feature flags, analytics and crash reports from one Rust core. GLP3, Snuglog and LedgerSignal already report through it.

reels.chat is an agent that watches viral TikToks and Reels and hands back the hooks that worked, with the videos as receipts. Its model mix is chosen by evals; one run screened 2,752 videos and watched 150.

GLP3 is a medical wiki run by an autonomous SEO loop that checks its sources before it writes, plus a tracking app. It grew from zero to 1.4m search impressions.

Snuglog is a calm baby tracker for 3am: one tap per feed, nap or diaper, and a care plan for eczema and allergies.

LedgerSignal reads thousands of bank transactions for insolvency teams and flags the payments worth recovering.
What I’m into lately
- Curry, seriously. I started a curry TikTok as a test run. If it grows, the shop stops being a joke.
- Golf, in theory. I haven't played for months. I'm building SwingCam, an AI practice coach, so I can at least think about my swing.
- Learning native Swift. I'm moving off React Native for my own apps and seeing what I've been missing.
- Building outside my comfort zone. Rust, iOS, whatever the problem needs. Vibe coding in a stack I don't know yet is still the most fun part of the job.
- Japan, again. Planning a trip, with an agent dropping every place onto my Google Map.
Short things I believe, written down so I can be wrong about them later.
- Treat an LLM like a calculator. You don't credit a calculator, but you do check its work.
- Don't outsource the thinking. The lazy move right now is to let AI make every decision. Keep the critical thinking; it's what keeps you human on the other side of this.
- Write the foundations by hand. Anything an agent loads early (plans, todos, skill files) I write and read myself. Tight foundations compound the longer agents run.
- Experiment first, then make it repeatable. Work a problem inline until it's good. Then have a fresh thread read that history and distill it into a workflow. It fixes the real issue instead of over-engineering.
- The moats left are data, network effects and attention. Anything else gets generalised away sooner or later.
- Soft skills were underrated in engineering. Communication matters more than we priced it, and AI is making that obvious.
- The best sales aren't salesy.
- The best content is still written by people who know the thing.
- Cooking is a very human thing. It's the one skill I'm sure is safe.
Longer write-ups live in build-logs/.
I love music, and I'll happily lose an evening to musicians breaking down how a pop hit is built. I explain AI models with a relative-pitch versus absolute-pitch analogy more often than is normal.
My side project here is Chords.rip: paste in any song and get karaoke-style pinyin with guitar chords placed on the right syllables, so you can strum along and learn it.
On repeat right now, all Mandopop
- 01Firdhaus (菲道爾)能遇見,就很不錯了 (Néng Yùjiàn, Jiù Hěn Bùcuò Le)
- 02Crowd Lu (盧廣仲)刻在我心底的名字 (Your Name Engraved Herein)
- 03Jay Chou (周杰倫)聽見下雨的聲音 (Tīngjiàn Xiàyǔ de Shēngyīn)