Blog
Notes from Torrin Leonard on building software, running a homelab and the tools worth owning.
- · 3 min read
Building Equator's AI Proposal Writer From the First Commit
Engineering firms win work by answering RFPs. I made the first commit on Equator's AI proposal writer, which drafts those answers from a firm's own past work, and was its largest contributor. This is the part I built.
- · 5 min read
Techtoberfest 2026, Day Two
Day two of Communitech's Techtoberfest: a keg tapping, eight Waterloo founders on stage, and what I took home from two days at the Tannery.
- · 3 min read
Techtoberfest 2026, Day One
Day one of Communitech's Techtoberfest at the Tannery in Kitchener. A keynote by Vass Bednar, three panels with investors, and two hours at the Biergarten.
- · 5 min read
I Run a Startup Directory Alone, and Claude Code Writes the Code
Builderloo lists 851 Waterloo Region startups. I run it by myself, and Claude Code writes almost all of it. Here's how that works, and a few times it went wrong.
- · 4 min read
BlackBerry's Maker Sued Its Own Co-op Student's Startup
In 2010, Research In Motion sued Kik, a Waterloo startup run by a former RIM co-op student. Three years later, BlackBerry put BBM on the iPhone.
- · 5 min read
A Time Tracking App Wanted $28,800 a Year, So I Replaced It With a Homelab
Harvest raised my parents' time tracking bill to $28,800 a year. I moved their company to Kimai, an open source tracker, on our own server in one afternoon.
- · 2 min read
KWBuilds Is Now Builderloo, With a Forum for Waterloo Builders
I rebranded KWBuilds as Builderloo. It lists Waterloo Region startups and events, it has a forum for posting what you're building, and The Weekly is back.
- · 4 min read
Claude Code Ignores My Rules, So a Tiny Model Checks Every Commit
Claude Code keeps sneaking metaphors into my comments, and markdown rules didn't stop it. So a small decision model called Jev now checks every commit against my rules.
- · 3 min read
I Wrote a Web Framework, and I Didn't Write It for People
Every framework assumes a human is reading the docs. An agent opens the repo cold every time, so I built aweft for that reader instead.
- · 3 min read
I Walked Into Elevate and Walked Out of Nrth
Day one of the festival that used to be Elevate. They renamed it during their own opening night, and I happened to be in the room.
- · 1 min read
Kimai time tracker setup guide.
A quick, copy-paste Docker Compose setup for running Kimai with a MySQL backend. It walks you through creating a .env, launching the stack, and getting Kimai reachable on port 8001.
- · 2 min read
When is the best time to Open Source?
When is the best time to take that private repo public? Does it matter if everything is working?