← /projects

Animal Match

20 Questions with an LLM dungeon-master. The AI picks an animal; you ask, deduce, and guess your way to it through chat, hints, and facts.

Stack

  • Next.js 15
  • React 19
  • TypeScript
  • Convex
  • OpenRouter
  • Vercel AI SDK
  • next-intl
  • Zustand
  • Radix UI
  • Tailwind

Overview

A text-first guessing game that feels like chatting with someone who actually wants you to figure it out. The AI picks an animal and paces its hints, turning 20 Questions into a conversation with rhythm.

  • Pick-an-animal sessions — AI selects, you guess through chat
  • Progressive hints that escalate as you stall
  • Animal facts surfaced mid-game to teach while you play
  • Session stats — accuracy, attempts, streaks

What it solves

Classic 20 Questions is a rigid yes/no format that breaks the second anyone wants to riff on a guess. Most AI-driven versions swing the other way — they either spoil the answer in the first hint or stonewall you until it stops being fun.

Animal Match sits between the two. The AI plays host instead of opponent: it nudges you forward when you stall, stays quiet when you're close, and drops a fact every so often so you leave knowing something even if you lose.

Highlights

  • Hint pacing that escalates with how many guesses have passed
  • Mid-game facts so every round teaches something
  • Accuracy + streak tracking across sessions
  • Multi-language UI with dark and light modes