Cigarista
An AI cigar identifier and digital humidor, shipped on Android and the web after Apple said no.
- Role
- Founder; product, design and engineering
- Period
- 2025 to present
- Scale
- 1,800+ members · 17,000+ vitolas (Oct 2026)
- Status
- Live on Android and web

What problem were we solving?
Cigar people keep notes on napkins, in phone photos and in their heads. Most of it gets lost. The first hard part is knowing what you’re holding: bands are small, brands run dozens of lines, and the same blend comes in many sizes.
Cigarista is a private ledger for a collection. Snap the cigar, get the exact marca and vitola back, and keep every smoke worth remembering in one place. I started it in February 2025 because my dad loves cigars. I knew nothing about them, and I wanted something we could talk about.
What was my responsibility?
All of it. I design, build and run Cigarista through Mind Meat Machine, my LLC: the product, the Android and web apps, the identification pipeline, the catalog, payments and support. I answer the Google Play reviews myself.
As of October 2026 Cigarista has more than 1,800 registered members, Google Play lists more than 1,000 Android downloads, and the catalog holds more than 17,000 vitolas.
What consequential decision did I make?
Go around the App Store
The first version was a native iPhone app. Two months in, in April 2025, I started over in Kotlin with Compose Multiplatform. We used Kotlin Multiplatform heavily at Fanatics and I didn’t really know it, so this was a good chance to learn it. It also meant one codebase could build both the Android and the iPhone apps. Android went live on Google Play in July 2025. The iPhone build came from the same code, and by December 2025 a waitlist page was collecting sign-ups for it. A couple of hundred people joined.
Apple rejected it. The App Store doesn’t allow apps that relate to tobacco, and a collection tracker for adults 21 and over got no exception. I appealed for months, and Apple stood by its call.
I could keep arguing with a reviewer or ship around one. Because the app was already one Kotlin codebase, I added the browser as a third target on May 20, 2026, compiled to WebAssembly. Two days later it installed to an iPhone home screen like any other app, synced with Android and desktop. It opened to everyone in early June 2026.
Leaving the App Store also meant leaving Apple’s billing. Web subscriptions run through Paddle, and a single entitlement record keeps a member’s Premium status the same on Google Play and the web.
Show the real confidence
The camera is the main interface. The model reads the band typography, wrapper shade, oils, veins, foot and ring gauge, and returns a marca and vitola in about ten seconds. On a clear photo of a banded, unsmoked cigar it is right more than 97% of the time.1
Since May 31, 2026 the model grades its own answer against a written rubric. A legible band can score 90 or more. A blurry, cropped or band-less photo must score 70 or below. A chip on the result card says “Identified,” “Best guess” or “Low confidence” to match.
What happened?
The humidor holds what you own; the wishlist holds what you want. The rest is bookkeeping a collector would otherwise do by hand. Resting timers start the day a cigar is logged. Running-low and out states appear on their own. “Got one” moves a wishlisted cigar into the humidor in one tap.
Every review feeds a What I Like profile: a short summary of a member’s palate, written in the first person from their own ratings, so they can read it to a tobacconist. Recommendations come from that profile, each with a match score and a reason.
The early reviews were fair. On Google Play, people said search went blank on the second word and the catalog had gaps. I rebuilt search, made it free for everyone in June 2026, and kept growing the catalog. As of October 2026 the listing has 3.8 stars from 15 reviews.
The web app has limits the Android app doesn’t. On Android, a small on-device model lights up the viewfinder when a photo is good enough to scan. On iPhones with little memory to spare, the same model starved the camera, so in August 2026 I took it out of the web app.
No ads, no data resale, no dark patterns.
That line sits above the pricing, and it constrains the business. The humidor, wishlist and search are free. Scans are metered, since each one is a paid call to Anthropic’s Claude. Members get two free, 35 a month on Premium at $7.99 a month or $79.99 a year, and packs of 20 for $6.99 or 100 for $24.99 that never expire. Since February 2026 a scan uses a credit only when it returns an answer.
Billing is where trust is easiest to lose. So billing follows one rule: only the server can take Premium away, and when the system can’t tell, the member keeps what they paid for.
What did I learn or change?
One gatekeeper is a single point of failure. The April 2025 rewrite is why, once the appeals ran out, iPhone was a few weeks of work away instead of a second app. On the web, nobody reviews an update between me and the people using it, and fixes ship when they’re ready. Given the choice, I’d still ship native. WebAssembly in a browser has clear limits, like the on-device camera model I had to take out of the web app.
When the system isn’t sure, say so, and settle the doubt in the customer’s favor. A confident number on every answer would look more finished than “Best guess” and be less honest. The same rule runs through billing: a failed scan costs nothing, and an unclear subscription stays active.
One person can now build the whole thing. In my essay on coders and builders I argued that AI multiplies the output of generalists. Cigarista is where I tested it: I wrote the specs, made the product calls and reviewed the work, and AI coding agents did much of the typing.
1 Most misses are cigars from very small boutique brands. Accuracy also drops for rare regional releases, damaged bands and partly smoked cigars.