MAPLE GROVE

RESTAURANT WEEK 2025

Full-Stack Case Study

THE BRIEF

The City of Maple Grove was launching their inaugural Restaurant Week and needed a digital platform to coordinate the event. The project required coordinating 40+ participating restaurants, tracking visitor engagement across venues, creating an interactive mobile-first experience, providing real-time analytics for city stakeholders, and building reusable infrastructure for future city events.

The Goal: Deliver a polished, production-ready platform that makes Restaurant Week memorable for participants and measurable for the city—on a 4-month timeline.

Client

City of Maple Grove + Clubhaus Agency

Role

Senior Full-Stack Engineer (Contract)

Timeline

March 2025 – August 2025

Launch Date

August 10, 2025

THE SOLUTION

I built a gamified digital passport that transformed restaurant discovery into a competitive, social experience.

Core Mechanics

  • QR Code Check-Ins — Scan at participating restaurants to collect digital stamps
  • Live Leaderboard — Public rankings drove friendly competition and repeat visits
  • Raffle System — Each stamp = raffle entry for grand prize
  • Social Proof — Live activity feed showing recent check-ins
  • Multi-Language Support — Spanish localization for broader accessibility
  • Role-Based Dashboards — Separate interfaces for public users, restaurants, and city admins

Technical Architecture

  • Frontend: Next.js 14, TypeScript, Tailwind CSS
  • Backend: Supabase (PostgreSQL with Row Level Security)
  • Auth: Clerk (seamless Google OAuth + email)
  • Infrastructure: Vercel Edge (sub-100ms response times)
  • Analytics: GA4 + Vercel Web Analytics + Custom Dashboards
  • Caching: Redis/Upstash (leaderboard performance)

THE RESULTS

Week 1 Performance (Aug 9–17, 2025)

6,066

Unique Visitors

+445% from baseline

21,744

Page Views

+409% from baseline

4,100

Active Users

Engaging with platform

1,055

Total Sign-Ups

728 during launch week

122

Retained Users

12% retention rate

1m 41s

Avg Engagement

3x industry standard

45%

Bounce Rate

11% better than city avg

89%

Mobile Traffic

iOS 69%, Android 22%

399

Stamps Collected

Digital punch cards

TECHNICAL CHALLENGES OVERCOME

Challenge 1: Launch Timeline — 4 Months, Hard Deadline

Constraint

City events have immovable deadlines. Missing August 10 launch = missing Restaurant Week entirely.

My Solution

  • Agile 2-week sprints with clear milestones and stakeholder demos
  • Feature prioritization: MVP core (QR, auth, leaderboard) shipped first
  • Continuous deployment via Vercel enabled daily stakeholder demos
  • Pre-launch runbooks documented every edge case

Result

Launched on-time, on-spec, with zero downtime during Week 1 despite 6K concurrent users.

Challenge 2: Security Without Friction

Constraint

Public-facing app with financial incentives (raffles) = fraud risk. But complex auth = user drop-off.

My Solution

  • Time-Limited QR Tokens (24-hour expiration)
  • Row Level Security at Database Layer (PostgreSQL RLS policies)
  • Rate Limiting on Critical Endpoints (1 stamp per restaurant per day)
  • Clerk Auth = <30 Second Sign-Up (Google OAuth one-click)

Result

Zero security incidents, zero fraud reports, 1,055 successful sign-ups with minimal friction.

Challenge 3: Real-Time Leaderboards at Scale

Constraint

Every stamp = leaderboard recalculation. Naive SQL queries slow to 5+ seconds with 1,000 concurrent users.

My Solution

  • PostgreSQL Materialized Views (30-second refresh)
  • Redis Caching Layer (30-second TTL)
  • Optimistic UI Updates (instant feedback, background sync)

Result

<100ms leaderboard load times even during peak traffic. $0 additional hosting cost (stayed within Vercel free tier).

Challenge 4: Mobile Performance on Low-End Devices

Constraint

89% mobile traffic includes Android users on older devices + spotty 4G/5G connections at restaurants.

My Solution

  • Next.js 14 Server Components (minimal client JS)
  • Vercel Image API Optimization (automatic WebP + size optimization)
  • Performance Budgets in CI/CD (50KB max initial JS)
  • CSS-Only Animations (no JS overhead)

Result

90th percentile performance on Moto G4 (low-end Android benchmark). <1 second Time to Interactive on 4G. Lighthouse score: 95+ on mobile.

PERFORMANCE METRICS

Lighthouse Scores (Mobile, Aug 17, 2025)

Performance
95> 90
Accessibility
98> 90
Best Practices
100100
SEO
100100
First Contentful Paint
0.9s< 1.8s
Largest Contentful Paint
1.2s< 2.5s
Time to Interactive
2.1s< 3.8s
Cumulative Layout Shift
0.02< 0.1

Vercel Analytics (Production, Week 1)

Average Response Time87ms
P95 Response Time210ms
P99 Response Time450ms
Cache Hit Rate78%
Edge Network Requests89%
Error Rate0.02%
Uptime99.99%

BUSINESS IMPACT

For The City of Maple Grove

  • Measurable ROI — First city event with real-time performance tracking
  • Stakeholder visibility — Admin dashboards gave leaders live insights
  • Reusable infrastructure — Codebase architected for future events
  • Regional awareness — 941 Minneapolis users = unexpected brand reach
  • Data foundation — Analytics baseline for future event comparisons

For Participating Restaurants

  • 40 restaurants onboarded successfully within 3-month timeline
  • Traffic insights — Real-time dashboard showing venue engagement
  • Discovery mechanic — Leaderboard incentivized multi-restaurant visits
  • Zero friction — QR system required no special hardware or training

For Users

  • Frictionless discovery — <30 second Google sign-up, instant access
  • Engaging competition — 122 retained users returned daily to check leaderboard
  • Mobile-optimized — 89% mobile traffic validated mobile-first design
  • Bilingual accessibility — Spanish support expanded reach to broader community

CLIENT TESTIMONIAL

"Liam delivered a platform that exceeded our expectations. The Restaurant Passport drove 6,000+ visitors in Week 1 and gave us real-time insights we'd never had before. The leaderboard feature was brilliant—people came back to check their ranking daily."

"What impressed us most was his ability to deliver on a hard deadline while building something that will work for years of future events. This wasn't just a one-off project; it's infrastructure."

— Monica Christensen, Digital Marketing Manager, City of Maple Grove