Brightbase · Planning Assessment

The Diagram Engine

A system to produce Okta- and Hightouch-grade B2B SaaS diagrams for clients — on brand, at scale.
Operated by Brightbase (internal) Branding Per-client Output Editable vector (SVG/Figma) Status v1 — for your review
Contents
  1. The bet, in one breath
  2. Decisions locked
  3. Reference teardown
  4. Atomic elements of a diagram
  5. The engine (the core idea)
  6. How we build it
  7. The workflow, end to end
  8. Phased build plan
  9. Open decisions for you
01

The bet, in one breath

Okta and Hightouch don't make "nice diagrams" — each runs a system: a tight set of color, type, spacing and shape rules, plus a handful of signature patterns, applied with discipline every single time. That's why they look expensive and consistent.

So we don't build "a diagram maker." We build a token-driven diagram engine where three things plug together — a client's brand, a chosen visual style, and a diagram type — and a finished, editable, on-brand diagram comes out the other side. Re-branding the same diagram for a different client becomes a one-click swap. That swap is the whole product.

The payoff: once a diagram exists, producing the same diagram in any client's brand — or a new diagram in a brand we've already set up — takes minutes, not a designer's afternoon. That is what "at scale" means here.
02

Decisions locked

Your three answers point at exactly one architecture — they're mutually reinforcing.

Why they fit together: "per-client, at scale, editable" can only be hit if branding is a token file and the output is code-defined vector. Hand-drawing in Figma can't scale; template images can't re-brand. The engine approach is the one path that satisfies all three.
03

Reference teardown

We pulled both brands apart down to the hex values and signature moves. They are two different aesthetics with shared DNA — and that contrast is a gift, not a problem.

OKTA
Flat, calm, editorial. Best at flows — auth handshakes, sequences, processes.
Color: soft per-actor pastel lanes — each participant owns one tint.
#FFF2D9
#D0E0F8
#CCD4E4
#ECE0E6
#3A93A4
Depth: strictly flat — no shadows, no gradients, white background always.
Signature moves: numbered straight arrows (read like recipe steps), circle = sender / diamond = receiver, direction encoded by color (blue out, rose back), the product's logo dropped straight into its node, API paths in teal monospace.
Your Application
A flat tinted node on a dashed lifeline — calm and legible.
HIGHTOUCH
Glassy, premium, alive. Best at architecture — data flows, integrations, stacks.
Color: a two-green system + warm neutrals. Mint is an accent only.
#007A92
#40DE9E
#50BFD3
#101111
#E0DEDF
Depth: flat-with-glass — frosted blur, soft shadow, a teal glow, animated "data in motion."
Signature moves: frosted pill/card nodes, every third-party logo in an identical tile so a messy logo set reads as one tidy grid, thin curved lines with mint flowing dashes, three-lane left→right composition (sources → center → destinations), counts/IDs in monospace.
Snowflake
2,988 rows
live
A frosted logo-tile card with a status pill — premium control-panel feel.

The shared DNA (this is what we actually build)

The strategic read: these aren't competing styles to choose between — they're our first two style packs. Okta = our "Flow" pack; Hightouch = our "Architecture" pack. A client's brand (their colors/fonts/logos) plugs into whichever pack the diagram calls for.
04

Atomic elements of a diagram

Every diagram in this space is assembled from the same small kit. This kit becomes our component library — build each piece once, reuse forever.

Structural primitives — the skeleton
Node · a service / app / product Actor · a user or external system Data store · DB / warehouse / queue Connector · the line between things Port · where a line docks on a node Container · a group / suite / region Boundary · a trust zone / perimeter Lane · a swimlane by owner or stage Canvas · grid / background field
Content primitives — the meaning
Title Node label Edge label · "syncs", "OAuth" Step badge · 1 → 2 → 3 Callout · a pointer note Legend · the key Status badge · "live", "99.9%" Icon / logo
Diagram types — the assembled patterns we'd support
System architecture Data flow / pipeline Integration / network Sequence / auth flow User journey Deployment / topology Before vs after Layered stack Marketing hero
Read this way: a type (e.g. integration) decides the layout; a style pack (e.g. Hightouch) decides how the primitives look; the brand tokens decide the exact colors, fonts and logos. Same kit, infinite outputs.
05

The engine — the core idea

Four inputs combine into one output. Change any one input and the diagram updates — that separation is the entire design.

Brand
Client tokens
Colors, fonts, logo set. One swappable file per client.
×
Style
Style pack
Flow (Okta) or Architecture (Hightouch). How things look.
×
Type
Archetype
Sequence, integration, data-flow… How things arrange.
×
Content
The spec
The actual nodes, edges and labels for this diagram.
Result
On-brand editable diagram
06

