Why we built it

When you're a kid, a friendship can start with "Do you want to play?" You get to know someone by doing something with them.

As adults it gets harder. Even with close friends, plans die at "I'm good with anything." With strangers you also have to figure out who to talk to and what to say first. Someone who could become your regular dinner friend might live down the street, and you'll never learn their name.

We made a game because a game gives you something to do together before you have to make small talk. You can argue for a place you don't even like, hear someone's sense of humor, and laugh about something before anyone decides to meet. We wanted people to share a few minutes of fun before asking them to share an evening.

What it does

Hear Me Out is a party game that turns "where should we go?" into a plan you actually show up to. You can play it two ways:

  • With friends: one person opens a room on a laptop or TV, and everyone joins from their phone with a four-letter room code.
  • Find my people: you pick food, an activity or a movie and join the queue. You can link a public Instagram, TikTok or Facebook page, and your profile becomes a short list of interests. Nobody sees them until you approve them. We put three or four people who share the most interests into a group, and the whole game runs on their phones.

Everyone sets a budget, how far they'll travel, any dietary needs, and when they're free tonight. Then a round goes like this:

  1. Hot take. Everyone answers a quick warm-up question while the Judge, our AI host, searches for real places nearby.
  2. Finalists. The Judge picks up to four places that fit everyone's budget, distance, diet and schedule, with photos, ratings, prices, hours and travel time.
  3. Secret pick. Everyone privately taps their favorite.
  4. Case files. Each player gets a place to defend, usually not the one they picked. The case file has real facts about the place and a style to argue in. If there are more players than places, you get a co-counsel.
  5. Pitch. You have 30 seconds to record your argument, or you can type it.
  6. Playback. Pitches play one at a time with captions. Listeners react (Funny, Good point, Not convinced), privately show which place they're
    leaning toward on a live sway meter that only shows totals, and can object to a claim. If someone says a place is open until 2 AM and it closes at 9, the Judge sustains the objection using the venue's real listing. Diet claims get checked against the restaurant's own menu.
  7. Vote. One private vote each, for the place and not the person. The results show the winner, plus awards for Most Persuasive and Best Line.
  8. The plan. The winner becomes a plan with a time that fits everyone's free time, an invite, and a poster made by Muse Image. Each person RSVPs their own (I'm in, Maybe or Can't). You can get directions, add it to your calendar, copy the invite into the group chat, or share the poster to Instagram or Facebook.

For strangers, three "I'm in"s confirm the meetup, and the exact address only shows up after you RSVP. If two groups pick the same place, they can v to merge into one bigger table.

How we built it

  • SpacetimeDB (a TypeScript module on Maincloud) runs the whole game: rooms, phases and timers, private ballots and leans, reactions, votes, RSVPs and matchmaking. Every screen subscribes to it, so a vote on one phone shows up on the TV right away.
  • React, Vite and TypeScript for the web app, with Three.js for the crowd of little paper people.
  • A Node.js worker hosted on Vercel next to the app. It picks up AI jobs from the database, calls Muse and Apify, and writes the results back.
    Every call has a timeout and a fallback, so a slow API never freezes the game.
  • Meta Muse. Muse Spark drafts profile interests, writes the hot takes, picks the finalists, writes the case files, fact-checks pitches and writ the plan invite. Muse Voice Transcribe captions recorded pitches. Muse Image makes the event poster.
  • Apify. The Google Maps crawler finds live places, the Website Content Crawler pulls menus, and our own actor reads a public Instagram, TikTok Facebook page.

We kept our research, crossed-out ideas, sketches and revision notes in Notability, worked out the screens in our Figma process file, and documented the workflow in Figma
Slides
.

Challenges we ran into

  • Waiting on real data. A live place search takes 30 to 85 seconds. We start it as early as we can and fill the wait with profiles and the hot take, so nobody stares at a spinner.
  • Keeping the AI honest. At one point a Movie plan came back talking about food. We tightened the category rules and added regression tests for made-up food and ticket price claims.
  • Checking what people actually say. Fact-checking a pitch means understanding things like "open till 2am" against hours that cross midnight.

What we're proud of and what we learned

We played the deployed game end to end in Activity and Movie mode with three separate players, from joining all the way to RSVPs. The project has 129 passing tests, plus simulators that play full games against a local database.

