App journal

Guessy app icon: Leda peeking over a blue Guessy card held against her forehead

Guessy

A forehead charades party game with every built-in deck open, custom decks you write or generate with AI, tilt controls with haptic cues, and full Turkish support.

UnreleasedActive

Why it exists

Origin story

The forehead guessing game was the other staple of my English club: one person holds the phone up, everyone else acts, and the room gets loud. The apps we used kept most of their decks behind a weekly subscription, and the best known one was paid and English only, which left half the table out. I wanted a version where every deck is open from the first launch, Turkish is a first class language, and a group can write or generate a deck about its own inside jokes in seconds.

It started under the working name Forehead Charades and became Guessy on the way to the App Store. The face on the icon is Leda, the game's host: she holds the phone to her forehead so the players never have to explain the rules.

Current build

Guessy in landscape showing the word Ratatouille under the headline Stick It on Your Forehead
Hold the phone up, friends act it out.
Guessy round in landscape with the timer at 42 seconds and the headline Tilt to Score
Tilt down for Correct, up to Pass.
Guessy Decks screen with Mix, Random Deck, Music, Movies, Food and Drinks, and Animals under the headline Every Deck Unlocked
Every built-in deck open from the first launch.
Guessy Movies deck detail with a one minute timer and a Play button under the headline Pick a Deck and Play
Set the timer, then pass the phone.
Guessy New Deck form named Inside Jokes with Add Word and Create With AI buttons under the headline Build Your Own Decks
Type your own words or let AI write them.
Guessy onboarding sheet titled Pick a Deck over a blurred Decks screen under the headline Learn It in Seconds
Four onboarding steps, no account.

Build log

Updates

  1. Development

    Leda, an animated splash, and one haptic vocabulary

    Guessy got a face. The placeholder icon gave way to Leda, the game's host, the launch now plays a short animated splash, every tactile moment goes through a named haptic cue, and the app moved into the mobile-games monorepo with a release pipeline that builds 1.0.1 for iOS.

    Leda is a young woman in a stylized 3D cartoon style who holds the phone to her forehead the way a player would. She started as an icon and turned into a character with a written profile: proportions, wardrobe, expression range, and the rule that the only text on her phone screen is ever GUESSY. The icon crops her eyes and the blue card, the Android adaptive layers and the favicon were rebuilt from the same master, and the profile now drives every video and ad clip.

    The launch is a Duolingo-style sequence: the OS draws a still Native Splash of Leda, then a Reanimated overlay takes over on its first frame, blinks her eyes, pushes in, and grows the blue rectangle out of her phone screen until it becomes the Decks screen. The two frames are pixel-identical so the hand-off is invisible, Reduce Motion gets a plain fade, a safety timer guarantees the overlay never sticks, and first-launch onboarding waits until the splash is done.

    Every vibration in the game is now a named Haptic Cue: countdown ticks, round start, Correct, Pass, the last three seconds, round end, and a plain tap on every button. Screens ask for a cue by name and a single engine decides how it feels, honours the Haptics switch in Options, and cancels a pattern's tail when the next one starts. Along the way the full-width pill buttons became tappable across their whole surface instead of only on the label glyphs, and a hydration race that could wipe saved preferences on launch was fixed.

    The repository moved into apps/forehead-charades of a mobile-games monorepo. Store binaries build on a self-hosted runner, the release workflow picks platforms per app, submission runs non-interactively against the pinned App Store Connect app, and 1.0.1 for iOS is the first version to go through it.

    The Guessy app icon: Leda, a blonde cartoon character, peeking over a blue Guessy card on her forehead
    The icon that replaced the launch placeholder.
    The Guessy splash frame: Leda holding an iPhone landscape against her forehead with the blue Guessy word screen facing out
    Frame zero of the Splash, also drawn by the OS as the Native Splash.
  2. Development

    Rebranded to Guessy and made store ready

    The working name gave way to Guessy, the interface moved to native Liquid Glass surfaces, store identifiers were pinned, and the first iOS archive went through EAS.

    Sheets, the picker, the tabs, and the pill button were rebuilt on native SwiftUI components so the game feels like it belongs on the phone it is held against. The palette settled on calm surfaces, ink text, and one accent, and the deck grid now fades under the header and the tab bar instead of being cut off.

    Bundle identifier, package name, and build numbers were pinned, local EAS builds configured, and the SDK patch versions aligned until the iOS archive succeeded. Anonymous app usage metrics come from EAS Insights and nothing else; the review notes explain that the motion permission exists only for tilt detection.

    These six captures are the App Store screenshots the submission was made with. They double as the current gallery until a release update replaces them.

    Guessy in landscape showing the word Ratatouille under the headline Stick It on Your Forehead
    The word screen from the App Store submission.
    Guessy round in landscape with the timer at 42 seconds and the headline Tilt to Score
    Tilt controls as presented on the App Store.
    Guessy Decks screen with Mix, Random Deck, Music, Movies, Food and Drinks, and Animals under the headline Every Deck Unlocked
    The Decks grid from the App Store submission.
    Guessy Movies deck detail with a one minute timer and a Play button under the headline Pick a Deck and Play
    Deck detail and round duration from the App Store submission.
    Guessy New Deck form named Inside Jokes with Add Word and Create With AI buttons under the headline Build Your Own Decks
    Custom Deck creation from the App Store submission.
    Guessy onboarding sheet titled Pick a Deck over a blurred Decks screen under the headline Learn It in Seconds
    The first onboarding step from the App Store submission.
  3. Development

    A complete round in a single day

    From an empty Expo scaffold to a playable game: eight built-in decks in English and Turkish, a tilt controlled round, custom decks, AI generated words, and a four step onboarding.

    The loop is deliberately small. Pick a deck, set the round duration, hold the phone against your forehead, and the screen locks to landscape. Words come one at a time, shuffled so nothing repeats within a round. Tilting the phone down marks Correct, tilting up marks Pass, and a hysteresis window stops a single tilt from registering twice. When the timer ends, the score screen lists every word with its outcome and nothing is persisted beyond it.

    Decks are the only real object in the game. Eight built-in decks ship inside the binary in both languages, a Random Deck draws from the whole pool, and custom decks live only on the device. A custom deck can be typed word by word or filled by an AI generation from a topic; the model call runs through an API route in the same repository so no key ships in the app, and a per device daily quota caps the cost instead of a paywall.

    There is no App Tracking Transparency prompt because there is nothing to track: no ads, no attribution SDK, no accounts. That decision is written down as an ADR so it has to be revisited on purpose if the model ever changes.