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.
One round, start to finish. Rooms usually run three to five rounds before someone's cover cracks for good.
Scan a code or tap a link. No accounts, no downloads — you're in a lobby with your friends' faces in under ten seconds.
Loyalists get a real fact about the mystery. The Hollow get a fake one — plus a single genuine "grain" they must weave in.
Everyone speaks in turn, folding their clue into a shared account. Somewhere in every lie, one detail is uncomfortably true.
Cross-examine, compare grains, catch contradictions. The Hollow improvise; everyone else pattern-matches.
Point fingers, tally votes, flip the roles. Grains are revealed last — see exactly which truth was hiding the lie.
No fifteen-page rulebook — four roles, one deck of clues, and a table that can't stop watching each other's eyes.
Ordinary townsfolk holding a real clue. Win by voting out every member of the Hollow before the truth gets buried for good.
Two or three players holding a fake clue — but forced to smuggle one true "grain" into every story. Win by outlasting the vote.
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.
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.
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.
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.
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.
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.
This is a static, local mockup — no real players, no server. Just enough to feel the shape of the app.
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.