SimplifyLocal
About This Project
SimplifyLocal is a SaaS I founded and built for local home-services businesses, the pressure washers, landscapers, and cleaners who do great work but stay nearly invisible in local search. Every completed job is a piece of proof that a customer searched for, but it never makes it online. On this one I ran three of the four pillars of the startup myself: engineering, product, and marketing. I designed the architecture and wrote the code, decided what to build and why, and took it to market, from positioning and the marketing site to the local-SEO playbook the product itself automates.
It connects to Housecall Pro, the field-service software these businesses already run their day on. When a job is marked complete, a webhook fires and SimplifyLocal drafts a location-specific, SEO-optimized page about that job, written in the business's own voice. The owner reviews it and publishes it to their site in one click, so a finished driveway cleaning in a specific town becomes a page that can actually rank for that work, with no new busywork added to their week.
The interesting engineering is the AI layer, and it's a direct example of the work I do for clients. Rather than generic copy, the system infers each business's branding, its logo, colors, and tone, from their existing website, calibrates a brand voice, and then uses Claude to generate page content that reads like the owner wrote it. An LLM does real work inside the product, but behind guardrails and a human approval step, because the output is the business's public face.
Under the hood it is a multi-tenant Next.js and Supabase application: each account owns one or more businesses, with role-based access for admins, editors, and viewers. It integrates Google Business Profile and Google Search Console so the same completed-job signal also feeds the business's local listing and shows owners which pages and keywords are gaining traction. Alpha Pressure Washing is the design partner the product was built alongside, with the second customer onboarding now.
Key Features
- •Housecall Pro webhook ingest: a completed job automatically becomes a draft, SEO-optimized page, with no manual data entry from the owner
- •LLM-generated page copy in each business's own brand voice (Claude), always reviewed by the owner before anything goes live
- •Automatic brand inference that pulls logo, colors, and tone from a business's existing website so generated pages stay on-brand
- •One-click publish of location-specific job pages to the business's site, structured to rank for the work they actually do
- •Multi-tenant architecture: accounts own multiple businesses, with admin, editor, and viewer roles
- •Google Business Profile integration that turns completed jobs into profile activity
- •Google Search Console sync so owners can see which pages and keywords are gaining traction
- •Scheduled email digests that summarize new pages and search performance without the owner having to log in
Technologies Used
Technical Challenges & Solutions
Generating marketing copy that sounds like the business, not like a generic AI.
I built a branding-inference step that derives each business's voice and visual identity from their existing site, then constrained the model with that profile and a review-before-publish gate. Owners approve every page, so the automation saves hours without putting words in their mouth they would never say.
Multi-tenant data isolation, where a single bug could leak one business's data onto another's pages.
I modeled accounts, businesses, and memberships explicitly and enforced separation at the database layer with Supabase row-level security, using distinct service, anonymous, and authenticated clients so the webhook path, the publish path, and the signed-in app each get only the access they need.
Depending on third-party platforms (Housecall Pro, Google) whose webhooks and APIs I don't control.
I verified webhook signatures and made ingest idempotent so retries and duplicate events can't create duplicate pages, and isolated each integration behind its own client so an outage or API change in one doesn't take the rest of the product down with it.
Lessons Learned
- •Build on software customers already use. Starting from a completed job they had already logged in Housecall Pro meant SimplifyLocal could deliver value without asking owners to change their workflow or enter anything new.
- •AI is most valuable with a human in the loop. The review-before-publish step is exactly what makes owners trust automated copy about their own business; full autonomy would have cost the trust that makes the product usable.
- •Develop with a design partner. Building alongside a real pressure-washing business kept the roadmap anchored to daily reality instead of my assumptions about local SEO.
Conclusion
SimplifyLocal is launched and live, built alongside a real design partner with a second customer onboarding. It's the clearest example of how I approach AI integration in practice: a language model doing genuinely useful work inside a multi-tenant product, wired into the tools a business already runs on, with the architecture and guardrails to be trusted with a company's public-facing pages. It's also proof of range: I carried it from architecture through go-to-market, three of the four pillars of the startup, not just the code. The same work I do for clients, with my own name on the result.