Neo-brutalist scoreboard app rebuilt with Ignite (React Native) for iOS, Android, and web.
- Player and team score tracking
- Per-round and accumulated score modes
- Round navigation with optional max rounds
- Start/Edit game workflow
- Game history with load/delete/clear
- Local-only persistence (
scoreboard.v2.state) - Light and dark neo-brutalist themes
- Cross-platform analytics via PostHog (no-op when env vars are missing)
- Ignite 11.4.0
- Expo / React Native
- React Navigation
- MMKV persistence
- Jest + React Native Testing Library
- Maestro smoke flow
Set these for analytics:
EXPO_PUBLIC_POSTHOG_KEYEXPO_PUBLIC_POSTHOG_HOST
If unset, analytics calls are skipped safely.
pnpm install
pnpm startpnpm ios
pnpm android
pnpm webpnpm test
pnpm compile
pnpm test:maestroGenerate web output for Vercel:
pnpm bundle:webDeploy the generated dist directory to Vercel.
- Domain logic:
app/features/scoreboard/ - Scoreboard UI:
app/features/scoreboard/components/ - Neo-brutalist design system:
app/theme/neo-brutal/ - Analytics wrapper:
app/services/analytics/ - Behavior archive:
docs/parity-spec.md - Maestro smoke flow:
maestro/scoreboard-smoke.yaml