Expo-first mobile web/app prototype for finding tonight’s best bar by buzz-per-dollar.
The current implementation starts with the approved simple sticker-style screen:
ARE YOU DRUNKMAXXING?Let’s Get Drunk- Location permission CTA
- ZIP search fallback
- Low-ink drink sticker icon language
- Expo Web now, iOS/Android later
- Expo Router
- React Native + React Native Web
- TypeScript
- Fixture-first app flow while the real data worker is added in slices
- Vercel Serverless Functions for Mongo-backed scrape jobs
This slice adds the first real backend seam:
POST /api/scrape-jobscreates a queued Mongo job and returns{ jobId, job }.GET /api/scrape-jobs/:jobIdreturns the current job status/results.- Collection:
drunkmaxx_scrape_jobs. - Statuses:
queued,running,complete,failed,stale.
Required Vercel env:
MONGO_URI=mongodb+srv://...
# Optional; defaults to drunkmaxx
MONGO_DB_NAME=drunkmaxxThe first worker slice claims queued jobs atomically and writes a marked scaffold result. It still does not run live venue scraping or send SMS.
pnpm worker:oncepnpm install
pnpm run verify
pnpm run web
pnpm run export:webSee docs/product-brief.md for the full product thesis and flow constraints.