All work

Maybe Shikaku

React Native puzzle game, live on Google Play

Role
Built end to end: app, backend and release
Stack
React Native, Reanimated, Gesture Handler, Node.js, Express, Prisma, Render, FCM, Notifee
Three Maybe Shikaku screens: the Patches home menu, a 7 by 7 puzzle in progress, and the Easy level grid
Screenshots from the Google Play listing.

Context

Maybe Shikaku is my own puzzle game, published on Google Play as Gold Parrot. Shikaku is easy to state: divide the whole grid into rectangles so that each one contains exactly one number, and that number equals its area. I built it AI-assisted: Claude for architecture decisions and debugging, GitHub Copilot for mechanical refactoring. The product decisions, UI fidelity checks and performance profiling were mine.

Problem

A puzzle that is quick to learn has to stay calm to play: drawing a rectangle has to feel immediate, every level has to work without a connection, and progress has to survive closing the app.

What I built

  • Drag-to-draw gameplay: you drag across the grid to draw each rectangle, built with Reanimated and Gesture Handler.
  • 600 pre-generated puzzles across Easy, Medium and Hard, shipped as offline puzzle packs.
  • A Node.js, Express and Prisma backend, hosted on Render.
  • Push notifications through Firebase Cloud Messaging and Notifee.
  • A puzzle screen with a timer, undo, hints, reset and level navigation, with progress and best times saved per level.

Engineering highlights

  1. Offline-first puzzle packs

    All 600 puzzles are generated ahead of time and shipped as packs, so every level plays without a connection.

  2. A grid that stays smooth under your finger

    The grid is split into memoized subcomponents with stable useCallback handlers, so a drag only re-renders what it touches. I profiled it with the React Native Perf Monitor.

  3. A menu made of the puzzle

    The Patches home screen lays out Play, Levels, Categories and Exit as rectangles on a grid, so the first screen already teaches the shape of the game.

Outcome

  • Live on Google Play, with 5+ downloads so far.
  • Known limits I would fix next: it is Android-only, and the generator does not yet guarantee each puzzle has a unique solution.
Next case studyVerizon Point of Sale