Skip to content
Naoufal Andichi
Projects/web-app

Judify

Your Spotify taste, judged by AI — to laugh and to share.

No image

What if your taste was put on trial?

Anyone who's shared a Spotify Wrapped knows how catchy music stats can be. But the average wrap is, at the end of the day, a chart. Judify flips that: instead of neutral numbers you get an opinionated, sharply written verdict on your listening behaviour — a piece of theatre instead of a spreadsheet.

Taste is subjective; the verdict isn't.

The flow

You log in via Spotify, pick a judge mode, and the app pulls in top artists, top tracks, recent plays, playlists and library. That raw API data is normalised first into a compact taste profile — a deliberate intermediate step to save tokens and improve AI output. After that OpenAI does the rest: a verdict in the chosen tone and language, ready to share.

Why it's fun to build

Judify sits on a sweet spot where three things meet: a third-party API with scopes and rate limits (Spotify), an AI layer that rewards prompt engineering and language craft (OpenAI), and a social mechanic where the output itself becomes the marketing channel (shareable results with OG images). That forces you to think across all three axes simultaneously: data, language and distribution.

Under the hood

Stack: Next.js 16 with App Router, NextAuth v5 for the Spotify OAuth flow, Firestore for profiles and history, and @vercel/og for dynamic preview images. Server Components do the heavy lifting; client components only show up for judge mode selection and the duo compare flow. Framer Motion handles transitions and shadcn/ui (Base UI) provides the base components.

The Duo Compare trick

The duo compare mode adds a social layer: send a link, have a friend log in, and the app builds a joint verdict that magnifies the differences in taste. It's a feature that earns its keep marketing-wise — every comparison brings in a new user.

Highlights

  • 01Six judge modes with their own prompt style: courtroom, therapist, dating profile, festival gatekeeper, Dutch mode, roast.
  • 02Multilingual: NL, EN, DE, FR, ES — humor tuned to local references.
  • 03Duo Compare: pit two Spotify profiles against each other and see who's 'worse'.
  • 04Share tokens with @vercel/og dynamic preview images per result.
  • 05History: revisit previous analyses without linking data to personal info.
  • 06NextAuth v5 with Spotify provider, Firestore for storage, OpenAI for the verdict.
  • 07Taste profile gets normalised before hitting the AI — fewer tokens, better output.

Related projects.