// the take
A fully shipped Expo/React Native/Three.js game (iOS, Android, web) by an Expo DevRel engineer, built as a reference for cross-platform app architecture rather than a reusable library. Good for developers who want to see what a real, store-published Expo app looks like end to end, not just a hello-world.
Game logic (src/Game: GameScene, entities, GraphicsView) is cleanly separated from the Expo Router app shell and UI components, so you can study the Three.js rendering code without wading through navigation boilerplate. Platform-specific files (.web.ts, .native.ts, .ios.ts) are used consistently for haptics, storage, app state, and icon pickers — a solid real-world example of how Expo's platform-splitting actually works in practice. Goes well beyond toy-demo scope: App Clips, an iOS widget target, a custom Swift native module (target-links) for deep linking, quick actions, and store-review prompting are all wired up and working.
Zero tests anywhere in the tree — fine for a personal project, but it means you can't learn testing patterns from this codebase. No CI config (no .github/workflows) despite having eas.json, so the actual build/release pipeline that ships this to two app stores isn't visible. Config files like google-services.json and GoogleService-Info.plist are committed directly to the repo, which is a pattern you don't want to copy into a project with real secrets. It's a solo-maintainer demo, not a maintained package — no CONTRIBUTING guide or versioning, so treat it as read-only reference material, not something to fork and extend collaboratively.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →