N° 08 / 08 — Game · Puzzle
Orapa Mine
Every day, a mine hides five gems: send waves, read the colours, deduce.
- Role
- Design and development
- Year
- 2026
- Status
- LivePersonal
- Stack
- Next.js · TypeScript · GSAP · Vitest · PWA · Tailwind CSS
- Links
- Play ↗


01 / 07
The problem
Orapa Mine is a deduction board game by Junghee Choi and Wanjin Gill, published by Playte. I wanted to play it every day, like a daily puzzle.
This site is a free, unofficial fan project.
02 / 07
What I did
Every day, a new 10-by-8 mine hides five gems. You send waves, read the colours that come out, then place and rotate the gems to rebuild the mine, with one check a day.
The current streak, best streak and history carry over from day to day, in French and English.
03 / 07
How it's built
The rules are written as pure functions and tested one by one: the grid, the gems, the path of the waves, the daily puzzle, the streak. The Next.js and GSAP interface sits on top.
It is an installable static site that works like an app.
- Rules as pure functions
- Daily puzzle
- Streak and history
- Next.js and GSAP interface
04 / 07
Challenges
- 01
Rules you can prove
The path of the waves, the grid, the gems and the streak are pure functions, tested one by one with Vitest: the interface can change without ever breaking the game.
- 02
The same puzzle for everyone, with no server
The daily mine is derived from the date: the same for everyone, with no database. The site is static, installable (PWA), in French and English.
05 / 07
Results
The game is live and playable every day.
06 / 07
What I learned
Board game rules translate very well into pure functions: once a wave's path is tested, the interface can change without ever breaking the game.
07 / 07
Tech stack
- Front end
- Next.jsTypeScriptPWATailwind CSSInternationalisation (i18n)
- 3D, motion and real time
- GSAP
- DevOps, cloud and testing
- VitestGit
- Product, SEO and methods
- SEO
Next project · 01 / 08
SphereHome
SphereHome

