A social deduction party game — 5 to 10 players

Every lie needs
a grain of truth
to survive.

Find the grain. Expose the liar. Or be the liar, and hide it in plain sight — because in this game, the best deception isn't a clean lie. It's an honest one wearing a mask.

🂠
🂠
your clue
🌾
one true detail buried in every story
Core Loop

Five minutes to learn.
A lifetime to master the poker face.

One round, start to finish. Rooms usually run three to five rounds before someone's cover cracks for good.

01

Join the Room

Scan a code or tap a link. No accounts, no downloads — you're in a lobby with your friends' faces in under ten seconds.

02

Draw Your Clue

Loyalists get a real fact about the mystery. The Hollow get a fake one — plus a single genuine "grain" they must weave in.

03

Tell Your Story

Everyone speaks in turn, folding their clue into a shared account. Somewhere in every lie, one detail is uncomfortably true.

04

Discuss & Interrogate

Cross-examine, compare grains, catch contradictions. The Hollow improvise; everyone else pattern-matches.

05

Vote & Reveal

Point fingers, tally votes, flip the roles. Grains are revealed last — see exactly which truth was hiding the lie.

Roles

A small cast. Big consequences.

No fifteen-page rulebook — four roles, one deck of clues, and a table that can't stop watching each other's eyes.

Majority

🕯️ Loyalists

Ordinary townsfolk holding a real clue. Win by voting out every member of the Hollow before the truth gets buried for good.

Faction

🎭 The Hollow

Two or three players holding a fake clue — but forced to smuggle one true "grain" into every story. Win by outlasting the vote.

Special

👁️ The Seer

Sees one other player's real clue at the start of the game — knowledge nobody else has, and no way to prove it without exposing themselves.

Special

🪞 The Echo

Starts as a Loyalist, but if the Hollow are winning by round three, silently flips allegiance — a threat that grows only when it's needed.

The Twist

The Grain of Truth Mechanic

In most social deduction games, liars invent freely and truth-tellers just... tell the truth. Here, every liar draws a real clue from the discard pile alongside their fake one, and the rules force them to plant that real detail somewhere inside their cover story. It's not optional — the app tracks it and quietly checks it off. That means the Hollow are never fully lying, and Loyalists can't just listen for "things that sound made up" — they have to find the seam where a true fact was stitched onto a false one. Deception becomes a construction problem, not a performance.

How It's Different

Not a re-skin. A different lie.

01

Liars aren't pure fiction — they're required to be partly honest

Games like Feign or Among Us reward a good bluff. Grain of Truth rewards noticing which specific sentence in a bluff wasn't a bluff at all — a completely different skill, and a completely different kind of table talk.

02

Roles aren't fixed for the whole match

The Echo can flip sides mid-game if the balance tips, so the "who do I trust" calculation keeps changing instead of locking in after round one.

03

Information is asymmetric by design, not just by role

The Seer's private knowledge and the discard-pile grains create a layered evidence trail — this is closer to a pocket mystery than a pure bluffing game, without adding any real rules overhead.

Try It

A taste of the table.

This is a static, local mockup — no real players, no server. Just enough to feel the shape of the app.

1 · Lobby
2 · Role Reveal
3 · Discuss & Vote
Room Code
WHEAT-7
6 / 8 players ready
🫵
You
🦊
Marin
🐢
Oskar
🐝
Priya
🦉
Deja
🐙
Tomas
🐿️
Ines
Invite
🌾
Tap to reveal your role
🎭
You are The Hollow
Your clue: "The lantern was lit at midnight." — false.
Your grain of truth: "the storm knocked out the bridge lamp." — true. Weave it in.
Click the card. In the real app, only you ever see the back.
Round 2 · Discussion closed · Cast your vote
0 of 7 votes cast
☁️

Built for the edge

Rooms map naturally onto Cloudflare Durable Objects — one object per room holds lobby state, role assignments, and vote tallies with strong consistency and no shared database to coordinate. Workers handle the stateless bits (room codes, clue-deck generation, matchmaking), and the client ships as a static site on Cloudflare Pages. Realtime sync between players goes over WebSockets straight into the room's Durable Object — cheap to run, scales per-room, and needs no separate game server.