14Day14Book intro call
← All case studies
PlatformShipped in 14 daysPool ServiceNaples & Bonita Springs, FL

Splash Jacks Pools

A full service-business platform built from a blank repo to a paying-customer launch in two weeks. Marketing site, SEO city landing pages, AI chatbot, customer portal with self-reschedule, operator admin app with route scheduler and photo proof, and Stripe billing wired end-to-end.

Public

Marketing site

Custom-designed homepage, services & pricing, city-targeted landing pages (Naples, Bonita Springs, Estero, Fort Myers, Cape Coral), AI chatbot trained on services + chemistry, lead capture, mobile-first, PWA-installable, dynamic OG images per page.

Customer

Customer portal

Magic-link sign-in (no passwords), visit history with photos & chemistry readings, account info, invoices, ability to reschedule or pause service, request a quote, leave a note for the tech.

Operator

Admin app

Customer + lead + visit CRUD, route-aware day-of-week scheduler, photo proof with GPS + timestamp watermarking, quote system, PDF invoicing, daily admin digest, broadcast SMS, CSV exports, global search, 'needs attention' widgets, analytics dashboards.

What was actually built

The complete feature list. Every one of these is live.

Marketing surface

  • Custom-designed homepage with hero, services, pricing, trust strip
  • 5 SEO city landing pages with per-city OG images
  • About, contact, FAQ, gallery, privacy, terms
  • Free homeowner calculators (chlorine, salt cell, gallons, chemistry, cost, storm prep)
  • AI chatbot grounded in services + pricing
  • Lead capture form → ops dashboard + operator email
  • PWA install, mobile-first, dynamic OG images per page
  • Stealth-mode robots gate that flips at launch

Customer portal

  • Supabase magic-link auth — no passwords, no support tickets
  • Visit history with photos + chemistry readings + notes
  • Live next-visit ETA when a tech is en route
  • Self-reschedule, pause, request quote, leave note for tech
  • Stripe-managed invoices and payment methods
  • Email + SMS notifications via Resend + Twilio
  • Mobile-first responsive — installable as PWA
  • Account, billing, message inbox

Operator admin app

  • Customer + lead + visit/job CRUD with global search
  • Route-aware auto-scheduler keyed off day-of-week and zone
  • Photo proof pipeline: EXIF GPS + timestamp watermarked on upload
  • Chemistry input with normalization + flag thresholds
  • Quotes → invoices → PDF receipt generation
  • Daily admin digest email summarizing the day's ops
  • Broadcast SMS to filtered customer segments
  • CSV exports for accounting / handoff
  • 'Needs attention' widgets surfacing overdue + unhealthy customers
  • Analytics dashboards (revenue, customer churn, chemistry trends)
  • Role-based auth with operator-only admin gate

Integrations & infra

  • Stripe subscriptions + invoicing + webhook handlers
  • Supabase Postgres with Prisma schema + migrations
  • Resend transactional email with branded templates
  • Twilio SMS for visit reminders + ops broadcasts
  • sharp for photo processing, exifr for GPS extraction
  • Anthropic SDK for the customer-facing AI chatbot
  • Vercel hosting with preview deploys per branch
  • Server actions with 50MB body limit for photo uploads
Stack

Same stack we use on every build. No experimenting per project.

Framework
Next.js 14 (App Router)
Language
TypeScript strict, noUncheckedIndexedAccess
Database
Postgres on Supabase + Prisma
Auth
Supabase magic link
Billing
Stripe (subscriptions + invoicing)
Email
Resend
SMS
Twilio
Images
sharp + exifr
AI
Anthropic SDK
Hosting
Vercel
Styling
Tailwind CSS
Lines of code
~25k TS/TSX
The actual two weeks

Day by day, what shipped.

  1. Day 1
    Repo + scaffold + Vercel preview live, basic homepage
  2. Day 2–3
    Customer + visit + chemistry data model, Prisma schema, seed data
  3. Day 4–5
    Operator admin app: customer CRUD, visit logging, photo upload pipeline
  4. Day 6–7
    Auto-scheduler + route view + daily digest email
  5. Day 8
    Customer portal: magic-link auth, visit history, self-reschedule
  6. Day 9
    Stripe subscriptions + invoicing + webhook handlers
  7. Day 10
    AI chatbot, SEO city pages, OG image generation per city
  8. Day 11
    Twilio SMS, Resend transactional templates, broadcast tool
  9. Day 12
    Analytics dashboards, 'needs attention' widgets, CSV exports
  10. Day 13
    QA pass, polish, mobile audit, performance tuning
  11. Day 14
    Domain pointed, Stripe live mode flipped, first paying customer
Results

Live, public, paying.

The site has been live since launch day. Real customers are paying through it. The operator runs the entire business — route, chemistry, photo proof, billing — from the admin app. No spreadsheets, no scribbled chemistry sheets, no manual invoicing.

Time to first paying customer
14 days
Lines of TS/TSX shipped
~25k
Vendor accounts the operator manages
0
Spreadsheets replaced
all of them

Want one built like this for your business?

Three slots open this month for Southwest Florida service operators. 30-minute intro call, fixed price, signed order form same day if it’s a fit.

Book a 30-min intro callSee the pricing