u/AdmiralMontana

I built an app to collect and annotate samples in place for domain-specific needs

Some time ago I started diving into ML with Andrew Ng's Coursera course, was quite interesting.

I decided to train a small handwriting model for Georgian (my native language) - current models don't recognize it well - just for fun.

So I started writing letters on paper, taking photos on my iPhone, copying them to my laptop, annotating there, and passing them to the training script. It was very tedious.

I looked for an app that could handle it on the phone - take a picture, annotate in place, export to whatever format. There were a few tools but none fit what I needed. So I thought, why not build the simple app myself.

It looked simple, and it was, nothing complex. But then I was on a train, no internet connection on parts of the route, and it hit me: ah, it should be offline-first. I had to redesign the whole approach - offline-first, sync, conflict resolution. Built that myself too, was an interesting challenge. I now use it for training Georgian handwriting with Kraken, which is an interesting part on its own and something I enjoy.

Then I thought, why not generalize it. Basic idea: a tool for easy collection of domain-specific data that doesn't exist yet. I started it as a single-user thing, then decided to make it multi-user/collaborative - so imagine students sitting in class occasionally photographing handwriting, and all the data gathered in a central place where an admin can review and export it to ML pipelines or other tools.

I also added on-device SAM (Segment Anything Model) to draw polygons around objects automatically, no internet needed.

The tool is simple, the idea's nothing fancy - I started building it for myself and had fun with it. Not sure if there's an alternative out there. I did look and didn't find exactly what I needed: simple tool, take a photo, annotate multiple regions, organize into spaces (organizations) and projects.

It's early alpha, iOS-only for now, up on TestFlight if anyone wants to poke at it. It's rough, critical feedback very welcome.

Curious if anyone else has had to build a dataset from scratch for a niche domain - how did you handle the collecting part?

u/AdmiralMontana — 1 day ago