Full-Stack Product · Live
Sunshine CRM
The agency's own operations platform — every lead from the website, the chat widget, and the voice agents lands in one pipeline. Built, secured, deployed, and validated in six days.
The Lead Loop
One Pipeline, Every Channel
The CRM is the operational home for the voice platform's output — leads arrive on their own and move on schedule.
Captured
A lead arrives from the website contact form, the chat widget, or a live voice agent — each channel its own n8n workflow writing the same lead record.
Pipelined
Drag-and-drop Kanban across multiple pipelines, with per-stage templates and atomic stage updates enforced at the database layer.
Followed up
A daily cron workflow surfaces overdue leads and fires follow-up reminders — nothing sits still because nobody remembered to check.
Measured
Analytics RPCs power dashboards and cross-customer admin views — usage tracked per plan, not bolted on afterwards.
Product Discipline
Built Like a Product, Not a Demo
The things you only bother with when software has to survive real users.
Invite-only access
No public signups. Edge-function emails via Resend, invite tokens with expiry, re-invite flows, and team roles — every auth path validated in production before launch day ended.
Security at the database
Row-level security on every table, built across 15 migrations — multi-pipeline policies, template admin policies, and atomic stage updates live in SQL, not in hopeful frontend code.
Frontend craft
React 19 + Vite + shadcn/ui, installable PWA, mobile-responsive, WCAG 2.2 AA — the same accessibility bar shipped on client sites.
Hardened delivery
CSP, HSTS, and friends via security headers; a custom Vite plugin strips every console call from production builds; Cloudflare Pages auto-deploys on push to main.
The Spine
N8N Does the Arriving
Four workflows feed and tend the pipeline — the same n8n instance running the rest of the operation.
Contact Form Handler
Website form → lead record, with duplicates and routing handled in the workflow.
Chat lead capture
The site's AI chat writes qualified leads straight into the pipeline.
Voice lead capture
Every voice-agent call lands as a lead with its booking and cost telemetry attached.
Daily follow-up cron
Overdue leads surfaced daily; reminders fired through Google Calendar and Sheets integrations.
The Build
Seven Sessions, Six Days
From empty folder to validated production — the shipping velocity the rest of this portfolio runs on.
Sessions 1–2 · May 19–20
The frontend ships — 35 features
React 19 + Vite + Tailwind + shadcn/ui, PWA, mobile responsive, WCAG 2.2 AA.
Sessions 3–4 · May 20–21
The backend spine
Four n8n workflows, RPCs, usage tracking, Google Sheets and Calendar integration.
Session 5 · May 22
People can get in
Resend SMTP with branded email templates, edge functions, invite and re-invite flows.
Session 6 · May 23
It ships
Repo cleanup, git push, Cloudflare Pages deployment, security headers.
Session 7 · May 24
It's validated
Every auth flow passes in production; first pipeline bug found and fixed.
The CRM runs the agency's pipeline today — invite-only by design, so you'll see the door, not the data.