Mobile-first Next.js PWA for Team 9470 pit operations.
- Upcoming match feed with Nexus primary integration and automatic TBA fallback
- Mock match feed mode for pre-event testing without live Nexus/TBA schedule data
- Queue timing, alliance context, and expected match timing
- Guided condensed preflight checklist with subsystem categories, purpose-built numeric controls, and pass/delay workflow
- Delayed action queue with resolve-and-return flow for delegated tasks
- Undo last action in preflight for accidental tap recovery
- Current-event checklist run history
- History summary metrics + run-state filters + one-tap checklist reopen
- Match cards include checklist state (not started / in progress / blocked / ready)
- Offline snapshot support for match feed and offline checklist continuation
- Local browser notifications for queue alerts
npm install
cp .env.example .env.local
npm run devOpen http://localhost:3000.
The app is ready to deploy as a standard Next.js project on Vercel.
NEXUS_API_KEYTBA_API_KEY
Optional:
NEXUS_BASE_URLTBA_BASE_URL
Add them in Project Settings -> Environment Variables.
These must stay server-side. Do not use NEXT_PUBLIC_.
- Framework Preset:
Next.js - Install Command:
npm install - Build Command:
npm run build - Output Directory: leave default
- Import the repo into Vercel
- Add the environment variables above
- Deploy
- Open
/settingsand confirm the pit device event key / mock mode as needed
/api/matchesand/api/integrations/statusare marked dynamic and returnCache-Control: no-storesw.jsandmanifest.webmanifestship with Vercel headers suitable for PWA updates- Install icons are included for Android and iOS home screen installs
- Open
Settings - Set
Data ModetoMock (generated test schedule) - Save settings
- Return to dashboard and run full preflight flows from generated matches
GET /api/matches?team=9470&event=2026xxxx&leadMinutes=20GET /api/integrations/status
npm run devnpm run buildnpm run startnpm run lintnpm run typechecknpm run test