-
Ten Times Zero Is Still Zero
How I actually work with AI, and why it holds up. AI is a multiplier, not an addend; it multiplies what you already are, and ten times zero is still zero, so I made sure I wasn't zero first. Then the receipt, pulled from this portfolio's own git history: more documentation than code, written fast, with an AI co-authoring every commit. Professional vibe coding is the human writing the rails and the AI writing much of the code inside them. Includes the playbook.
-
The Console I Built to Stop Drowning
The story of the Course Console, and how it grew out of a scaling problem. Going from four classes to seven made attendance alone unmanageable, so I built a data-free QR scanner: signed codes a student cannot forge, scanned on my phone, verified by a workflow. That scanner taught me a shape, a page that holds no data, reads my repos live, and writes back only through one reviewed door. The same shape then swallowed grading review: AI-proposed grades render in grain type until I approve or edit them, at which point they go clean, and nothing reaches a student until I turn my decisions into a prompt I have read. One console, two tabs, one rule: the machine drafts, I sign.
-
I Was Shipping Faster Than I Could Understand It
How I got back on top of AI-assisted work across a dozen repos: one shared workflow instead of a dozen improvised ones. A work-triggered heartbeat (a doctor at every session start, CI on every push) that makes skipped chores visible, an accountability contract (a run ledger, declared rails, and verification by a second pass) that keeps an unattended run honest, and a documentation discipline borrowed from aerospace manuals and from Addy Osmani's writing on loop engineering. One person applying the shape the field agrees on, honest that it isn't proof it scales to a team.
-
I Finally Ran the Benchmark I Kept Promising
I built the same small blog four ways, my native stack, the same stack with the browser doing the HTML swap, Astro, and Next, and measured what each ships for one identical filter. Next sends about 118 kilobytes of JavaScript where my stack sends two, roughly 162 times more, with the same rendered HTML and the same SEO on every build. Declarative Partial Updates, a new browser primitive, pushes the cost lower still by letting the server stream fragments the browser patches in with no library, though it is a flagged experiment and not safe across browsers before about 2027.
-
Where were we?
AI coding sessions lose their plan state between sessions: it lives in prose docs, memory files, and handoff prompts that both operators have to re-read. PROOF is a small open-source tool that standardizes AI plans as markdown files with six frontmatter fields and renders them as a live kanban board. The files are the source of truth, the board is a projection, and the AI never maintains the board. Written as the argument for building it; PROOF has since shipped, and the dated update at the end closes the loop.
-
This Site Feels Like an App. It's a Stack of Full Page Loads.
A technical tour of how tjakoen.github.io is built, and why it is a different way of doing things: the single-page feel is a cross-document View Transition, not an SPA; there is no build step, because a Bun server composes the HTML and the static site is a frozen crawl of it; there is no client framework, only a handful of small scripts leaning on native browser elements; writes go through one path that also runs with no server; and the whole thing is three layers stacked one direction. The AI side of the story lives in its own whitepaper.
-
The Browser Grew Up While I Was Busy With Frameworks
I spent years inside frameworks because the native web platform couldn't do the job. It can now. Here is the specific, mildly technical account of the browser features (View Transitions, the dialog element, details, has, color-mix) that let me build a whole stack with no framework and no build step, what that actually buys you, and the honest limits, plus the benchmark I finally ran.
-
How I Turned a GitHub Org Into My Whole Classroom
The maker's story of a GitHub-native course platform: GitHub is the LMS, a repo is the coursework, a push is a submission, and grading is an Action. How the "repo is the platform" reframe fell out of having no budget, the one-engine-many-courses design, and the unglamorous bugs that turned out to be the real work: access control, scoped tokens, and treating repo names as data.
-
I Nearly Quit Teaching. So I Automated the Part That Was Killing Me.
Why I teach when the math says I shouldn't, how I run a classroom (treat adults like adults, lean into self-study, skip the fluff, go straight at the hard parts), and how, after a semester that nearly made me quit, I automated grading and coursework onto a GitHub-native platform so the mechanical grind stopped stealing the time I actually wanted to spend on students.
-
I Built a Whole Stack Because No To-Do App Would Have Me
How trying to organize my own life turned into a no-build stack, a design system, a content engine, and an AI that manages me.
-
One Vocabulary, Two Operators
A research-style positioning of GRAIN, an AI-interaction design system: a UI where a human click and an AI decision resolve to the same closed, semantic action-vocabulary through one write door, with the AI's presence disclosed as an in-surface provenance signal. The contribution is an alternative *modality* for AI, a design-system claim, independent of what is built with it or where it runs.