Skip to content
Joel Couch ← All the doors

I experiment with AI in the open

The 7am filing robot

Every morning at seven, a tiny program collects yesterday's meeting transcripts, works out which client each belongs to, and files it in the right folder. It is the smallest thing I've built and the only one running unsupervised.

Status
Running in production
When
August 2026, still running

Why I wanted it

My meeting notes were sitting in the note-taking app’s inbox instead of next to the rest of each client’s files. That is the whole reason. No grand vision. I just wanted the notes where the work is.

What happened

I wrote it in one day. It is about twelve kilobytes of code, one file.

Each morning it fetches new notes, then works out who they belong to with a four-step ladder, where each step only sees what the step above could not resolve. First, the email domains of the people in the meeting. Second, keywords in the title. Third, a small language model running on my own machine, which is only allowed to decide if it is at least eighty percent sure. Fourth, an “unsorted” folder, where each file records what was tried so I can turn a manual correction into a permanent rule.

If I move a file by hand, it notices and leaves it alone forever. Files are written to a temporary spot and moved into place, so a crash never leaves half a note in a client folder.

The things it deliberately does not do are the best part. It does not summarise, because the app already does. It does not watch in real time, because daily is enough. It started hourly and I turned it down to once a day the same afternoon.

Six weeks after I last touched the code, it filed a meeting this morning while I was doing something else.

What it looks like

A log line: synced 1, rewritten 0, unsorted 0. That is my favourite sentence on this whole site.

What’s next

Nothing, on purpose. If there is a lesson in everything I build, it is that the small, boring one that earns its keep is the one worth being proud of.