Inspiration
Most dating and friend apps match people on photos, age and distance. You swipe, you match, and then you do not know what to talk about or where to go. People connect through what they love: the music they play, the films they watch, the books they read. Based starts with taste.
What it does
You tell Based three things you love, for example a film, an artist and a book. Based finds friends or dates who like the same things. It shows why you match. Then it plans an evening at real places that you both like.
Agent first
Based is built around an agent. You can use the full app from the chat. Each main feature is also a tool that the agent can use. You do not need to find a button. You ask in plain words, and the agent does the work.
| You ask | The agent |
|---|---|
| "Why Chloe?" | Reads your shared items and explains the match |
| "I love Radiohead" · "I'm not into Dune" | Changes your favourites and ranks your people again |
| "Show me people who are different from me" | Changes the view and ranks your people again |
| "Why is nobody showing up?" | Counts the people that your settings remove, and tells you which change adds people |
| "Switch me to friendship" · "Only people 25 to 35" | Changes your settings |
| "Anyone in Lagos who likes Afrobeats?" | Searches people by place and taste |
| "What should I watch tonight?" | Recommends films, music, books, TV or podcasts |
| "Where should I eat in Lisbon?" | Finds real places that fit your taste |
| "Plan an evening with Maya in London" | Finds places that you both like, plus trips and things to share |
| "Show me my taste in Tokyo" | Opens the Atlas for that city |
| "Save Maya" · "Unsave Maya" | Changes your saved list |
| "Give me a link for my friend" | Makes an invite link for a real person |
The screen changes while the agent works. Your list ranks again, the map opens, and plans appear. The agent can do many steps for one question. For example, "I love Radiohead" makes it search for Radiohead, add it, and rank your people again.
The agent is honest:
- It changes your favourites or settings only when you ask, or when you say yes. The server checks each change.
- It reports only real results. It does not invent places, scores or reasons.
- It offers only the setting changes that add people, and it gives the number.
- It does not send messages to people, and it does not guess religion, politics or sexuality from taste.
How Based is different
| Other apps | Based |
|---|---|
| Match on photos, age and distance | Match on taste: music, films, books, TV and podcasts |
| A score with no reason | A score out of 100, with each shared item and its reason |
| You find a place to meet | Based finds real places that you both like |
| You fill in a long profile | You pick three things |
| You use menus and filters | You ask the agent, and it does the work |
Features
1. Start with three things You search for films, music, books, TV, podcasts or games. You pick three. You say "friends" or "dates" and give an age range. Based does not ask for photos. It does not guess your gender, religion or background from your taste.
2. People ranked by shared taste Based gets a list of recommendations for you and a list for each person. When two lists are almost the same, the two people get a high score. Your best match is at the top. The card shows the item that you share most, and which favourites on each side caused it. For example: "Radiolab, from your Interstellar and her Tame Impala."
You can change the view:
- Most alike: people with the most overlap.
- Different: people with some overlap but different favourites.
- Music: only music counts.
3. A score that you can check The score is out of 100:
$$S = 100\,(0.55\,O + 0.20\,M + 0.25\,T)$$
- $O$: how much your two recommendation lists overlap.
- $M$: if your favourites are in their list, and theirs are in yours.
- $T$: the taste themes that you share, for example "Dream pop" or "Atmospheric".
If there is no data, that part is zero. Based does not guess. The score shows shared taste. It does not tell if you will fall in love.
4. Your tastes change your matches Based shows things that you will possibly like. Tick one to add it. Cross one to hide it. Your list of people changes immediately. You can undo.
5. Fair plans for an evening Pick a person and a city. Based finds real restaurants, pubs, live music, cinemas, book and record shops, galleries and parks. It ranks the same places two times: one time for you and one time for the other person. Each place shows both ranks, for example "2nd for you · 1st for Maya". The place that the less keen person likes most comes first, so neither person goes to a place that only the other person likes. You also get trips, films and music to share.
6. Invite a real person Send your link to a friend or a date. They pick three things. Then you both see your match and plan an evening. Each person sees only the favourites that explain the match. The link stops after 7 days.
7. Atlas Pick a city. The map shows each area of the city as a dot. A stronger colour means that your taste is stronger in that area. When you point at a dot, it tells you how the area compares to the other areas on the map. Below the map, Based lists the places in that city that fit your taste best. The data comes from groups of people. It never shows the location of a person.
The 125 suggested people are test people for the demo. Invite links connect real people.
How Based uses Qloo
Based uses 8 parts of Qloo. Each part does a different job in the app.
| Qloo feature | What Based does with it |
|---|---|
| Search | Finds your favourites in 6 categories: films, music, books, TV, podcasts and games |
| Recommendations, with explanations | Gives each person a list of recommendations in 5 categories. Qloo tells which favourite caused each item. Based uses this to show why you match: "Radiolab, from your Interstellar and her Tame Impala." |
| Taste analysis | Finds the themes that describe your taste, for example "Dream pop" or "Atmospheric" |
| Compare | Finds the themes that two people share, and the themes that only one person brings. This is 25% of the score. |
| Places in a city | Finds real venues of 7 kinds: restaurants, pubs, live music, cinemas, book and record shops, galleries and parks |
| Ranking a fixed list | Ranks the same venues one time for each person. Based uses the two ranks to make plans that are fair to both people. |
| Destinations | Finds trips that fit the taste of two people together |
| Heatmaps | Shows where your taste is strongest in a city, for the Atlas |
The agent uses all 8 parts as tools. One question can use many of them. For example, "Plan an evening with Maya in London" uses recommendations, places, ranking and destinations.
Based does not use Qloo's demographic data. That data can guess age or gender from taste. We do not want Based to guess things about people.
How we built it
- Frontend: Next.js 16 and React 19, on Vercel.
- Backend: FastAPI and SQLite, on Railway.
- Agent: DeepSeek V4.1 Flash on River, with 12 tools.
- Taste data: Qloo. See "How Based uses Qloo" above.
Challenges we ran into
- Speed. A full comparison needs one Qloo request for each person. We give all 125 people a quick local score. Only the closest 12 get a full comparison. A search takes about 3 seconds.
- Names. Some titles did not match. For example, "Amelie" is "Amélie" in Qloo. We changed the name matching to ignore accents and punctuation.
- Agent permission. The agent changed settings without permission. Now the server checks each change before it saves it.
- Fair ranking. Two Qloo rankings do not use the same scale. We compare positions in each list, not the raw numbers.
Guest access for judging
Based does not ask you to sign up or log in. You start as a guest, and Based deletes your session after 7 days. We did this to make judging easier: you can open the link and use the full app immediately.
After judging, Based will require an account to sign in. Then your favourites, matches and invite links will stay with your account.
What's next for Based
- Real people in place of the test people.
- Profile photos, with moderation.
- Events and tickets in evening plans.
- Group plans for more than two people.
Check out the github https://github.com/birukabza/based
Built With
- fastapi
- nextjs
- python
- qloo
- railway
- vercel
Log in or sign up for Devpost to join the conversation.