The biggest lesson was about people, not code. People need a reason to respond to each other, and defending someone else's pick gives them one.

What's next

  • Start a game from the group chat. Launch a round right inside Messenger, Instagram or WhatsApp, so friends don't have to leave the chat where the plan was dying.
  • Bring the group back. After a meetup, everyone privately says who they'd want to see again. If it's mutual, Hear Me Out suggests a rematch, and a one-time meetup can turn into a regular night.
  • A Judge that remembers. Muse learns from past games: which places your group liked, who always argues for tacos, which nights people actually show up. Over time the finalists get better and the hot takes get more personal.
  • Matching by neighborhood and schedule. Group strangers who live near each other and are free at the same time, so meeting up is as easy as possible.
  • More things to do. Concerts, games, hikes, classes and study sessions, with real showtimes and tickets so Muse can book the movie, not just the cinema.
  • Events and campuses. An event mode for orientations, conferences and meetups, where a whole room splits into tables, plays at once, and every table leaves with a plan.
  • Partnering with venues. Restaurants and venues offer a table or a deal to Hear Me Out groups on slow nights, so groups get a reason to say yes and places get new regulars.
  • Safety and trust. Verified profiles, sharing your plan with a friend, and a quick check-in after the meetup, so meeting strangers feels as safe as meeting friends.

Our Notability notebook

These pages show how the idea changed, including the directions we dropped. Click any page to read the original notes.

01. Our starting point

We started by collecting the track requirements and looking at past projects.

Notability notebook page 1 - Our starting point

02. Seven directions we questioned

We wrote down seven ideas and why each one might not work.

Notability notebook page 2 - Seven directions we questioned

03. Starting again after the hardware pivot

We dropped the Ray-Ban idea and went back to shared activities and group connection.

Notability notebook page 3 - Starting again after the hardware pivot

04. Research brought into the notebook

We brought in a KU News article about the time people spend together.

Notability notebook page 4 - Research brought into the notebook

05. Turning reading into a design question

We marked up the article and turned it into a design question about invitations.

Notability notebook page 5 - Turning reading into a design question

06. From agent concepts to a shared game

We mapped out the game and an early architecture, including integrations we later replaced.

Notability notebook page 6 - From agent concepts to a shared game

07. The first interface directions

Our first sketches tried a courtroom look and a community board look.

Notability notebook page 7 - The first interface directions

08. Testing a visual direction against the user journey

We checked a style exploration against the friends and strangers flows.

Notability notebook page 8 - Testing a visual direction against the user journey

09. Making profile approval understandable

We picked editable tags with a clear approve step over a dense profile summary.

Notability notebook page 9 - Making profile approval understandable

10. Making attendance a separate choice

We built the plan screen around the place, the time and an RSVP that's up to you.

Notability notebook page 10 - Making attendance a separate choice

11. Simplifying reactions while preserving objections

We cut eight unexplained reaction icons down to three labeled ones and kept objections.

Notability notebook page 11 - Simplifying reactions while preserving objections

12. Drawing the controls as one family

We drew the recording, playback, group and activity controls as one matching set.

Notability notebook page 12 - Drawing the controls as one family

13. Reflecting on the complete process

We looked back at how the research, sketches and revisions turned into the final build.

Notability notebook page 13 - Reflecting on the complete process

What I fixed:

  • "A ridiculous character": the case file actually gives you a style to argue in, real facts, and sometimes a co-counsel.
  • Muse's role: Muse Spark also drafts profile interests and writes the hot takes, which the draft left out. Apify also crawls menus and runs our own social-profile actor.
  • Features the draft was missing: the three named reactions, the private sway meter, menu checks for diet claims, the Most Persuasive and Best Line awards, Maybe/Can't RSVPs, Instagram/Facebook sharing, the address unlocking after RSVP, and merging tables.
  • "Activity and Movie checks" and "129 tests": both are right, but only on Jose's latest branch. Our deploy on hear-me-out-rho has 106 tests, so the hosted worker and the 129 come from his deployment.

The "What's next" section says the Muse connection and booking are simulated, but your video says Muse reads texts and email and books the meetup. I'd keep that section, because it's what covers you if judges compare the two.

Built With

+ 22 more
Share this project:

Updates

Submission history