Inspiration

Flash Reflex was born from a simple observation: in a world of endless scrolling and shrinking attention spans, people crave instant, high-stakes decisions. We wanted to build a game that anyone could pick up in one second and become addicted to in the next. The core question was: "What if every second counts, and every choice could be your last?"

The answer is a hyper-casual game of micro-decisions where your brain is both your weapon and your worst enemy — and now, where your progression from Bronze to Obsidian is visible at every step.

What it does

Flash Reflex is a fast-paced mobile game that forces players to make split-second binary decisions. Each prompt is a quick mental challenge:

  • Directional arrows (left/right)
  • Math equations (true/false)
  • Color traps (Stroop effect)
  • Hazard detection (take/avoid)

Players have between 1 and 5 seconds to answer, depending on the chosen difficulty. A single mistake ends the game. The goal is to build the longest streak of correct decisions, climb the global leaderboard, and earn cumulative XP points.

Key features:

  • 146 unique prompts across 4 categories (Directions, Flash Math, Color Trap, Hazards), plus exclusive prompts for Training mode.
  • 3 difficulty levels: Easy (5s), Medium (3s), Hard (1s).
  • Two game modes: Ranked Challenge (affects leaderboard) and Endless Training (practice, no game over).
  • XP Rank System: Progress from Bronze to Obsidian. Your avatar takes the color of your rank, and the Obsidian rank unlocks an exclusive animated aura.
  • World Leaderboard: Global, Weekly, and Monthly tabs with a countdown to the end of each period. Previous period performances are visible on your profile.
  • Player accounts: Sign up, log in, customize your profile (avatar, username, country), and sync your history across devices.
  • Detailed history & reaction curves: visualize your average reaction time and track your progress.
  • 5 visual themes (Cyber Pink, Light, Matrix, Sunset, Pastel) with premium themes that automatically lock back when a subscription expires.
  • Full localization: 8 languages including RTL support for Arabic.
  • Offline resilience: the app remains stable and informative even without an internet connection.

Monetization:

  • Flash Plus (2.99 €/month): removes classic ads and unlocks all visual themes.
  • Flash Gold (4.99 €/month): everything in Plus, plus unlimited Training mode, reaction curves, and free rewarded continues without ads.
  • Flash Gold Annual (39.99 €/year): best value for full access.
  • Rewarded ads: two distinct rewarded placements — "Continue after game over" and "+5 points bonus" — both available to all users, with Gold subscribers getting the Continue for free.
  • All subscriptions and ad placements respect the sacred rule: no classic ads for subscribers, rewarded ads remain optional for everyone.

How we built it

Flash Reflex is built with React Native (TypeScript), 100% native, no Expo. The architecture strictly follows SOLID principles with a clean separation of concerns:

  • core/ — pure business logic, entities, use cases, and interfaces (no React Native imports).
  • data/ — repositories, services, and integrations (RevenueCat, AdMob, PocketBase, AsyncStorage).
  • presentation/ — UI only (screens, components, animations, i18n).

The backend is powered by PocketBase self-hosted on an Oracle Cloud VM, using Docker for deployment. Data is stored in SQLite, with read-only views (v_ranking, v_prev_ranking) that compute weekly and monthly points dynamically via SQL — no cron jobs, no manual resets.

We use:

  • React Native Reanimated and Animated for fluid animations (pulse, pop-in, shake, flash).
  • RevenueCat for in-app purchases and subscription management.
  • AdMob for banner, interstitial, long-format, and rewarded ads, with full UMP and ATT compliance.
  • Game Center and Google Play Games for platform leaderboards.
  • Custom fonts (Tajawal, Cairo, Amiri for Arabic; Space Grotesk, Inter, JetBrains Mono for Latin).
  • Git for version control, with strict commit discipline.

Challenges we ran into

  1. Migration from Expo to pure React Native: We initially built on Expo for speed, but the closed testing requirement on Google Play and the limitations of EAS Build forced us to eject completely. The migration took several days and required rebuilding the native folders from scratch.

  2. Google Play's 14-day closed test: We learned mid-project that Google requires a 14-day closed test with at least 12 testers before going live. We launched it in time, but the calendar was extremely tight.

  3. World leaderboard across platforms: iOS and Android natively have separate leaderboards. To unify them, we built a custom backend with PocketBase on Oracle Cloud — free, sovereign, and fully under our control.

  4. Point calculation without resets: Instead of resetting weekly and monthly points with a cron job, we designed SQL views that compute the sum of points on the fly, from the raw Games collection. Zero maintenance, zero risk of data loss.

  5. Internationalization with RTL: Supporting 8 languages including Arabic required careful handling of RTL layout, custom Arabic fonts, and a full translation audit.

  6. Ad balancing: We implemented 3 ad formats with clear rules — interstitials every 5 games, long-format every 10 games, rewarded ads for "Continue" and "+5 points" — while keeping the game fair and non-intrusive for subscribers.

Accomplishments that we're proud of

  • A complete, final application, not an MVP: released on the App Store and ready for Google Play.
  • A fully self-hosted backend (PocketBase + Oracle Cloud + Docker) with 0 € monthly cost.
  • A unified world leaderboard with weekly, monthly, and all-time rankings.
  • 146 unique prompts translated into 8 languages, including RTL Arabic.
  • A mature monetization system with 3 subscription tiers, AdMob, and rewarded ads.
  • XP rank progression from Bronze to Obsidian, with animated avatar auras.
  • A clean SOLID architecture built almost entirely by a solo developer, guided by AI assistants.
  • And all of this in less than 6 weeks, alongside a full-time job.

What we learned

  • Discipline beats speed: our first attempt with a chaotic developer failed. Our second attempt, with strict rules and validation at every step, delivered a production-ready app.
  • Native > wrapper: Expo is great to start, but for serious apps you eventually need full native control.
  • Backend can be free and powerful: PocketBase + Oracle Cloud offers enterprise-grade capabilities at zero cost.
  • Localization is more than translation: RTL, fonts, and layout flexibility are essential.
  • Monetization must serve the experience: ads should never interrupt a decision, and premium should feel like a natural upgrade.
  • AI-assisted development is a superpower: using an AI pair programmer allowed us to move from concept to App Store in record time, while maintaining strict quality.

What's next for Flash Reflex

  • Full launch on Google Play (closed test finishing).
  • Seasonal tournaments with monthly leaderboard resets.
  • Duel mode where players challenge friends directly.
  • New prompt categories (memory, logic, audio cues).
  • Web version for desktop players.
  • Expansion to 20+ languages.
  • More premium tiers and cosmetic rewards.

Built With

  • admob
  • android
  • animations
  • custom-ui
  • game-center
  • game-loop
  • google-play
  • hyper-casual
  • i18n
  • in-app-purchases
  • ios
  • leaderboard
  • localization
  • mobile-game
  • multilingual
  • points-system
  • react
  • react-native
  • reaction-time
  • revenuecat
  • rtl
  • sharedpreferences
  • subscriptions
Share this project:

Updates

Submission history