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
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.
Santiago's role
CTO and hands-on architect across the product, application architecture, data model, AI generation, background workflows, developer experience, and production operations.
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.
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.
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.
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.