zsty.us

Before / After · Case Study

Anonymous Media + AM Automations — two brands, one monorepo backend

A Miami business family runs two connected companies: Anonymous Media, a cinematic video-production house, and AM Automations, a Voice-AI receptionist product. Their current presence is a LeadConnector/GoHighLevel funnel page. The rebuild is a pnpm monorepo with two Next.js 15 apps sharing one backend — @repo/db (Drizzle/Neon), @repo/email, and shared config/UI packages — so a customer captured by either brand lands in the same data layer. The media side carries React Three Fiber 3D marketing surfaces; the automations side sells the Voice-AI receptionist; and consumer SMS opt-in is wired to the central og_life store. Built and ready; deployment to the family's domains is the pending step.

Two family businesses, one customer pool — the monorepo makes that literal: two faces, one backend.

Receipts — measured

Numbers that moved.

0
Brand apps sharing one backend
was 0
0
Shared workspace packages (db · email · config · ui)
was 0
  • 2 brands (video production + Voice-AI receptionist) · 1 monorepo
  • Shared @repo/db (Drizzle/Neon) + @repo/email across both apps
  • React Three Fiber / three.js 3D marketing surfaces
  • SMS opt-in wired to the central og_life multi-brand store

The story

Problem · Insight · Build · Outcome.

  1. 01 · Problem

    Two real businesses behind one rented funnel page.

    A cinematic video-production company and a Voice-AI receptionist product shared a family, a customer pool — and a LeadConnector funnel that flattened both into the same template. Neither brand's actual strength was visible.

  2. 02 · Insight

    Related brands deserve a shared backend, not shared branding.

    The businesses cross-sell naturally (a media client is an automations prospect), so the data layer should be one thing while the brand surfaces diverge completely. A monorepo with workspace packages is exactly that shape.

  3. 03 · Build

    Monorepo: two apps, four shared packages, 3D where it earns its keep.

    pnpm workspace with two Next.js 15 apps over @repo/db (Drizzle/Neon), @repo/email, shared config and UI. R3F/three.js marketing surfaces on the media side; product storytelling for the Voice-AI receptionist on the automations side; og_life SMS opt-in wired for both.

  4. 04 · Pending

    Built; awaiting deployment to the family's domains.

    The legacy GoHighLevel site still answers at anonymousmediallc.com — that's what the before-captures show. After-captures and the afterUrl land here the day the monorepo deploys to the real domains and DNS cuts over.

Architecture

One chain replaced by another. Receipts above.

Old stack
  • GoHighLevel funnel
  • Disconnected brands
  • Rented templates
New stack
  • pnpm monorepo
  • 2 Next.js 15 apps
  • Shared @repo/db + @repo/email
  • R3F 3D surfaces
  • og_life SMS rails

What changed

Grouped by what kind of system shipped.

Each claim ships with concrete evidence — env vars, table names, cadence chips. No marketing fluff.

Design

A video-production house that finally looks like one

The media app trades the funnel template for cinematic 3D: React Three Fiber scenes and motion-driven marketing surfaces that demonstrate the company's craft instead of describing it. A production house's site is its first reel — this one finally performs like it.

Before
A GoHighLevel funnel page with stock sections.
After
Bespoke R3F 3D surfaces that are themselves the portfolio piece.
Agent backbone

One backend under two brands

Both apps consume @repo/db (Drizzle/Neon) and @repo/email from the shared workspace — a lead captured by the video brand is queryable next to an automations customer, and email templates, config, and UI primitives are written once. The family's two businesses stop being data silos.

  • @repo/db + @repo/email + shared config/ui packages
  • Two Next.js 15 apps in one pnpm workspace
Retention

Consumer SMS on the portfolio's central rails

SMS opt-in routes to the central og_life store — the same multi-brand consent infrastructure the rest of the portfolio rides — so the family owns its audience with TCPA-clean consent rows from day one, without standing up its own SMS stack.

← All rebuilds

Anonymous Media + AM Automations — two brands, one monorepo backend — zsty.us