DEV Community

Isaiah Kim
Isaiah Kim

Posted on

Mutuals: a taste-based social discovery app built with Next.js and Claude

What it is

Mutuals is a social discovery app. You tell it 8–10 things you love — bands, films, books, games, places — and it matches you with people who share your cultural taste.

The README describes it as "culture-centered reddit, with AI taste profiles for individuality." Each user has a public page, and every thing they list gets its own room: a small forum auto-populated by everyone who listed that same thing.

Onboarding

You type your things one at a time during a wizard; they appear as colorful chips. Claude (haiku) sorts them into categories. You claim a username at mutuals/u/yourname, pick a face from DiceBear's Open Peeps collection, and you're in.

Your page

Public and shareable. It has an AI-written headline, description, and taste traits — all generated from what you listed. Your things appear as chips, your top 8 mutuals are shown, and there's a wall where other users can leave notes. Links to your profile unfurl with a generated OG card.

Rooms

Every thing becomes a room: m/radiohead, m/twinpeaks, etc. Threads have titles and comments. The room auto-populates with everyone who listed that thing. If a room is completely empty when the first person enters, Claude writes a starter thread to give it somewhere to begin.

Matching

Matching runs on weighted Jaccard similarity across listed things. The wrinkle: I had Claude expand each thing into a "taste fingerprint" — loving Radiohead also implies Portishead, Thom Yorke, and a few others. That expanded set feeds the similarity score, so matches surface people who share broader taste territory, not just exact overlaps.

Waves

You can wave at someone. If they wave back, you both see each other's contact info. Nothing is exposed unilaterally — contact info only unlocks on a mutual wave.

Stack

  • Next.js 15 (App Router) + TypeScript
  • Tailwind 4
  • Supabase for Postgres + Auth
  • Anthropic API (Claude haiku) for taste profiles, category sorting, fingerprint expansion, and starter threads
  • DiceBear Open Peeps for avatars

Why I built it

Most discovery tools recommend things; I wanted one that surfaced people. I also wanted a place where fans of very specific things — a particular film, a niche band — could find each other and talk without needing the scale to justify a subreddit.

Repo

https://github.com/kyisaiah47/mutuals

Top comments (0)