System architecture · v1

What runs underneath. How the data moves. What the client owns.

A one-page brief on how the platform is put together, where the data lives, and what the client owns. Written so a prospect can evaluate the architecture before booking the demo, and so procurement can read it without a sales call.

1 · The shape

Three layers. One feedback loop.

The platform is three layers stacked: a model layer (a self-hosted, single-tenant model), an orchestration layer (a set of scoped specialist agents that compose into content, ad, outbound, and LinkedIn pipelines), and a surface layer (the agency-branded dashboard, the client-branded blog, the connected ad account, the connected LinkedIn profile). Every layer reads from and writes to one shared store so the loop closes . ad outcomes feed the next content brief, content outcomes feed the LinkedIn cadence, LinkedIn outcomes feed the next ad budget.

There is no third-party LLM call inside the stack. There is no per-token vendor charge passed through to clients. The data layer is a managed database in a single US region with media in object storage in the same region. We name our subprocessors on request.

SURFACEagency dashboard · client blog · ad account · LinkedIn profileORCHESTRATIONspecialist agents · content / ads / outbound / linkedin pipelinesMODELself-hosted · single tenant · per-client learning loop↑ feedback · ↓ generation · single managed store, single US region
2 · The model layer

One model. Self-hosted. Single tenant. Learning on each client’s data.

The model is ours. Inference runs on infrastructure we control. No hosted LLM API is in the loop, which means an agency’s clients do not appear in a third-party vendor’s training data, ever.

This is the architectural choice with the most downstream consequences. Per-call cost is fixed against server capacity, not per token. Latency is predictable . no shared rate-limit queue. Each client gets a private learning loop: the model trains on their data and their outcomes without that data leaving the platform. When the client exports their model, what they get is the artifact we trained, not a vendor’s hash of it.

The trade-off: peak throughput is bounded by our capacity, not elastic to a cloud vendor. We design pipelines to be serial per item with a strict concurrency cap, so the work queue never exceeds inference capacity.

3 · The agent system

Eight specialists. Each does one thing well.

Every specialist is a scoped prompt over the same model. Pipelines compose them. The composition is what produces a publishable article . no single specialist could do it alone, and that’s the design intent.

Editorial

Sets the brief. Reads the strategy, picks the topic, and decides what the article needs to argue.

Research

Gathers source material . news, the client's prior content, competitor coverage. Distills the synthesis the writer needs.

Writing

The opener, body, and close. Calibrated to the client's data on every cycle. One ask, one reply, no internal back-and-forth.

Editing

Tightens. Cuts the throat-clearing. Catches what the writer repeats across articles. Flags model drift before it ships.

Internal links

Reads the published library and adds the right backlinks: in-article anchors to older posts, breadcrumbs to pillar topics, the CTA block at the close.

Visuals

Sources the hero image. Picks the in-article visual cadence. Keeps the layout calm . no stock-photo flood.

LinkedIn drafting

Drafts each post calibrated to the connected user's data, slanted by their role and company context. Learns from every edit.

LinkedIn engagement

Surfaces relevant feed activity and drafts thoughtful replies the founder can send in seconds.

4 · Data ownership

What the client owns. Where it lives.

The lander promises that the client owns the moat. This is the literal mechanic . five categories of data that route to surfaces the client controls, with concrete export paths.

Subdomain blog content
Lives at the client's subdomain via DNS the client controls. Articles are static HTML; we never gate them behind a vendor URL.
Per-client model
A portable artifact trained on the client's data alone. Exported as a JSON definition any day. Not encrypted to a vendor key.
Backlinks
Articles link to the client's primary domain. The authority lift goes there, not to a YG3 property.
Attribution data
Conversion events flow through the client's analytics. We mirror the rollups for in-platform reporting; the source-of-truth is theirs.
Lead enrichment
Contact list, personalization hooks, and reply text from the outbound flow. Exportable as CSV per client per campaign.
5 · Cadence

What runs on its own. What waits for approval.

The platform automates production. Decisions that need a human stay with the operator. Every automated step emits an audit row . duration, rows touched, any error . available on request for compliance review.

Continuous
Outbound acquisition
Discovery, enrichment, qualification, and first-touch sends. Backlog-gated . the platform never over-discovers into a clogged sender.
Nightly
PPC optimization loop
Scans campaign performance, pauses underperformers against a seven-day window, queues rollback checks. The reasoning behind every decision is logged.
Weekly batch
Editorial draft week
Drafts the upcoming seven days of articles for every client in one batch. Clients review over the weekend. The platform publishes Monday overnight.
Daily
LinkedIn presence loop
Queues posts in the founder’s cadence, surfaces the day’s most relevant feed activity, and refreshes engagement data on every connected account.
Daily
Dashboard refresh
Pulls fresh metrics from the connected ad, analytics, and CRM accounts. The client's dashboard reflects production data continuously, not in a monthly PDF.
6 · White-label & billing

The agency’s brand on top. The agency’s payment processor underneath.

The dashboard a client logs into routes through the agency’s subdomain (or primary domain when DNS is configured). Branding . logo, color, font, signature . is per-agency and applied at render. Email-from addresses route through the agency’s verified sending domains.

Billing supports two modes. In agency-direct mode, the agency invoices the client at any number it chooses and pays YG3 the wholesale rate separately. In passthrough mode, the client’s card is charged on the agency’s connected payment account and the wholesale fee routes to YG3 automatically through a signed, audit-logged split. The agency picks the mode per client.

The connection between the agency’s payment account and the platform is OAuth-based and signature-verified end-to-end. We do not store payment credentials ourselves and we are not a payments aggregator.

7 · Security posture

What's hardened. What's tracked. What's open.

A short list of guardrails we hold ourselves to today. We don't claim to be SOC 2 . we'll say so when we are.

Encryption
AES-256 at rest. TLS 1.2 or higher in transit. Every endpoint, every storage tier.
Data residency
US-hosted, single region. Zero cross-border data flow for any operation, including model inference.
Auth
Magic-link email for client users; password + remember-token for administrators with 2FA on every admin account.
Per-client isolation
Every data access is scoped by client identifier. Audit-logged. Per-client model means one client’s data never trains another’s.
Payment webhooks
Signature-verified on every event. Replay-safe: the same event arriving twice never double-processes.
Third-party OAuth
Per-agency. State is signed on initiation and verified on callback. Tokens minted just-in-time per request, not cached.
Public-page sanitization
Public blog pages render structured data with strict sanitization to prevent injection through any field a user can populate.
Model isolation
Inference infrastructure is reachable only through the platform’s authenticated APIs. No public ingress to the model itself.
8 · Export

Concrete export paths. Not "contact us for a quote."

The lander promises portability. Here’s what that actually looks like:

  • Subdomain contentArticles already publish to DNS the client controls. To leave: point the subdomain elsewhere. The HTML stays at the URLs already indexed; redirects unaffected.
  • Per-client modelSelf-service download from the client dashboard. Single JSON definition, importable anywhere a prompt and parameters can be loaded.
  • Attribution CSVPer-campaign, per-channel CSV from the analytics tab. Includes touchpoints, source/medium, and conversion timestamps.
  • Lead historyOutbound contact list with enrichment plus reply history. CSV per campaign.
  • LinkedIn archivePer-account export of every drafted, edited, approved, published, and rejected post, with engagement counts where available.
Questions

Read it, want more detail, want a walkthrough.

For agency owners: book the demo and we'll walk through the architecture against a real prospect of yours. For clients of agencies on YG3: ask your agency for the export options listed in section 8 . they're self-service in the dashboard. If something's missing or unclear, write to team@yg3.ai.