DECLARATION

Why I built Declaration

We moved away. The game came with us.

Declaration was the game my high-school friends always played together. When we moved to different places, I built a version we could play from anywhere—private hands on our phones, conversation on the call we already use.

Built for
Six longtime friends
My role
Product, UX, and implementation
Goal
Keep the ritual alive
Nine longtime friends standing together outside on a sunny day.
The original Declaration group—the people behind the deck.

The problem

Keep the game, not the logistics.

Playing from different places meant no shared deck, no private way to hold six hands, and no trusted record of turns, declarations, or scoring.

A generic card site could run a game, but it could not preserve the parts that made this one ours.

How can software preserve the ritual without replacing the interaction?

What I built

Four choices kept the first version focused.

  1. Private seats, no accounts

    One secure link gives each player their hand without a signup; recovery stays tied to that browser.

  2. One trusted table

    The server owns turns, cards, declarations, and scoring, which adds backend work but keeps the game dependable.

  3. Conversation stays on the call

    Declaration works alongside FaceTime or Discord instead of rebuilding them, so the group brings its usual call.

  4. A deck that feels like ours

    Custom art keeps the game specific to the people who play it, though other groups cannot personalize a deck yet.

The custom deck

A deck that feels like ours.

The 54 cards turn friends, memories, and inside jokes into the deck itself. That makes a remote game feel like our table instead of a generic card site.

How it works

One table, six private views.

PostgreSQLCanonical game state
Game serverRules and credentials
Six phonesPrivate hand + public table

The server keeps one authoritative game while each phone receives only its player’s private hand and the public table state.

What I’ll measure

Four signals from the first tables.

  • ActivationDo all six players join?
  • Time to first moveHow quickly does play begin?
  • CompletionDoes the group finish the game?
  • Repeat playDo they organize another one?

These are launch measures, not claimed results.

Next

Test, learn, then expand.

I’ll test first with the original group, fix repeated setup or gameplay problems, and only expand the product when the evidence supports it.

Try the playable demoRead the source