Skip to content
jCyrus
jCyrusProduct Builder
  • Home
  • About
  • Work
  • Skills
  • Projects
  • Contact
  1. Projects
  2. /
  3. Club 81
Mobile Game / Puzzle

Club 81

In Review

Screenshots

Club 81 screen view 1
Club 81 screen view 2
Club 81 screen view 3
Club 81 screen view 4

About the Project

Club 81 is a 9x9 Sudoku dressed as a neon nightclub. The grid is the dance floor and the digits are nine patrons: the Tourist, the Techie, the Suit, the Raver, the Influencer, the Punk, the Merc, the Diva, and the Fixer. Each has a face and a number in the corner, so the puzzle can be played by face or by digit. Seat the same archetype twice in a row, column, or 3x3 VIP section and it is a Vibe Clash, which drains the vibe meter; run out and the night is over, finish with plenty left for three stars. The game ships 45 hand-seeded levels across three worlds plus a daily challenge, eight trophies, stats, and a daily streak. It is built in Flutter with the Flame engine for the dance floor and Riverpod for app state. Everything you see and hear is generated from code: the app icon, the patrons, the world backdrops, and the badges come from a Python art pipeline, the music and sound effects from a synthesis script, and the App Store screenshots are rendered from the real app by a golden test.

Key Features

  • 45 levels across three worlds (Downtown, VIP Lounge, Rooftop), each with exactly one solution
  • A daily challenge that is the same puzzle for everyone each day, with a streak
  • Vibe meter: every clash costs vibe, and the vibe left decides one to three stars
  • Drag or tap to place, move, and remove patrons, with undo and three hints per level
  • Eight trophies, play statistics, and a level in progress that resumes later
  • Synthesised soundtrack and sound effects, generated from code
  • Full VoiceOver support: every cell and patron is labelled and playable by double-tap
  • Plays offline. No accounts, no ads, no tracking; crash reports only

Challenges & Solutions

A Sudoku is only fair if it has exactly one solution, so the generator and every seeded level are checked for uniqueness rather than trusted. Turning digits into characters had to keep the game playable for everyone: every cell and patron carries a VoiceOver label and can be placed by double-tap, so the whole game works without sight. A level in progress is saved when the app leaves the screen and restored later, and the Flame floor has to survive a mid-game resize and ignore input once the night is over. Crash reporting through Sentry was set up so it can never block launch, carries no breadcrumbs or install ID, and stays off entirely in builds without a DSN.

Outcomes & Impact

Version 1.0 for iPhone is submitted to the App Store and in review. CI runs analysis and the test suite on every pull request and a no-codesign iOS build on main. The art, audio, and store screenshots are all reproducible from source, so a visual change is an edit and a regeneration rather than a redraw. Android follows after the iOS launch.

Actions

Project Details

Category
Mobile Game / Puzzle
Status
In Review
Developer
Cyrus Espiritu
Privacy Policy
View Policy

Tech Stack

FlutterFlameDartRiverpodSentry

Interested in Club 81?

Let's collaborate or discuss how I can help bring your projects to life.

Get in touch

© 2026 Cyrus Espiritu. Privacy