Work / mindquest-showcase

mindquest-showcase

MindQuest — an educational adventure game where maths, general knowledge, flags and chess drive three story arcs. Public overview; source is private.

Open Source · 2026 · Active

Source on GitHub ↗ · Talk to me →

Readme

An educational adventure game where the learning is the plot. Answer mathematics, general-knowledge and flag questions to advance three branching story arcs — or step away and solve chess puzzles.

Built with Next.js 16, React 19, TypeScript, Tailwind CSS v4 and Firebase.

Source lives in a private repository. This repo is a public overview.

Game modes

The three stories

Chapters are authored as plain JSON, so dialogue, scene backgrounds, music cues and image prompts share one schema that a model can extend.

Every chess puzzle is provably correct

The puzzles are all forced mates by design. That is the one class of chess problem whose correctness is decidable by exhaustive search, so no level can ever mark a genuinely winning move wrong.

Nothing ships unverified. A build script proves, for each of the 35 positions:

This caught real errors: of the first seven positions written by hand, five were unsound — blocked files, missed escape squares, a queen that could not pass through its own king. All were replaced with searched positions.

Moves are graded by whether they preserve the forced mate rather than by matching one memorised line, so alternative winning continuations are accepted. Solution trees are precomputed at build time, which takes move grading from ~3.2 s to ~0.5 ms.

Design

A monochrome "Cinema" system: black, white and a gray scale, with colour spent only where it carries meaning that shape and position cannot — rewards, danger, success. Themes resolve through CSS light-dark(), so the correct palette paints on the first frame with no flash and no blocking script. Both light and dark clear WCAG AA contrast.

Progression

XP and seven ranks from Bronze to Legend, coins, daily-login streaks, weekly missions, achievements, avatar customisation, and cosmetics unlocked by finishing story arcs.

Tech

Next.js 16 App Router · React 19 · TypeScript (strict) · Tailwind CSS v4 · Framer Motion · Zustand · Firebase Auth + Cloud Firestore · Socket.IO · chess.js · Stockfish WASM (analysis only — never an opponent) · Vitest

More work

View all →

plc-checkweigher

One-command installer for the Mitsubishi PLC check-weigher system. Python · Raspberry Pi · Mitsubishi PLC · PDF Reports · npm CLI

checkweigher

High-speed industrial check-weigher on the edge. Python · Raspberry Pi 4 · XT1000 · T16 Load Cell

Tovex-CRM

Modular CRM platform with real-time dashboards. TypeScript · TypeScript · Modular Architecture · Real-time Dashboards

/ Work / {{ project.name }} {{ project.category }}

{{ project.name }}

{{ project.tagline }}

{{ m }}

Overview

{{ project.description }}

npm i {{ project.npm }}

Highlights

{{ f.n }}

{{ f.text }}

Stack

{{ t }}

Readme

{{ b.s }}

{{ b.s }}

{{ b.s }}

{{ b.s }}
{{ b.s }}
  • {{ it }}

Read the full README on GitHub →

Thoughts about this

More work

View all →

/ Work

Project not found.

That project doesn't exist. Head back to the full list.