Skip to content

This site is new and updates oftenLast updated Aug 19, 2026, 7:32 AM

Coding

Fjord

Multi-tenant SaaS backend for home-service contractors - lead capture, AI-driven SMS follow-up, and reviews on one stack.

Fjord gives home-service contractors - plumbers, HVAC techs, electricians - a white-label lead-capture website, automated Google review requests after every job, instant 24/7 follow-up on missed calls and texts, and a dashboard that tracks every lead from first contact to close. Onboarding is built to be fast: a short intake form and a walkthrough call, then a contractor is live in about a week, across tenants in the US, UK, and Europe.

I'm the backend engineer on Fjord - I own the API surface every tenant's dashboard, AI workflows, and third-party integrations run on.

fjord.solutions

Fjord marketing site for contractor lead capture and automation
The public site - a white-label front door provisioned per tenant.

59

REST API endpoints

13

database tables

88%

faster client onboarding

<5s

p95 latency, k6-tested

Multi-tenant architecture

Every contractor on Fjord runs on the same Postgres instance and the same API surface, but their leads, pipeline, and site content can never cross. I architected that boundary as a Node/Express backend on Supabase with 59 REST endpoints across 13 database tables, enforcing tenant isolation across three surfaces per business: their dashboard, their sales pipeline, and the white-label site Fjord provisions for them.

Fjord internal admin panel listing client sites, onboarding readiness, and provisioning actions
Internal admin: provisioning a tenant, deploying their GoHighLevel workspace, tracking onboarding readiness.

AI-powered lead recovery

A missed call is the single biggest leak in a contractor's pipeline - a customer who doesn't hear back fast just calls the next plumber. I built the AI layer that closes that gap: a Gemini-powered workflow system that holds a configurable context per customer - the business's services, tone, and pricing rules - and runs the conversation logic for inbound SMS. It qualifies the lead and drafts a personalized reply in that business's voice, automatically, 24/7.

Fjord lead app overview dashboard for a plumbing contractor, showing leads recovered and recovery rate
The lead app: per-tenant recovery metrics, updated as the AI workflow qualifies and re-engages leads.

Integrations, auth & reliability

Fjord's automation reaches outside its own stack - most contractors already run GoHighLevel for CRM and messaging, so I integrated Fjord with GoHighLevel's APIs and webhooks rather than asking anyone to switch tools. Every endpoint sits behind JWT-based authentication, hot paths are cached in Redis, and billing runs through Stripe. Before shipping changes to endpoints every tenant depends on, I load-test them with k6 against a p95 latency budget under 5 seconds. That combination - GoHighLevel integration plus a faster, tested provisioning path - cut client onboarding time by 88%.

  • React
  • Node
  • Express
  • Supabase
  • Redis
  • Stripe
  • GoHighLevel
  • Gemini
  • k6