How we build it

We researched every realistic approach against five tests: can it look Okta/Hightouch-grade, can it repeat, can it re-brand per client, can an AI drive it, and can it export clean vectors. One path wins; one stays in the back pocket; the rest are traps.

Primary — a custom branded component library that renders to SVG, auto-arranged by a layout engine, and authored by AI from a structured brief. It's the only approach that hits a top-tier brand ceiling (we own every pixel), makes per-client re-brand a one-file swap, and is the most natural thing for an AI to drive (it writes a structured spec, not pixels). Exports clean SVG → PNG / PDF / Figma.

The recommended stack, in plain terms

The fast lane (kept in reserve)

For quick, internal, "good enough" diagrams we keep a diagram-as-code fast lane (a tool called D2): the AI writes a few lines, a per-client theme is applied, and it batch-renders. It gets ~80% of the polish for ~20% of the effort — useful for volume drafts, not for the showcase pieces.

What we deliberately avoid

07

The workflow, end to end

What it actually feels like for a Brightbase operator to make one diagram — and then ten.

1
Intake
Operator picks the client (loads their brand), the diagram type, and the style pack — then describes the diagram in plain English.
2
AI drafts the spec
The assistant turns the brief into a structured draft — the nodes, the connections, the labels, the steps. Operator reviews and edits in plain language.
3
Render
The engine auto-arranges everything and paints it in the chosen style with the client's exact colors, fonts and logos. Out comes a clean diagram.
4
Refine
Operator tweaks — rename a node, swap a logo, reorder a step, change the accent. Re-render is instant.
5
Export
Editable SVG (plus PNG / PDF, and Figma layers). Drops straight into the client's deck, doc, or site.
6
Reuse & rebrand
Same spec + a different client's brand = a new on-brand diagram in seconds. This step is where "at scale" actually pays off.
08

Phased build plan

Each phase ends in something you can see. We prove the magic on one real diagram early, then widen.

PHASE 0Foundations
The plumbing nothing works without.
  • Define the brand-token format + build the first two client brand profiles (plus a Brightbase default).
  • Build the atomic component library from §4 as theme-able vector pieces.
  • Stand up the project repo, deploy target, and the review Hub.
PHASE 1One diagram type, end to end — the proof
Walk the entire pipeline on a single archetype, on a real client.
  • Recommended first type: integration / architecture in the Hightouch "Architecture" pack — the most-requested B2B SaaS diagram and the best showcase for per-client logos and color.
  • Brief → AI spec → auto-layout → branded SVG → export, working start to finish.
PHASE 2Re-brand + second style pack
Prove the core promise.
  • Swap one client's brand for another and re-render the Phase-1 diagram — the "at scale" demo.
  • Add the Okta "Flow" pack so we have two looks across N brands.
PHASE 3More diagram types
Widen the catalog.
  • Add sequence / auth flow, data-flow / pipeline, before-vs-after, layered stack.
  • Add Figma-layer export for clients who want to edit natively.
PHASE 4Operator experience + true scale
Make producing a diagram fast and repeatable.
  • A clean intake + refine interface so an operator goes brief-to-export in minutes.
  • Batch and bulk-rebrand tooling for producing diagram sets across a client roster.
09

Open decisions for you

Three calls I want your read on before I lock the plan and start Phase 0. Each has my recommendation — reply with a number + your pick, or just "go with your recs."

1 Core engine: custom SVG vs the fast lane
Do we invest in the custom branded engine as the core, or lean on the quicker diagram-as-code path?
REC
Custom SVG engine as the core. Only path to Okta/Hightouch quality + true per-client re-brand. More upfront build, far higher ceiling — and the branding is the differentiator.
ALT
Fast lane (D2) first. Live diagrams in days, but a visible quality ceiling. Good as a reserve, wrong as the core.
2 First diagram type to prove it on
Where do we point Phase 1?
REC
Integration / architecture (Hightouch look). The most common B2B SaaS deliverable and the best showcase for per-client logos and color.
ALT
Auth / sequence (Okta look). Choose this instead if your clients skew identity- or security-heavy.
3 What "per-client branding" means
Confirming my read so I build the right thing.
REC
Client's colors / fonts / logos plugged into our style packs. We don't rebuild each client's diagram language from scratch — we apply their brand on top of our proven looks. This is what makes it scale.
ALT
Bespoke per client. Match each client's own diagram conventions exactly. Higher fidelity, far lower scale — only if a few marquee clients demand it.
Once you reply: I'll lock this plan, set up the internal status board + your review Hub, and kick off Phase 0 — all via spun-up sessions. You'll get one short line from me with a link when there's something to see.
Brightbase · Diagram Engine · planning v1 · 2026-05-26