Santiago González
Live

Case study

Harness Hub

The platform behind a marketing agency's client work: AI-generated landing pages for Google Ads, a visual editor, lead capture, reputation management, and billing, serving many client organizations from one codebase.

  • CTO
  • AI
  • Multi-tenant
  • Serverless
  • Durable workflows
01

Problem and context

A service business buying online marketing ends up with a page, a form, review requests, and an invoice from different vendors, and the agency running it all ends up gluing those together by hand. Harness Hub is that loop in one product: crawl the client's brand, generate and edit the landing page, capture the leads and calls it produces, manage reviews and bookings, and bill for it.

02

Santiago's role

CTO and hands-on architect across the product, application architecture, data model, AI generation, background workflows, developer experience, and production operations.

03

Constraints

  • Every client organization's pages, leads, assets, and billing must stay isolated on a shared platform, across three database instances inherited from earlier products.
  • Page generation, bulk onboarding, and brief ingestion run for minutes and call several models, so they cannot live inside a web request.
  • The surface is large, over 150 API routes on serverless, so deploy size and developer feedback loops degrade unless they are managed on purpose.
  • Account and recovery emails are opened by corporate link scanners before the person sees them.
04

Important decisions and tradeoffs

  • 01Route every access check through a single membership resolver in the data layer, so tenancy is one piece of code rather than a rule every feature has to remember, and legacy databases are never on the auth path.
  • 02Run generation, templatizing, bulk onboarding, and brief ingestion as durable workflows, so closing the tab or a flaky connection resumes work instead of leaving it half done.
  • 03Give every client a living brief, maintained by a voice agent from discovery calls, that all other AI features receive as context.
  • 04Move single-use tokens out of GET links after finding that email scanners were consuming password-reset and confirmation links before users could.
  • 05Treat deploy footprint and typecheck time as maintained properties: traced serverless output was cut by 40% and incremental typechecks by 60% once they started slowing delivery.
05

Verifiable proof and concrete improvements

  • Live at app.harness.cloud, serving the agency's client organizations.
  • One product surface covering brand crawling, AI page generation, visual editing, lead and call capture, reputation management, ServiceTitan booking, billing, and a public API with MCP support.
  • Over a thousand pull requests merged since the platform started in late 2025, more than 900 of them authored by Santiago.
06

Results and lessons

  • A single platform where a client's page, leads, reviews, and billing belong to the same organization record instead of four tools.
  • Production reliability that accounts for the systems around the app, including the ones that open links on the user's behalf.

Current status

Live. Santiago continues as CTO.

Links

Back to selected work