Venue Llama: mobile app that automates the concert experience from discovery to memory with real-time show intel, notifications, and post-show archive.
COMPLETEProject Overview
Existing asset: venuellama.com venue database (~400 venues) to be imported into the app as foundational venue layer.
Features
- Define Plan Your Visit content model
Confirm which fields are sourced from venue vs show vs weather API; decide fallback behavior when data is missing.
- Mobile UI: Plan Your Visit screen
Implement screen layout with sections for Weather, Address/Directions, Parking, Policies, Seating Chart, and outbound links.
- Deep link routing from notifications
Ensure all relevant notifications can deep link directly into the Plan Your Visit screen for the correct show.
- Admin support for editable venue logistics fields
Verify admin UI supports editing the venue policies/parking fields used by Plan Your Visit; add any missing admin fields.
- Admin auth + RBAC UI
Implement admin login, role checks, and protected routes within Next.js.
- Venue management screens
CRUD UI for venues; seating chart uploads; edit policies/parking text.
- Show management screens
CRUD UI for shows; JamBase import controls; set active show windows.
- Moderation screens
Review reported posts; hide/delete posts; manage auto-hide configuration.
- Status banner management
UI to view auto status and set manual overrides.
- Business approvals
Queue UI for pending business posts and business verification actions.
- Define status schema + rules
Model for status fields; define mapping from recent posts to status values (or heuristic placeholders).
- Auto-calculation service
Implement periodic computation based on recent posts by category and recency windows.
- Admin override controls
Admin UI to set/override status values and expiration/reset behavior.
- Mobile UI banner component
Display banner at top of live feed; show last-updated timestamp and source (auto/manual) if desired.
- Google Analytics instrumentation plan
Define key events (downloads/onboarding, I’m Going, post created, upvote, feedback submitted, deal views) and implement tracking.
- Rollbar setup
Integrate Rollbar in React Native/Expo and Next.js/backend; configure environments and source maps.
- Basic dashboards + alerts
Set up baseline monitoring/alerts for errors and key system health metrics (esp. launch weekend).
- Landing page content + layout
Implement responsive marketing pages (home, about, privacy policy/terms, contact).
- App store deep links
Add links/badges for iOS App Store and Google Play (when available).
- SEO + analytics tagging
Configure metadata/OG tags; add Google Analytics tracking.
- Feed post data model + APIs
Schema for posts (showId, userId, category, text, timestamps), upvotes, reports; CRUD endpoints and pagination.
- Create post flow in app
UI to select category, enter text, and submit; show posting rules and rate limits if needed.
- Feed list UI + filters
Implement feed screen with category filter chips and recency sorting; refresh and pagination.
- Upvote system
One-upvote-per-user-per-post; update counts efficiently.
- Report/flag system
User reporting UI; store reasons; hide/review pipeline.
- Auto-hide by age + configuration
Server-side filtering to exclude posts older than configurable threshold per show.
- Admin moderation tools
Admin UI to review, hide/delete posts, and manage reports.
- Define venue data model + migration/import pipeline
Create DB schema for venues; build one-time (and optionally repeatable) import from existing venuellama.com dataset; validate geocoordinates and required fields.
- Store and serve seating chart images
Decide storage (e.g., object storage) and implement upload + retrieval for static seating chart images.
- Venue list + search/browse in app
Implement venue directory UI in React Native; support basic search/filter and venue detail navigation.
- Venue profile screen
Build venue profile UI with policies, parking text/map image, and outbound link to official website and/or maps.
- Admin venue management
Admin CRUD for venues including editing policies/parking text and uploading seating charts.
- Business account onboarding + verification
Create business role accounts; collect profile data; implement verified badge workflow (admin-controlled).
- Distance calculation
Compute distance from venue using venue/business coordinates (Google Maps SDK and/or server-side haversine).
- Business posting workflow
UI/API for businesses to draft posts; enforce 1–2 per show-day; tie posts to show and Deals category.
- Admin approval queue
Admin UI to approve/reject business posts before they appear in feed.
- Deals feed integration
Ensure approved business posts display in Deals category and are visually differentiated if desired.
- Business analytics
Track post impressions/views and upvotes; present analytics dashboard to business users.
- Implement auth (email + Google + Apple)
Set up authentication for mobile; support account linking and session management.
- User profile data model
Schema for profile fields (display name, photo URL, home city) and preferences.
- Profile/settings screens
Mobile UI for editing profile and managing notification toggles.
- Role-based access control (RBAC) for admin/business
Define roles (user, business, admin/moderator) and enforce permissions across APIs/admin.
- Notification preference model + UI wiring
Store per-user toggles for each notification type and apply to scheduling logic.
- Push notification infrastructure
Set up APNs/FCM via Expo; device token registration; environment configuration.
- Notification scheduling jobs
Background jobs to send notifications at relative times; handle timezone; retry/failure logging.
- Weather API integration
Fetch forecast and include in notification templates; cache to reduce API calls.
- Deep linking into app
Implement deep links to Plan Your Visit and Live Feed screens from notifications.
- Transactional email setup (Resend)
Configure Resend for email verification/passwordless/login links or key transactional messages if required.
- Geofence/geo-radius detection
Implement location permission flow and geofencing/continuous location checks optimized for battery; define radius per venue.
- Lot Mode UI
Create simplified UI with large category buttons and fast navigation into filtered feed views.
- Activation rules + fallback
Define when lot mode is available (active show only, near venue, user opted-in) and provide manual toggle if needed.
- Feedback prompt + scheduling
Trigger post-show prompt via notification/in-app; enforce 12-hour timing and show completion logic.
- Feedback data model + UI
Implement ratings/comments capture and persistence; validation and editing rules.
- Setlist.fm integration
Fetch setlist for show (match by artist/date/venue); cache results; handle missing setlists gracefully.
- Archive screens (Concerts Attended)
Mobile UI for attended shows list and detail view including setlist (if unlocked), ratings, comments.
- Lifetime stats computation
Compute total shows attended and unique venues visited; display in profile.
- Define show/event data model
Schema for shows including artist, date, doors, showtime, venue association, external IDs (JamBase) and status (active/archived).
- JamBase import job
Implement scheduled/manual import from JamBase API; dedupe/merge with admin edits; map venues to imported events.
- Show listings UI
Mobile UI to browse shows by venue/date and open show detail pages.
- Show detail page + I’m Going toggle
Implement one-tap toggle, persist RSVP, and add to My Shows.
- My Shows screen
List upcoming shows user marked; navigate to show detail/live feed.
- Admin show management
Admin CRUD for shows; ability to override imported data and set show active window.
- Integrate Google Maps SDK with Expo
Configure Google Maps SDK keys and setup for iOS/Android within Expo (including build config) and test map rendering.
- Venue map view + directions
Add map view(s) on venue/show screens with marker(s) and a one-tap open-in-maps directions flow.
- Location permissions UX
Implement permission prompts and settings guidance for location features (lot mode, nearby venue detection).
- Test plan + regression QA pass
Create and execute a regression checklist across critical user flows, admin flows, notifications, and edge cases; verify on iOS and Android devices.
- Bug triage and fixes
Triage issues, prioritize launch blockers, and implement fixes; verify fixes and prevent regressions.
- Performance and reliability polish
Optimize API performance, app startup, feed loading, and background jobs; verify stability under expected launch load.
- App Store / Play Store submission prep
Prepare screenshots, descriptions, privacy labels, data safety forms, and compliance requirements; configure signing, build pipelines, and submit builds for review.
- Production readiness checklist
Confirm monitoring/alerts, Rollbar, GA events, backups, and incident response basics for launch weekend.
- Create GitHub repo + baseline project structure
Initialize monorepo or multi-repo structure (mobile + web + API), branching strategy, CODEOWNERS, and basic documentation.
- Database provisioning + schema baseline
Provision database (e.g., Postgres on Render) and create initial schema/migrations framework for venues, shows, users, posts, etc.
- API server scaffolding
Create Next.js API route handlers or dedicated API service; set up auth middleware, environment config, and health checks.
- CI/CD pipelines
Configure CI (lint/typecheck/tests) and CD to Render for web/API; set up preview deployments if desired.
- Test infrastructure
Set up unit/integration test frameworks for API and web; basic e2e smoke test hooks for mobile if feasible.
- Landing page scaffold (Next.js)
Create initial marketing site scaffold with placeholder content and routing; connect analytics hooks as needed.
- Mobile app skeleton (Expo)
Initialize Expo app, navigation/routing, environment handling, build configs, and a basic screen skeleton to unblock feature work.
Milestones
Milestone 1
Assigned Features
- Foundational venue database + venue profiles
- User accounts + authentication + profile/settings
- General development setup (foundations)
Milestone 2
Assigned Features
- Plan Your Visit screen (per show)
- Marketing/landing website (Next.js)
- Automated notification system
- Lot Mode (geo-activated simplified UI)
- Post-show archive (digital ticket stub) + feedback + setlist unlock
- Concert discovery + show pages + My Shows
- Google Maps integration (in-app maps + location features)
Milestone 3
Assigned Features
- Admin dashboard (Next.js)
- Status banner for active shows
- Live real-time feed (crowdsourced intel)
- Business accounts + deals posting + analytics
Milestone 4
Assigned Features
- Observability + analytics + error reporting
- Launch QA, bug fixing, polish, and app store submission