Mobile App
The first thing you buy for a hobby is never the last.
Role
Product Management
Product Design
UX Research
iOS Development
Company
Karomi Studio
Platform
iOS

Overview
Rabbithole is where people who are into a hobby keep what they own and what they're putting together. You name a thing you have. It shows what it takes to own it: what comes in the box, what people usually get to go with it, and when. You keep the ones you have, and the rest become a short list of things to find. A month later it asks if you're still using it.
I own the product end to end. The design and the lookup pipeline are done. The beta app is the current build.
Problem
Every hobby starts with one purchase and keeps going. The desk needs a monitor arm, the arm needs a different clamp, the camera needs a card, a reader and a second battery, and the espresso machine needs a grinder that costs more than it did. Nobody tells you this up front. Retailers show you what sells beside the thing. Review sites tell you which one to buy. Assistants will list accessories, but they guess, and they have no idea what you already own.
The honest version of that answer sometimes says you don't need the thing. No affiliate model pays for that sentence.
Solution
Make the record the product and the answer the way in. One page per thing, written once and read by everyone, with your own record laid over it: what you have is marked, and the gaps it covers are skipped. Looking anything up is free, always. Asking a question costs a credit. No affiliate links, no ads, no brand money, so the app can say “skip it” and mean it.
The more people keep, the more honest the answers can get, because they can be checked against what people actually own and still use.
Status
In development. The spec, the wireframe map, and the lookup pipeline are complete. The first beta is being built, backend first, for one hobby.
What you can do
Look a thing up. Type its name and you get its page: what it is, what's in the box, what goes with it and when people usually get those, and where the maker sells it. Free, every time, and the same page whether the answer was stored or fresh.
Keep it. Have it or Want it, into a desk, a build or a bag if you choose one. The hobby names the thing you're building; nobody ever sees the word “setup”. A kind of thing with a count, like six USB-C cables, is a valid record.
Fill the gaps. From a thing's page, track what goes with it. It shows up on your desk as something you're looking for, with Learn more one tap away: what people actually chose, so you can pick the one you have, want one, or decide you don't need it.
Ask. For anything a page can't answer: will these two work together, which of these is better for me, what am I missing. One sentence back, then cards. Every card is a thing, and every thing opens its page.
Check in. At one, three and six months Rabbithole asks “still using it?”. Yes, sometimes, or stopped. That one question is the signal nobody else has: the thing people bought and didn't need.
Share and look back. Share a desk as a kit. Follow friends and see what they added. Start your own from someone's kit. And see what you've spent, and how much of it went on things you stopped using.
Where it started
The first version, in spring 2026, was a browser extension that would pop up the true cost of ownership while you shopped, paid for by a Pro tier and affiliate links. The pipeline worked. The product around it never felt right, and the research that autumn told me why.
The answer was the commodity. The record was the product. I had them the wrong way round.
What the research changed
In September I ran thirteen research passes on every neighbour of this idea: collection apps, wishlists and registries, search-first review sites, the AI shopping features the big platforms ship, and the startups that tried this between 2022 and 2026. Three findings shaped what Rabbithole is.
Answers don't retain; records do. Review sites with published numbers lost most of their traffic when Google changed the rules, and the survivors moved to memberships. The apps that grew through the same years were logs with identity value: Letterboxd, Strava, PCPartPicker, Discogs. Chris Dixon's framing from 2015 still holds: a single-player tool is the kindling, but it has to be used again and again until the network exists. So the first session in Rabbithole records something, and check-ins give the record a reason to come back. The lookup is the way in, not the point.
Durable catalogs start narrow. Every one that lasted began with a scope small enough that one person's collection was a meaningful fraction of it; Discogs stayed electronic-only for its first two years. So Rabbithole launches in one hobby, with a catalog seeded from that hobby's products and grown by every lookup, and the hobby's own words on screen: a desk, a build, a bag, a rig.
A language model can draft the answer but can't be trusted with it. On a published shopping-retrieval benchmark, the best model with web search found a fraction of what human experts found, and its failure mode was plausible products that don't exist. So the pipeline reads the web once per thing, checks it found the right product before it saves anything, and stores one answer for everyone. Every example on every wireframe is marked as illustration; the rule in the spec is that the pipeline's output is the truth, not the mock-up.
Key decisions
One page per thing. The answer is written once and stored once. What changes is how you read it: things you own are marked, friends' things come first, and what fits the desk you're adding to comes first. The working animation looks the same whether the answer was stored or fresh, and the app never says which.
One router behind three fields. The Search field, the Add field and the Ask composer all take the same kinds of input: a thing, a thing with a question attached, a handle, a question. The app guides by offering, never by asking. The only question it asks back is “Which one?”. Typing never calls a model: shape rules on the phone, then the catalog, then one small extraction call only for text the catalog doesn't know, then the fresh lookup as a job you can watch.
Looking up is free. Asking costs a credit. The free thing is the generic answer for a thing, and the design makes sure that's the most a lookup can give anyone. Ask is the only metered act, and a thing named inside an Ask is still free.
Sign in at the first write, and nowhere else. You get one anonymous turn. The first thing that writes raises Sign in with Apple, and there is no “Not now”. It never appears on Library.


The first five minutes
No onboarding flow to maintain. The first launch is a field, typing gives the same results Search gives, and the page opens itself. Everything after that is the app working normally.





Day to day
Three tabs: Library, Friends, Search. A floating Add on Library. Ask is a pushed screen, never a sheet, with what it's about attached in the composer.




The map
The wireframes are laid out the way the app is built: one row for every way in, one column for every stage. A shared screen sits in the same column whichever row reached it. Forty-four boards in all; four of the nine rows are shown here.

The pipeline
The lookup runs today as a Python tool: an Exa search, a model that reads the pages into a structured answer, and an identity check that refuses the answer if it isn't about the right product. A fresh lookup costs about a cent and takes five to eleven seconds. A stored one costs nothing. The grading tool is kept alongside it so that what gets measured is what's live.
What's next
The beta backend, in order: the schema, the lookup on a server keyed on the thing, catalog search as you type, accounts, and Have creating the things to find. Then the app in three steps: enough to run a beta, the loop (check-ins, friends, shared kits), and Ask in full. Alongside it, a graded run on the first hobby, so answer quality is a number before anyone outside the house sees it.