HoneyConf 2026 Talk
I gave a talk at HoneyConf 2026 (a dev meetup in Montreal) about seven personal projects and what they taught me about AI. The goal was to show how I went from naive hope, fell into the trough of disenchantment, and then climbed out the other side until the tool became just that: a tool. Here's the short version.
The deck and artifacts are at the end.
The curve
The curve: hope, trough, just another tool
I started top-left: "AI's gonna write my code for me", vibe-coding, miracle... And then I fell into the trough. It doesn't work. Or it works one time out of two. I'm thinking "damn, this is garbage".
So I decided I wanted to push through the trough. On the other side, AI becomes a tool again: useful once you've crossed, but never as high as the initial hope. Not magic. Not an existential threat. A tool.
Two fears in the background
Two fears pushed me through:
- Now: fear of losing my job. Not in five years. In September. That's the fear that makes me keep trying AI even when it disappoints me.
- Later: fear of being left behind by the tech. I love this field, I want to still be hirable in 5-10 years. That's the fear that puts the tool back in my hands after I've dropped it.
The cautious start: Window Café
First serious project with AI from day 1: I was becoming a dad, I wanted it to work. I started slow, extremely cautiously, using AI to add things like PostgreSQL + Prisma, Docker, linting, tests, etc... but no major features.
At the start, that meant a lot of churn (and wasted tokens): AI would write the feature, the tests would break, it'd fix them, we'd start over. Many, many times. The lesson, learned: encode the guardrails into the rules to steer it from the start, instead of letting it correct continuously at the end and dig itself out with re-runs.
→ window.cafe (opens in new tab)
The YOLO middle
Once the caution was digested, I pushed hard to see where AI could take me when I gave it more control and freedom:
- This anti-framework blog, 8 invariants. Built statically, from scratch — no static-blog framework, just Vite + 7 in-house plugins. First adoption of pre-built agents (
agency-agents(opens in new tab) by Mike Sitarzewski — UI, UX, designer, researcher, called in sequence). - Destiny and how to learn astrodynamics by shipping. A 3D browser game where I wanted to push AI usage and use it for everything: Gemini for the 2D ship design, tripo3d for the mesh, Gemini for the HUDs, Lyra for the code rules, Claude.AI for the domain research (KSP's patched conics), Claude Code to execute. The lesson: Use the right AI tool for the right job · don't stay locked in a single LLM · tests + git history = externalized memory.
- CityForge — how to learn from your mistakes. First time with
/plan. I threw away the v1 prototype and started over, encoding the mistakes from the start. Six agents in parallel, five days, zero reverts.
Three more projects, three more lessons
- Encaisse — formalizing my learnings. First
/get-shit-done, three AI prototypes I went through before the final boilerplate. CASL learned mid-build./evolvewas born here,/commit-messagegot formalized, first git worktrees, first multi-agent flows. Three path-gated rules so AI loads the right context based on the layer being touched. → encaisse.ca (opens in new tab) - Home Nexus — AI at home. Three household problems solved with AI: an
INFRASTRUCTURE.md+ runbooks, an SSH CA so my hosts can sign each other, and a Traefikservices.confwith compiled rules. The lesson: pass the context between tools to get fresh eyes, and encode the mistakes into theCLAUDE.md. - My Daughter's Little Book — consistent characters across 20 pages. A picture book for my daughter, seven or eight Gemini threads in parallel. The discovery: same thread = the model drifts; new thread + same
BABY_CORE= my daughter stays visually consistent. Switch threads, but encode what needs to stay stable.
A typical session
The way those lessons materialized is in the following loop:
A typical session
A SETUP once per project feeds the loop: PLAN → SPEC → BUILD → DECIDE → REVIEW → COMMIT. At DECIDE, you can throw it away and start over with the learnings. After COMMIT, a big red arc loops back to the start: what you keep, you encode into CLAUDE.md, into the rules, via /evolve.
Wrap-up
Crossing the trough taught me that AI isn't magic. It's just a tool. That you need to keep a fast feedback loop to learn what works and what doesn't, and encode it into the system for the next session. That you need a human in the loop to decide when to follow the AI, when to correct it, and when to throw it away and start over. And that what works for humans works for AI too: it needs rules, guardrails, context, memory, a plan, a spec...
- mdcommit-message.md4.4 KB
- mdevolve.md6.8 KB
- mdhandoff.md423 B
- mdhome-nexus-CLAUDE.md2.7 KB
- mdlyra.md2.8 KB
- mdresume-from-handoff.md1014 B
- mdwindow-cafe-accessibility.md6.4 KB
- mdwindow-cafe-animations.md5.1 KB
- mdwindow-cafe-audit-rules.md2.3 KB
- mdwindow-cafe-design-philosophy.md4.3 KB
- mdwindow-cafe-react-hooks.md2.9 KB
- mdwindow-cafe-rules-standard.md5.2 KB
- mdwindow-cafe-testing-standards.md5.7 KB
- mdwindow-cafe-tooling.md4.3 KB
- mdwindow-cafe-update-rules.md1.5 KB
Thanks to the HoneyConf folks for being there!