Building Labi

Day one: Labmate

2026-05-08

Every project has a day where it doesn't exist yet, and then a day where it does. This was that day, and the app wasn't even called Labi.

It was Labmate, and the first commit wasn't a "hello world" — it went straight for the hard parts. OCR scanning to pull text off a photo of a protocol. A timer system, because the whole idea only means anything if the app knows what step you're on and how long is left on it. A navigation pass, so the thing could actually be used rather than just demoed. All of it, the same day.

The theory underneath it was simple and it didn't change for the rest of the project: a bench scientist running an experiment doesn't need another notebook. They need something that knows where they are in the protocol and doesn't make them think about it while their hands are full. Everything that got built afterward — the database, the AI parsing, the protocol library — was in service of that one idea. Some of it worked on the first try. Most of it didn't, and that's really what the rest of this story is.

By the end of the day there was a v1.2.0 tag, ProGuard rules for the release build, and a timer sound. Nothing about it looked like the start of a two-month project spanning two apps' worth of features. It just looked like a long Thursday.


← Back to Blog