VenueIQ™ · Sprint History

Built by Agent. Shipped to Production.

Every sprint below was planned, executed, reviewed, and deployed entirely through Claude Code. No traditional dev team. No sprint ceremonies. Each sprint was a natural-language prompt turned into production-ready code — from database schema to live UI.

18
Sprints Shipped
22d
Jun 22 → Jul 13
24,828
Venues Scored
45K+
Map Pins Live
Phase 1 — Platform Foundation
Jun 22
S-0Project Init & Scaffold
Done
Bootstrapped the Next.js 15 App Router project with TypeScript strict mode, pnpm, Tailwind, ESLint, Husky pre-commit hooks, Zod env validation, and full folder structure. Zero business logic — pure scaffolding that all subsequent sprints depend on.
Next.js 15 TypeScript strict Zod env validation Husky hooks Tailwind CSS
Jun 22
S-1Database Schema & Multi-Tenancy
Done
Designed and deployed the complete Supabase PostgreSQL schema: organizations, users, api_keys, webhooks, usage_events, venues, venue_receipts, and venue_scores. Row Level Security enforced on all tenant tables. Indexes on all query-critical columns.
Supabase PostgreSQL Row Level Security 8 tables Indexes + triggers
Jun 22–23
S-2Auth System & Route Protection
Done
Implemented Supabase Auth for human users: signup creates org + user in a single transaction, JWT contains org_id custom claim. Middleware protects all dashboard and admin routes. Login page built with animated split panel.
Supabase Auth JWT org_id claim Route middleware Login UI
Jun 23
S-3Security Sprint
Done
Hardened the auth layer with Cloudflare Turnstile CAPTCHA on login, US geo-gate (non-US requests blocked), session timeout, and DBA trade-name visibility logic. VenueScore™ name blur enforced for scores below 600.
Turnstile CAPTCHA US geo gate Session timeout Score <600 blur
Jun 23–24
S-4Account Menu & Mobile Sprint
Done
Added avatar-based account dropdown (profile, admin switcher, sign out), VenueGradeBrowser interactive grade + county showcase on the home page, and fully responsive layouts for login, home, and grade browser on mobile breakpoints.
Account menu Grade browser Mobile responsive
Phase 2 — Admin & Dashboard
Jun 27
S-5Live KPI Dashboard
Done
Built the /dashboard page with real-time KPI stats pulled from Supabase: total venues, score distribution, top counties, latest data period. Standalone page decoupled from the admin sidebar so it works for both admin and future subscriber views.
/dashboard page Live KPI stats Score distribution
Jul 1
S-6Admin Redesign & VenueScore™ Showcase
Done
Overhauled the admin panel with a clean grayscale design language. Redesigned the VenueScore™ showcase with grade scale, pillar definitions, and sample profile card. Login page upgraded with a light-theme animation panel showing grade distribution and a live venue profile sample.
Admin grayscale UI VenueScore™ showcase Login animation
Phase 3 — TABC Data Pipeline & Map
Jul 3
S-7Venue Pins Map (Leaflet)
Done
Deployed a Leaflet.js interactive statewide map at /map with every geocoded TX venue as a lat/lng pin. Map URL encodes lat/lng/zoom state. County choropleth view available in admin. Fixed Vercel/Turbopack build compatibility with dynamic SSR bypass.
Leaflet map URL-encoded state County choropleth
Jul 5
S-8Geocoding Pipeline & Vercel Blob Map
Done
Built address-to-coordinate enrichment pipeline using Google Geocoding API with delta-only updates and billing guard. Pre-serialized the full venue coordinate set into Vercel Blob storage for zero-DB-query map loads. Map now renders all geocoded venues at statewide zoom with full venue coverage blob.
Google Geocoding Delta job + billing guard Vercel Blob Zero DB per visitor
Jul 5
S-9Dashboard Sprint 2 — Trend Chart & Profile Card
Done
Extended the dashboard with a 6-month statewide revenue trend chart, alcohol composition visual (spirits/beer/wine benchmark breakdown), venue universe bar (license type distribution), and a full-featured venue profile card with VenueScore™ pillars.
Revenue trend chart Composition visual License type bar Profile card
Jul 8
S-10Map Sprint 3 — Search, Filters & Grade Layer
Done
Added a search bar to the map with Nominatim geocoding for city/address lookup, venue type filter (bar/restaurant/nightclub), VenueScore™ grade filter (A+ through F), and DBA trade name fallback so searching "La Mancha" resolves to the correct Austin venue.
Map search Venue type filter Grade filter DBA name lookup
Phase 4 — Public Product & Search
Jul 8
S-11Search Sprint 1 — Venue Data Table
Done
Replaced the map-and-card search UI with a sortable, paginated venue data table at /search. Sort by VenueScore™, city, gross receipts. DBA trade name shown alongside TABC legal name. Profile link on every row.
Sortable table Pagination DBA + legal name
Jul 9
S-12LLM Agent — /ask Chat UI & Tool-Use API
Done
Shipped a Claude-powered natural-language query interface at /ask. Claude uses tool-use to query live venue data: VenueScore™ lookups, market comparisons, revenue trends. Agent has Agentic Dave persona and identity injected into the system prompt. Floating widget embedded on /dashboard.
/ask page Claude tool-use Dashboard widget Agentic Dave persona
Jul 11
S-13Scores Leaderboard
Done
Built the /scores leaderboard with server-side filtering across all 45,000+ venues. Filter by grade, city, county, license type. Score badge color-coded by grade tier. Handles the full venue universe without pagination limits through smart server queries.
45K+ venues Server-side filter Grade + city + county
Jul 11
S-14Public Pages Sprint — Nav, Stats, Tracker, Help
Done
Launched the public-facing product suite: statewide stats page (/stats), venue lists by city (/cities), TABC permit tracker (/tabc-tracker), help & documentation hub (/help), county search, and D2/D3 charts for market visualization. Unified public nav across all pages.
/stats /tabc-tracker /help D3 charts Public nav
Jul 12
S-15Search Sprint 3 — Expandable KPIs & Sidebar
Done
Expanded the search page to 1100px 2-column layout with click-to-expand KPI rows per venue (VenueScore™ pillars, TABC receipts, YoY trend). Added a sidebar with Top Venues live from DB, Industry Trends links, and ad slots for Suppliers and Insurance verticals. Nav redesigned with logo left, auth right.
Expandable KPI rows Sidebar 1100px layout Nav redesign
Jul 12
S-16Landing Page Sprint — Hero 2-Col & Venue Spotlight
Done
Redesigned the public landing page with a 2-column hero featuring a live rotating venue spotlight (A+ venues only, 600+ score gate). Grade filter added to the map. Map search fallback handles DBA trade names. Major city labels (Dallas, Austin, Houston, San Antonio) scaled to prominence.
2-col hero Venue spotlight Grade map filter City labels
Backlog — Planned Next
B-1Stripe Billing & Subscriptions
Backlog
Hybrid pricing: flat subscription (Pro/Business/Enterprise) + metered API usage billed via Stripe meter events. Customer Portal, dunning emails, and webhook-driven plan activation/cancellation.
Stripe Checkout Metered billing Customer Portal
B-2API Key System & Partner Access
Backlog
Machine-to-machine auth via scoped API keys. SHA-256 hashed, prefix-displayed, never retrievable after creation. Rate limiting via Upstash Redis sliding window. RESTful /api/v1/ endpoints for venue data access.
API keys Rate limiting REST API v1
B-3Outbound Webhooks & Plugin System
Backlog
Tenants register URLs to receive HMAC-signed event payloads (venue.updated, score.recalculated, usage.threshold). Delivery engine with automatic retry at 1min / 5min / 30min. Plugin slot architecture for niche service logic.
HMAC webhooks Retry engine Plugin slots
B-4AI Narratives & Market Reports
Backlog
Claude-generated monthly market narratives for Business tier. PDF download for Enterprise. Auto-triggered after each TABC data refresh. Covers revenue trends, score shifts, notable movers, and county comparisons.
Claude narratives PDF export Auto-generated
B-5LLM Agent Hardening & Guardrails
Backlog
Audit log for every agent tool call (params, query, result, session). Prompt-injection resistance on all filter inputs. Geo-level queries served from precomputed cache tables. Data freshness surfaced in every NL answer. Rate limit per user session.
Audit logging Prompt injection guard Cache layer
B-6Production Hardening & GA Launch
Backlog
Playwright E2E test suite, security audit checklist, Stripe live-mode switch, Vercel production environment finalization, SEO content engine (automated venue and market pages for organic acquisition), and staged rollout from internal beta to GA.
E2E tests Security audit Stripe live mode SEO engine GA launch