-
-
An example day: Athletic Brewing drinkers in Austin, ten doors on a Tuesday afternoon as one driving loop.
-
One door three ways: without Qloo's taste data, with it, and after her visit.
-
Tuesday's route: ten doors in driving order, each open when she gets there, with who drinks there from Qloo.
-
Three afternoons, three loops, on the map. What to say at the door: who to ask for, the opener, the line for the buyer, and the ask.
-
What to say at the door: who to ask for, the opener, the line for the buyer, and the ask.
-
She asks the Doors Agent why her #1 door isn't her first stop. Every fact in the answer shows its source.
-
She logs a visit and the days ahead re-plan around it.
-
Thursday's follow-up: the same door's card before and after what she logged.
-
Why a door is on her list: Qloo's read on its crowd, and why it's #1 for her customers.
-
Drive mode on a phone: she says how the visit went, and Doors reads it back before saving.
-
The full-screen map on a phone, with the neighborhood and other-days layers.
Inspiration
When a small drink brand breaks into a new city, the founder and maybe one distributor rep get a few days to walk into bars and restaurants. Most of them pick those doors from a spreadsheet, a broker's tip, or the places everyone already knows. It's a guessing game, and every "no" burns runway. Qloo's taste data knows which bars have regulars who drink like your customers. We wanted to turn that into a plan a rep can actually drive.
What it does
You fill out a short profile: your drink, a few brands your customers already buy, the city, the kinds of places you pitch, where you start, and the days you're out. Then Doors:
- Ranks every bar and restaurant in the city by how well its regulars match your customers, and says why each one made the list.
- Plans each day as a driving loop on real roads, with every door open when you get there.
- Writes what to say at each door: who to ask for, an opener, the line for the buyer, and your ask.
- Lets you ask the Doors Agent why a door ranks where it does, or change the plan in plain words ("I have to finish by 4", "make my opener shorter").
- In drive mode, shows one door at a time. You say how the visit went, it logs it, and the days ahead re-plan around it.
How we built it
- Qloo Insights API: we ask for places in the city with your customers' brand as the signal, filtered to bars and restaurants, with a popularity cap so the list is doors you can actually get into, not just the most popular ones. Qloo's profile of each door's crowd is where the reasons and the talking points come from.
- Cloudflare Workers run the planner and the API. The web app is plain JavaScript, with MapLibre maps on OpenStreetMap data and real road times.
- Claude powers the Doors Agent and writes the talking points, with Workers AI and Gemini as backups. Every fact in an Agent answer shows where it came from, and code checks every change the Agent makes before it happens.
- Solo dev built with Claude Code.
Challenges we ran into
- Ranking alone sent a rep across town for one good door. A plan has to be days a person would actually drive, so each day is a loop and a door only goes on it if it's worth the extra driving.
- Bars open at different times, so a door only goes on a day if it's open when you get there.
Accomplishments that we're proud of
- A guided tour inside the real app that walks through the whole thing in a couple of minutes.
- A plan you could drive tomorrow, with a reason for every door on it and every door left off.
- Drive mode you can use hands-free on a phone.
What we learned
- Taste data tells brands in the same category apart much better than popularity does.
- A bar where you already sell works as a signal too: one call finds more doors like it.
What's next for Doors
- Native iOS app.
- Feeding visit results back in, so Doors finds more doors like the ones that said yes.
- Putting it in front of real founders and reps.
Built With
- anthropic
- claude
- cloudflare-workers
- gemini
- javascript
- maplibre
- openrouteservice
- openstreetmap
- osrm
- qloo
- workers-ai
