Guess the Qubit
Build intuition for qubits by predicting measurements on a playable Bloch sphere — spanning an Unreal Engine desktop game and an AR mobile experience with real quantum hardware jobs.
I built Guess the Qubit as an educational quantum game and a practical implementation of my Quantum API integrations. Instead of beginning with dry mathematical notation, the experience begins with an object: a luminous Bloch sphere, a state vector, and a prediction challenge between two possible measurement results.
The project originated as an Unreal Engine prototype where players predict measurements, observe quantum gate transformations, and watch the state vector probabilistically collapse. During the Expo × ReactVision Ctrl+Space hackathon, I adapted this concept into a spatial AR learning application with React Native and ViroReact, allowing users to place the Bloch sphere into physical space, walk around it, and inspect the state vector from any angle. The AR version was named a finalist in the Ctrl+Space hackathon.
I unified both platforms into a single monorepo (github.com/DavidJGrimsley/guess-the-qubit) managed with pnpm and Turborepo. Both apps connect to my Quantum API backend—Unreal using a dedicated C++/Blueprint plugin and the mobile AR app using the TypeScript SDK. Players can explore fast local simulator results or submit authentic single-qubit circuits to IBM Quantum hardware, complete with real-time queue polling, visual waiting states, and safe request cancellation.
Dual-platform visualization: Unreal desktop & spatial AR
The labeled Bloch sphere and guess controls in the Unreal desktop demo.
I built the visual identity around a cyan shell, coordinate axis rings, labeled basis states (|0⟩, |1⟩), and a magenta state vector across both platforms. On desktop, the Unreal Blueprint implementation delivers responsive on-screen interaction and immediate visual feedback. In mobile AR, Viro primitives place the sphere directly into the user's room with placement and scale controls so players can walk around and inspect superposition geometry in 3D space.
Observable game loop: guess, rotate, and collapse
Players select 0 or 1 before seeing the result. The gate rotation animation and collapse make each round observable, while win/loss feedback encourages another attempt. A round synchronizes its introductory animation with a valid measurement before collapsing the state vector according to Born rule probabilities. This core loop makes abstract quantum principles intuitive and hands-on.
Real quantum computing with honest asynchronous feedback
The game exercises my Quantum API backend through the Unreal C++/Blueprint plugin and the TypeScript SDK in Expo. Simulator mode executes rotation measurements via Qiskit's Statevector. Hardware mode submits circuits to real IBM Quantum processors and polls for results, displaying pulsing visual indicators and queued/running feedback rather than instant fake responses. Session resets, exits, and retries cleanly cancel pending jobs to avoid wasting quantum hardware queue slots.
Unified monorepo architecture
I consolidated both applications into a single monorepo (github.com/DavidJGrimsley/guess-the-qubit) managed by pnpm and Turborepo. It isolates the Expo SDK 57 mobile AR app (apps/expo) and Unreal Engine 5.8 desktop project (apps/unreal), enforces LF line endings and dependency patches, includes an offline EAS ignore simulation to prevent shipping desktop assets with mobile builds, and automates CI test suites across both projects.