Telling Technology · Learning in public
All episodes
EP.34 — OPEN THREADS
A Claude Code workflow, on my phone

One markdown file tracks every open thread in my life

There was no live view of what was actually still open — a half-sent application, a security fix, a consulting rate I kept meaning to decide. The "proper" fix is a dashboard heatmap, but that needs a desktop session. So I built the usable-today version instead: one markdown file, plus a bot that ticks a thread off the instant I text close 3 from my phone. Writing it down surfaced 11 loose threads at once.

A phone showing a Telegram chat: the message 'close 3' sent, and the bot replying that thread 3 is now checked off — beside a markdown checklist file on a desktop where one line has just flipped from an empty box to a ticked one.
⌁ one text file · close from any device · 11 threads surfaced
The fancy dashboard could wait — the scrappy file could not ↓
01 The problem

Everything stalls mid-way — and nothing showed me what was still open

A security fix that's 80% done. An application letter written but never sent. A consulting rate I keep meaning to decide before a meeting. Each one stalls at a different step, in a different tool — and none of them shows up anywhere as "still open." My todo list only holds tasks I typed in; my inbox holds read mail; my repos hold uncommitted changes. There was no single live view of the threads actually left dangling across all of it. Out of sight, they quietly rot.

claude code — desktop
> what's actually still open across everything I'm doing right now?
No single place tracks that. Todos, inbox, repos, and half-finished drafts each hold a piece — but nothing shows the whole set of open threads at once. You'd have to check five tools and still miss the ones you forgot about.
Several stalled threads scattered across different tools — a half-written email, an uncommitted repo, an undecided rate — with no single view that collects them.
no single view
Open threads scattered across five tools — and invisible as a set
02 The pragmatic call

The real fix needs a desktop — so I shipped the text file first

The "proper" answer is a dashboard heatmap: a tile per thread, colour by how stale it is. It's even on the roadmap (todo #34). But that's a desktop build, and desktop time is exactly what I don't have this week. So I built the version I could use tonight: inbox/open-threads.md — one line per open thread, appended as new ones open. The trick isn't the file, it's the interface: I never edit it by hand. I reply close 3 from anywhere — phone Telegram, desktop terminal — and Claude flips that line from - [ ] to - [x] in the file my next session reads. A checklist with a chat interface, reachable from my pocket.

telegram → open-threads.md
> close 3
Closed thread 3 — "draft the consulting proposal". Marked - [x] in inbox/open-threads.md. 10 still open. (works the same from the desktop terminal — same file, same reply)
A phone Telegram chat: the user texts 'close 3', the AI bot confirms thread 3 is now checked off in open-threads.md with a count of the remaining open threads.
close from any device
Text close N from the phone; the desktop session reads the ticked file next
03 The unplanned part

Building it was a free audit — 11 loose threads surfaced at once

I only meant to build a tracker. Writing it down turned into an audit. The moment the file existed, 11 open threads stared back — and a couple were things I'd have sworn were done. A kill-switch check that had quietly failed three nights running. Personal data sitting uncommitted in a working repo. Two application letters written but stuck on a send decision. A consulting rate I still hadn't prepped for a meeting next week. The tool earned its place before I closed a single line: you can't close what you can't see.

inbox/open-threads.md
> list what's open
11 open threads: kill-switch failing 3 nights · uncommitted personal data in a repo · job letter #1 (await send) · job letter #2 (await send) · consulting rate prep · cold pitch drafted, unsent · stale follow-up · half-done security fix · … (2 I'd have sworn were already finished)
A markdown checklist file listing 11 open threads as unchecked boxes, each abstracted to a generic type like 'job application' or 'consulting deal' rather than a real name.
11 surfaced instantly
The file, the moment it existed — a backlog you didn't know you were carrying
🔒

Real names scrubbed for this page

The live file names actual people, companies and repos — so on this page every thread is abstracted to its type: "a job application," "a consulting deal," "a cold pitch," "an uncommitted-data repo." The private backlog stays private; the method is the point. If you build your own, keep the real file where only your AI session can read it — inbox/, never the public showcase.

04 The receipts

The whole loop, on four screens

Closing a thread from the phone, the checkbox flipping in the file, the one-line structure that makes it work, and the honest "why not the dashboard yet" note. Tap any image to enlarge it and read exactly what's on screen.

CLOSED LIVE FROM THE PHONE

Text close 7 — watch it tick off in the file the desktop reads next

This is the proof the loop works, not a promise that it will. From the couch, I text close 7. The bot flips line 7 to - [x], tells me how many threads are left, and the next desktop session opens the file already knowing that one is done — no re-sync, no app, no context lost between my pocket and my desk. The scrappy text file is doing the job the fancy dashboard tab still can't: it's usable today, from anywhere.

A phone texting 'close 7' beside a desktop terminal that has just read the updated open-threads.md with line 7 now checked — the same file, closed from two devices.
AIOS · inbox/open-threads.md + the close-N reply loop · shipped 2026-07-09
06 Steal this

One file, one reply — a life tracker you can close from anywhere

The method is free, and there's almost nothing to it. A markdown checklist your AI session can read, one line per open thread, and a "close N" reply that ticks a box from any device. No app, no database, no dashboard — just a file and a chat interface. Everything in this episode is free and open — clone it, run it, make it yours.

file inbox/open-threads.md reply close N → ticks - [x] rule never edit by hand bonus the write-it-down audit
the pattern # A checklist your AI reads, closeable from your phone: # inbox/open-threads.md — one "- [ ] N. thread" per line; reply "close N" from anywhere → it flips to "- [x]"

The sanitized starter file + the close-N skill are being cleaned up for release. Comment THREADS on the post and the bot DMs you both the moment they're public.

Next episode

Next: the scrappy file grows up — the dashboard heatmap (todo #34)

The text file proved the idea. Next I give it a face: a tile per open thread on the dashboard, colour by how stale it's going, still closeable from the same close N reply. The upgrade the pragmatic version was buying time for.

A darkened preview of the AIOS Telegram bot, hinting at the dashboard version of the open-threads tracker still to come.
drops soon · follow so you don't miss it