Case study
Reco
One profile for everything you watch, play and read. You log what you finish, it learns what you like, and it tells you what to try next — including in formats you would not have thought to look in. I am building it with two friends and own the backend and the recommendation side.
The problem
You finish a game that stays with you for a week and you want the next thing that hits the same way. The next thing might be a novel, but no product today would make that connection. You are reading Sapiens, so play Assassin's Creed II, then watch Kingdom of Heaven. That jump exists — people make it all the time — but software does not.
Letterboxd tracks film. Goodreads tracks books. Backloggd tracks games. Each one works on its own. The problem is that your taste is one thing and it lives across three accounts that never speak to each other. Every recommendation you get is drawn from a fraction of what you actually like, because the app only sees one format.
Who it is for
People who already live this problem and have built their own workaround: they keep accounts on Letterboxd, Backloggd, Goodreads, or some combination, and patch them together by linking one from the other in their bio. That habit is visible on those platforms, which means the first hundred users are people I can go and find one at a time rather than a group I have to describe and hope exists.
What we build first, and what we leave
- Every format is equal from day one. Games, film, TV, and books all get the same depth of logging, rating, and recommendation. The whole reason to exist is that nobody else treats them as one thing, so we cannot ship with any of them as a second-class citizen.
- Functional before beautiful. A consumer social app has to feel good eventually, and the person who owns design knows that bar. But the look will keep changing as we learn what users actually do, so the first version should work well enough that it does not get in the way, not be polished to a point where we are afraid to change it.
The thing that decides it
Recommendations have to feel found rather than generated. The connections I want Reco to make come from people who have already made them, and at the start there are no people. What the first users will actually get is software noticing that two things share a theme, which is a real gap between what I want to promise and what I can hand someone on day one. The honest move is to describe the early version as the thing it is — thematically similar — rather than the thing it becomes.
Where it stands
Pre-launch. Friends and family first, then a waitlist, then invites to get enough good taste on the platform to be worth reading, then open to anyone. Each one waits for the last.
Questions you might have
How do you know if a recommendation is good? Right now, I do not, not precisely. The first metric is whether someone logs the thing we suggested. But that only tells you they tried it, not that the recommendation was the reason. The better signal will be what happens after: do they rate it, and does the rating track with what the system predicted? That feedback loop does not exist yet because there are not enough users to close it.
Why not start with one format and expand later? Because the whole reason to exist is the cross-format connection. A film-only version of Reco is just a worse Letterboxd. The value is in recommending a book because of a game you played, and you cannot demonstrate that with one format. Shipping all four on day one is harder to build, but it is the only version that tests the actual thesis.
What if the early recommendations are not good enough?They will not be. With few users, the system falls back on metadata similarity rather than taste graphs, which is useful but not magical. The plan is to be honest about that: label early recommendations as "thematically similar" rather than "recommended for you," and let the language upgrade as the signal does. Overpromising on an empty platform is how you lose your first hundred users.
Express, TypeScript, Supabase, OpenAI embeddings, React Native, Expo.
In progress, pre-launch.
Back