WriteDaily Gamification Goes Live: Badges, Streaks, and What Users Are Earning
The gamification system I’ve been designing since the Laravel migration shipped is now live at WriteDaily.
How It Works
The engine is declarative. A JSON configuration defines conditions — word counts, streak lengths, session timing, distraction thresholds — along with operators and target values. A Laravel scheduled job evaluates conditions hourly and awards badges automatically.
Users see their earned badges on a dedicated profile page, with upcoming badges greyed out to show what’s next. Each badge has a name, description, and tier within its group.
The Badge Lineup
| Badge | Group | Condition |
|---|---|---|
| First Light | Writing | First 750-word entry completed |
| Steady Hand | Streak | 7 consecutive days |
| Unbroken | Streak | 30 consecutive days |
| Century | Streak | 100 consecutive days |
| Early Bird | Timing | 10 sessions before 8am |
| Night Owl | Timing | 10 sessions after 10pm |
| Deep Focus | Focus | 10 sessions with zero distractions |
| Silver Tongue | Volume | 50,000 total words |
| Golden Pen | Volume | 250,000 total words |
| Wordsmith | Volume | 1,000,000 total words |
Each group has three tiers (bronze, silver, gold equivalent), creating a progression path that rewards sustained engagement.
Early Data
First month of badge data:
- First Light is the most awarded badge (98% of active users earn it within the first week)
- Steady Hand (7-day streak) has a 62% earn rate among active users
- Early Bird is surprisingly common — 41% of users have earned it
- Deep Focus is the rarest in the initial set — only 8% of users maintain 10 consecutive zero-distraction sessions
- Golden Pen (250K words) has been earned by 3 users who’ve been writing since 2013
Design Principles
A few decisions worth documenting:
Badges are earned, not given. The engine is passive — it evaluates conditions, not user requests. You can’t claim a badge; the system notices when you’ve met the criteria.
No leaderboards. Gamification can turn competitive. WriteDaily’s badges are personal. You see your own progress, not rankings against other users.
Progression is visible. The greyed-out upcoming badges create a gentle nudge without the anxiety of public competition.
If you write daily, try earning your First Light. It takes one session.