Fifteen years of Trello, then a plugin of a plugin
For about fifteen years, my boards lived in Trello. It was the right tool for most of those years — fast, obvious, friendly. Then, the way these things go, it grew. More menus, more Power-Ups, more upsells, more loading spinners. A tool I used to *think* with started asking for my attention instead. And underneath it all sat one fact I had managed to ignore for a decade and a half: every card I wrote lived in someone else's database.
Someone recommended Obsidian plus the kanban plugin (obsidian-kanban). The first time I opened a board and realized it was *just a Markdown file* — headings as lanes, `- [ ]` items as cards — something clicked permanently. The board wasn't an app's data anymore. It was my note.
The plugin-of-a-plugin years
obsidian-kanban eventually went quiet (GPL, unmaintained these days). I didn't leave — I did something objectively sadder: I started writing plugins *for* the plugin. Small patches around it, helpers on top of it, fixes for the parts that hurt on an iPad. Plugins for a plugin. There is no dignity in that sentence.
At some point the math flipped: rebuilding the whole table was easier than patching someone else's. So I did — clean-room, from scratch, MIT.
Cards, not kanban
The rebuild also fixed something conceptual that had bugged me all along. I never wanted "kanban" — workflow stages, WIP limits, process. What I had actually been doing since the Trello days was much simpler: spreading cards out on a table and tugging them around until they made sense. So that's what tugtile is — a **card table for Markdown notes**. Tiles are cards, `## ` headings are the lanes they line up in, and the table is a plain `.md` file.
tugtile's native tongue is tiles — but it speaks fluent kanban: obsidian-kanban boards just open (same frontmatter, same cards, same settings block, same archive), and the original markers stay in place until you choose to upgrade, so going back stays possible. If you're still on that unmaintained plugin: your boards are welcome at the table.
tugtile on GitHub — MIT, CJK-first, no network, no telemetry. Sister plugin marktile gives you the same editor as a standalone Markdown pane.
Keep reading
-
The despair that became a library
bleedblend started as a bug in reef — a sticky banner whose blur kept getting clipped at the notch. Instead of fighting Safari's chrome, we learned to paint it on purpose. This is the rabbit hole we fell down so you don't have to.
-
Spending cloud credit from a terminal
Anthropic gave every Claude Code account $250 of cloud-session credit. Spending it without burning the 16 GB machine on the desk turned into a division of labor: the terminal as dispatch desk, cloud sessions as the hands, the Air as the acceptance bench. Three hours of browser scripting before reading the first page of --help, then what the cloud cannot do, then a second account with nothing connected that found a real bug for two dollars.
-
Overrides on Overrides on Overrides
A ChatGPT-built portfolio site flashed on every load: a global style, a page style that overrode it with !important, and JavaScript that stamped classes on after load so the override could fire at all. Untangling it with agy surfaced Gemini's odd habits, a subagent that opened xkcd 353, and a lesson that measuring has to live in the system, not in the model's good intentions.