Building GemID — a cross-platform SaaS, shipped solo

A gemstone-identification and exam-prep app with a decision engine, payments, and fifteen languages — designed, built, and shipped to the App Store by one person.

FlutterFirebaseNode.jsTypeScriptStripe

The challenge

Gem identification is a genuinely hard problem — it comes down to measured physical properties (refractive index, specific gravity, fluorescence) and a process of elimination, not a photo. The apps that existed guessed from pictures. The goal was software that reasons the way a gemologist actually does, running across web, iOS, and Android — and it had to be built and shipped by one person.

The build

At the core is a deterministic decision engine — a rules engine that narrows candidates by their properties and shows its work, not a black-box guess. Around it: Flutter for a single codebase across web, iOS, and Android; a Node.js and TypeScript backend on Firebase; subscription payments through Stripe on the web and native in-app purchases on mobile; a multi-tenant workspace system; offline-first data; and localization into fifteen languages. All of it behind a full CI/CD pipeline with staging and production environments.

The result

GemID shipped to the App Store and is in active use, growing organically. More than any single feature, it's proof of the whole loop — conceiving a product, building every layer of it, and getting it into real users' hands, solo. That's the same loop I run for clients.

Have something like this to build?