InsOuts was a marketplace that tried to take the guesswork out of getting a haircut. Patrons could see whether a barber was busy, watch their place in line move in real time, request an appointment or a walk-in, pay in the app, and rate the result. Professionals published their services and hours, took requests, and accepted or declined them. It shipped across three platforms, built mostly solo in 2018.
The one idea still worth keeping: booking was request-based, not instant. A patron did not grab a slot; they sent a request, and the professional accepted or declined it. Instant booking pretends a barber's day is a clean grid. Request-based booking admits it is a negotiation, and hands the professional the last word. The whole real-time layer existed to make that negotiation fast enough to feel live.
It did not last. The problem was real but people tolerated it, the marketplace never reached the density that made the live queue mean anything, and one person carrying three codebases had the least time for the one thing that might have saved it: getting out of the code to hand-build that first density. I didn't fail at building. I failed at the things that aren't building, and those turned out to be most of the job.
The full story is in the essay, The First Bet. The source, architecture docs, and an honest engineering ledger are archived with the project.