Contact
← All work2025

anagrama

A daily anagram puzzle that drops fresh at midnight ET — unscramble the letters, race the clock, watch your name climb the global leaderboard. Short enough for a coffee break, sharp enough to come back to.

Role
Solo project
Stack
Next.js · Web Audio · Typography
Anagrama landing page with the headline 'Your intelligent word game' surrounded by floating game-mode cards
playanagrama.com — the home screen

Why I built it

I wanted a daily puzzle that respected my time. Wordle is great, but I solved it in 30 seconds and waited 23 hours. The crossword takes 40 minutes I don't always have. Anagrama is the middle ground I kept wishing existed: a single sharp puzzle that asks for two minutes of your full attention, then lets you go. Fresh letters drop at midnight ET, and your solve time gets ranked against everyone else who played that day.

What started as a side project for myself grew up the moment friends asked for a leaderboard. Once you can lose to your friends, the same six letters get a lot more interesting.

The puzzle in 60 seconds

Six tiles drop. You have five lives, a running timer, and three hints if you really need them. Click letters or just type — the keyboard is the fast path. Submit when the word feels right.

The interface is built single-keystroke-first on purpose. There is no nav, no chrome, no popups — only the puzzle and the timer. The faster the muscle memory clicks in, the more it feels like a sport.

Today's Anagrama puzzle in play — six empty tiles above eight scrambled letters with a live timer and hint counter
The daily puzzle — plain interface, fast keyboard, hard floor on time

Pick your pace

The daily ranked puzzle is the headline, but it's not the whole game. Different moods want different formats, so Anagrama ships seven distinct modes. Each one keeps the core verb — find the word — but changes the pressure, the constraints, and how you score.

Game modes selector showing Mathagram, Defineagram, Anagrama Blitz, and Classic Anagrams as cards
Game modes — ‘Pick Your Pace’
  • Anagrama Daily — the ranked headline puzzle. One per day, six letters, leaderboard.
  • Classic Anagrams — find as many valid words as you can in 60 seconds. Longer words score more.
  • Zen — endless puzzles, unlimited attempts, no timer. The mode I default to when I just want to think.
  • Blitz — fast-paced sprint that gets harder as the timer winds down. Solo and 1v1.
  • Defineagram — clued anagrams. The definition does half the work, the letters do the other half.
  • Mathagram — domino grid where each colored group has to hit a target sum. Word-game muscle, math-game skin.
  • Triage— anagram clues hidden inside short clinical case histories. Built as a study tool, kept because it's genuinely fun.
  • Asteroidgram — anagrams as asteroids, falling from the top of the screen. Type the word to destroy it before it reaches the floor.

A few of the modes, up close

Each mode has its own accent color, its own micro-vocabulary, and its own pacing. They share a tile system and a keyboard model so switching between them feels like changing gears, not changing apps.

Zen mode — five empty tiles, five available letters, no timer, ‘Take your time’ copy
Zen — endless, unlimited attempts, no pressure
Defineagram puzzle showing the clue 'Not paid for' above six answer tiles and nine available letters
Defineagram — clued anagrams
Blitz solo mode — four-letter sprint with a 57-second countdown
Blitz — sprint with rising difficulty
Mathagram domino puzzle with two colored groups summing to target totals
Mathagram — word-game grammar, numbers
Triage case-history screen showing a 70-year-old patient case and a diagnosis input
Triage — diagnose the case from the clue
Asteroidgram — a single 'OCD' tile falling on a dark background with three lives below
Asteroidgram — type the word, kill the rock

Race the world

Every solve gets ranked against everyone who played that mode on that day, in that language. You see your global rank, your friends rank, and the moment-by-moment movement as new people solve. The leaderboard updates live; the social pressure is real.

Languages are first-class. Anagrama runs in hundreds of supported languages, and the leaderboard is scoped per language so a Spanish solver isn't competing with an English one. Same game, same shape, different dictionary.

Leaderboards page with mode tabs (Anagrama, Classic, Defineagram, Solo, Battle, Triage) and Global / Friends scoping
Leaderboards — global and friends, scoped per mode and language

More than a word game — the CLI

Anagrama runs in your terminal too. npx anagrama launches the full game — daily puzzles, streaks, leaderboards, all modes — rendered in a tasteful TUI. It's the same backend and the same scores, just shipped through stdout. Honestly the most fun I've had building UI in years.

Anagrama CLI promo with install commands and a terminal mockup showing ‘Friday, February 13, 2026 (ET)’
The Anagrama CLI — npm install -g anagrama

An API for builders

Underneath every mode is a dictionary engine and a scrambler that already had to handle hundreds of languages, so I exposed it. The Anagrama API is a free-forever word service: anagram generation, validation, definitions, frequency, scrabble scores, morphology — every endpoint that powers the games is available for anyone to build with.

People are using it for Discord bots, Wordle clones, ESL drills, and language-learning apps. 100 requests a day on the free tier, no credit card. Anagrama+ subscribers get higher limits and more keys.

API use cases — Word game developers, Education and ESL, Discord and Slack bots, Language learning apps — with a 'Free forever' callout
The API — free forever, with paid tiers when you outgrow it

Anagrama+

The premium tier exists because some players asked for it, not because the game needs it. Every puzzle, every mode, and every leaderboard is free. Anagrama+ adds the things that don't change who wins: a full puzzle archive, detailed personal stats, an ad-free experience, profile customization, exclusive badges, AI-powered game modes, and ten custom wordsets you can author yourself.

Fair gameplay always — no pay-to-win. $1.99 / month if you want to support the project and unlock the extras.

Anagrama Plus pricing page with $1.99/month tier listing ad-free, full archive, stats, customization, exclusive badges, AI-powered modes, custom wordsets, API limits
Anagrama+ — $1.99 / month, no pay-to-win

What I learned building it

The first lesson was daily content is its own product. A puzzle that refreshes at midnight is not really a feature — it's a scheduling system, a generation pipeline, a fairness check, a leaderboard rollover, a streak boundary, and a dozen edge cases around timezones. Most of the engineering on Anagrama is invisible because it has to happen reliably at midnight ET, every night, forever.

The second was that typography is gameplay. Tile spacing, baseline alignment, letter weight, the exact pixel where a tile feels “tappable” — every one of those decisions is the difference between a puzzle that feels sharp and one that feels mushy. I rewrote the tile component four times. Number five is the one in production.

The third was that scope grows when the engine is general. Once the dictionary engine handled hundreds of languages cleanly, adding new modes stopped feeling like new apps and started feeling like new outfits on the same skeleton. Defineagram, Mathagram, Triage, and Asteroidgram all reuse the same core — which is why a solo project ended up with seven modes, a CLI, and a public API instead of stalling at one puzzle.