Home

Latest

All posts
  1. Why Sharing Myinfo Is More Than Autofill
  2. What Happens When You Scan a Singpass QR Code
  3. Why Singpass Becomes National Trust Infrastructure
  4. A Podcast Summarizer Taught Me That Summaries Are Not Understanding
  5. I Built a Small Harness to Stop AI Coding Projects From Forgetting State

Selected

I Built a Small Harness to Stop AI Coding Projects From Forgetting State

AI coding agents are powerful. But long-running AI coding projects break in a very specific way: the session is interrupted the context becomes too long the weekly quota runs out tomorrow’s agent forgets yesterday’s decisions the agent changes unrelated files the agent marks work done too early The problem is not that AI cannot write code. The problem is that AI coding projects often do not have durable project state.

AI-Native Software Engineering, Part 1: Mental Models in Agentic Coding

AI can generate code. Harnesses can validate behavior. But who builds understanding? This is Part 1 of the AI-Native Software Engineering series. The series asks a larger question: When AI lowers the cost of implementation, what remains scarce in software engineering? This article starts with the first scarce resource: Understanding. Over the past few months, I’ve been experimenting heavily with AI-assisted software development. Not autocomplete. Not AI as a coding copilot.

AI-Native Software Engineering, Part 4: Human Judgment Against Vibe Coding

You can automate implementation. You can automate evaluation. But judgment remains stubbornly human. This is Part 4 of the AI-Native Software Engineering series. It continues from AI-Native Software Engineering, Part 3: Software as Search. The first article asked how understanding forms. The second asked how correctness forms. The third argued that software is starting to look like search. This article pushes back on a dangerous misunderstanding: If we have agents, harnesses, and constraints, software can produce itself. That is not true.

Building a Private-to-Public Publishing Pipeline with Obsidian, Hugo, and GitHub Pages

I recently rebuilt my personal website around a simple idea: Keep Obsidian as the private source of truth, and selectively publish public notes into a clean personal website. This is less a Hugo tutorial and more a note about designing a publishing boundary between a private knowledge base and a public website. This article documents the architecture, tradeoffs, and workflow I ended up with. The repository names, URLs, and site pages in this article come from my own setup. If you follow the same approach, replace them with your GitHub username, repository name, domain, and navigation structure.