Level 10 XP
Icon

You're earning XP!

Explore the site to earn experience points. Visit pages, interact with projects, and discover hidden easter eggs to level up.

Skip to content

Unspeakabl

A word guessing party game where teams describe words while avoiding taboo clues. Perfect for game nights.

Role
Solo Developer
Year
2026
Stack
React Native, Expo, Node.js

01. The Challenge

Party games on phones often feel like afterthoughts — clunky interfaces, no personality, and rules that take longer to explain than to play. Players wanted something they could pick up instantly and have fun with in seconds.

The core challenge was creating a fast-paced word game that feels polished and exciting, with smart difficulty scaling, customizable rules, and enough content (3,660+ cards) to keep groups coming back.

02. The Process

Unspeakabl
Unspeakabl

Started with the gameplay loop — making sure the core describe-and-guess mechanic felt snappy and satisfying. Iterated on card design, timer UX, and team transitions to minimize downtime between turns. Added 15 themed card packs across 27 categories for variety.

Engineering

The smart difficulty algorithm that balances easy and hard cards throughout the game to keep every round engaging.

// Card Difficulty Balancing const getNextCard = (deck, history) => { const recentDifficulty = history .slice(-3) .reduce((sum, c) => sum + c.difficulty, 0) / 3; const target = recentDifficulty > 0.7 ? 'easy' : 'hard'; const candidates = deck.filter(c => !history.includes(c) && (target === 'easy' ? c.difficulty < 0.5 : c.difficulty >= 0.5) ); return candidates.length > 0 ? candidates[Math.floor(Math.random() * candidates.length)] : deck.find(c => !history.includes(c)); };

03. The Result

Unspeakabl

3,660+

Cards

15

Card Packs

Live

App Store