A demo sub-version of LiveCEO, built from scratch for a family-office owner: five portfolio companies, one knowledge graph with drill-down, pre-built dashboards and competitor intelligence, board-call and pitch analysis with a searchable deck vault, alerts and a morning briefing — with the production voice interface on top, and mock data engineered to hold up under real questions.
You play the family-office owner. The demo answers the question every PE associate asks daily — “what's actually going on inside our companies?” — from the five core surfaces below — plus the operating layer (v2) and the investor layer (v3) — built on the same knowledge base per company that LiveCEO builds for real customers. It is a separate app built fresh, lifting LiveCEO's proven parts, not an adaptation of production.
A force-directed graph of the fund: 5 company nodes sized by revenue and colored by health, plus the cross-company connections (a board member on three boards, a shared vendor). An aggregate KPI strip and the voice dock live here.
Click a company → its own full entity graph (LiveCEO's real 964-line GraphCanvas, lifted verbatim). Every node opens a real wiki page — teams, decisions, products, accounts — with citations. No dead ends.
Deterministic, pixel-identical charts per company (not LLM-generated) — P&L, sales pipeline, dev status, credit book, integration ops, competitive matrix. Numbers are guaranteed to match what chat cites, by construction.
The real LiveCEO agent engine (claude-agent-sdk, Sonnet, Read/Grep/Glob over the wiki — no RAG), lifted unmodified. Curated “killer question” chips guide the associate; every answer carries citation pills into source pages.
The exact production voice stack: OpenAI Realtime over WebRTC (voiceClient.ts, zero changes needed). Scoped to the page you're on — ask the portfolio from home, ask Vortex from Vortex's page. Spoken summary + written cited answer on screen.
Every company gets a canonical financial model first; wikis and dashboards are both derived from it and lint-checked for agreement. If a dashboard says $4.2M ARR, chat says $4.2M. Details in Architecture.
v1 answered “what's going on inside our companies?”. Your feedback adds the outside world and the day-to-day: how competitors are doing and where to beat them, what the internet says about each company, where every task stands, one briefing each morning — and generated decks/SWOTs that land in the dashboards gallery.
A per-company dashboard: head-to-head vs. 3–4 named competitors, their recent moves (price changes, launches, layoffs, review-score slides) scraped from the live web, and explicit threat / opening flags. The key trick: the four invented companies compete in real markets against real companies — so the scraping is genuinely live even though the portfolio is fictional.
A scheduled daily sweep per company and per competitor — news, launches, reviews, hiring signals — written into each wiki as raw/web/… dumps, so chat and voice cite them like any other source. Reuses production's Perplexity-backed web-search lane (with its “part of this answer came from the internet” notice) and the existing cron-refresh pattern.
The task tracker LiveCEO shipped this month, lifted into the demo: per-company boards for anything — register the entity, open the bank account, launch ads in Germany, ship the marketing site — with statuses, owners and due dates. The agent answers “what's blocked?” from the same data the board shows.
A daily digest on Portfolio Home: overnight web signals, tasks that moved, metric deltas, new risks — each line cited. One tap on the mic and the voice reads it to you while you make coffee.
Ask in chat: “SWOT analysis of Solstice” or “a one-pager on Meridian for the LP call” — production's artifact generator produces a full styled document live, and it lands in that company's dashboards gallery next to the pre-built views, shareable and reopenable.
Web search (wiki-first-gated, cited), scheduled jobs, the tasks tracker + tasks dataset, and the artifact-generation pipeline with its gallery are shipped LiveCEO features — the demo repoints them at the portfolio instead of building them. Only the Competitive Matrix layout and the competitor registry are new.
The operating layer watches the market; this layer does the investor's actual job: is each company where its plan says it should be, what did the board calls really commit to, what have we seen in dealflow before — and what should wake us up. Two of these (13–14) add a whole new area to the demo: Dealflow, a sixth nav destination alongside the five portfolio companies.
Each company gets a board-approved plan (milestones, budget, hiring) as first-class wiki pages, and an Alignment tab: plan-vs-actual drift, where the company is actually heading, and — the killer part — bottlenecks management isn't voicing: signals the data shows (a hiring req open 60 days, a QA queue growing, one engineer carrying a blocker) that never appeared in a board deck.
Board-call transcripts land in each company's wiki (raw/meetings/… — an ingestion shape LiveCEO already defines). Every call gets a structured digest: commitments made, numbers claimed, plan changes, action items → straight onto the task board. The plan from #11 auto-actualizes after each call, so “on plan” always means the current plan.
Pitch-call transcripts from prospective deals are stored and indexed for retrospective post-analysis: pull any past pitch, compare claims against what the founder said on the call, search across all of them — “who pitched us usage-based pricing?”, “what did we push back on?”
Every deck is extracted into wiki pages — per project and per founder (founder entity pages accumulate across deals). Search by market, metric, claim, or person: “all logistics-marketplace decks from the last year”, “founder X's previous raise — what did the deck claim?” — with pass/invest memos linked.
Extends the v2 signals job from companies and competitors to industries, and adds alerts: covenant thresholds, milestone slips, negative news about a portfolio company, an industry shock. Alerts fire into a portfolio-wide feed and headline the morning summary. Production already ships the agent's alerts lane — the demo seeds preset rules.
Per company: one board plan + 2 board-call transcripts. Plus a dealflow set of ~10 prospective deals — decks, 3 with pitch-call transcripts, founder pages, pass memos. All generated from the same canonical numbers as the dashboards and wikis, so a transcript never contradicts a chart.
Chosen so the portfolio reads as a real book — each company carries a different risk flavor and a genuinely different KPI vocabulary (ARR/NRR vs. CAC/LTV vs. delinquency vs. TAT/accreditation), which is what makes the graph and the question bank feel real. Names and domains are proposals — Q4.
| Company | Domain | Health | The story |
|---|---|---|---|
| Vortex Gamespreserved anchor customer | Mobile & console games studio DAU/retentionmilestoneslive-ops |
Amber | The anchor asset: a profitable live-ops hit aging out (DAU down 2 quarters), racing a new title to a holiday launch that has to reignite growth. |
| Portside Softwareinvented | Vertical B2B SaaS — freight TMS ARR/NRRpipelinecoverage |
Green | The growth story: ARR +38% YoY on a strong new-logo motion — but NRR slid 118%→109% as the smallest-customer segment frays. |
| Solstice Outdoorinvented | D2C + wholesale outdoor gear CAC/LTVchannel mixcohorts |
Amber | The margin story: paid acquisition stopped paying for itself, and the wholesale fallback is now concentrated in one big-box partner (~34% of revenue). |
| Northlane Financialinvented | Fintech — invoice lending for SMB manufacturers delinquencycharge-offscovenants |
Red / Watch | The risk story: real loan-book growth, but 60+ day delinquency just crossed the 3.5% covenant-relevant threshold. The board needs to see it now. |
| Meridian Clinical Labsinvented | Healthcare — diagnostic-lab roll-up (platform + 2 add-ons) TATpayer mixsynergies |
Green, ops flag | The integration story: on-plan financially — except the newest site is behind on systems migration and its CLIA recertification clock is ticking. |
Each scene defines exactly what the mock data must be able to support: the question, the surfaces it touches, and the citation trail it must produce. These are the demo script.
Northlane Financial. The associate opens the Credit & Loan Book dashboard; the 60+ day delinquency tile is red — 4.2% against the 3.5% covenant threshold.
The agent segments the loan book by origination cohort, finds the Q2-2026 manufacturing-vertical cohort driving it, and surfaces the credit-committee memo that had already flagged underwriting-model drift — answer in 2–3 sentences with citation pills into entities/decisions/q2-credit-policy-review.md and the board-deck raw dump.
All five companies. From the portfolio graph:
The agent compares Solstice's top-wholesale-account concentration (~34% of revenue) against Portside's healthiest-in-book 6%, ranks all five, cites both companies' wikis — one agent turn across the whole portfolio. This scene is why the architecture uses a single wiki root with five company subtrees.
Vortex Games. The Development & Live-Ops dashboard shows Beta slipped two weeks.
The agent answers from milestone dates and burndown, cites the title's entity page and a Jira-shaped raw dump documenting the certification-blocking crash bug, and gives a calibrated answer: still inside the window, nine days of buffer.
Portside Software. On the Sales Pipeline dashboard, an $820K “Committed” deal sits 45 days past its expected close.
The agent surfaces that exact deal, cites the email thread where the champion went quiet, and the account entity page noting a leadership change at the prospect. Numbers, narrative, and next action in one answer.
Portfolio-wide, away from the screen. The associate taps the mic on Portfolio Home:
The Realtime voice session calls ask_portfolio_brain — the demo's portfolio-scoped sibling of production's ask_company_brain — and speaks: “Four of five are on track. Northlane's delinquency crossed the 3.5% covenant threshold this month — worth a call this week. Vortex's new title slipped two weeks but still has runway to the holiday date.” The full written, cited answer renders on screen simultaneously — the production voice persona rules (never read tables aloud) carry over unchanged.
Solstice Outdoor. The associate opens the Competitive Matrix; a competitor's row is flagged.
The agent combines Solstice's own wiki numbers (CAC by channel, contribution margin) with live web citations from the daily sweep: one competitor just raised prices ~8% on its bestselling tent line while its review score slid a third of a star; another quietly cut its German paid campaigns. Answer: “the opening is a spring push on exactly that category in DACH — their price umbrella covers your margin problem.” The production “part of this answer came from the internet” notice appears on the answer, with clickable web sources next to wiki citation pills.
Monday, 7:55, before the partner call. The morning summary card is already on Portfolio Home; the associate taps the mic:
Voice: “Three things. Northlane's covenant letter draft is ready for your review. Portside's stalled $820K deal finally has a meeting — Thursday. And one of Solstice's competitors launched a 20%-off campaign in Germany over the weekend — the counter-move task is on Solstice's board, waiting on budget sign-off.” On screen: the briefing with a citation per line — a wiki page, a task link, a web source — and the “launch ads in Germany” task one click from being unblocked.
Vortex Games. The Alignment tab shows the plan mostly green — but the associate has learned to ask the harder question:
The agent cross-references the board-approved milestone plan against the dev-status data and raw signals: the cert QA queue has grown three sprints straight, one engineer is the single owner of the launch-blocking crash bug, and a senior QA req has sat open for 60 days — none of it in the last board deck. It also quotes the last board call: management committed to “cert-ready by October 1”, which the current queue math contradicts. Every claim carries a citation — plan page, Jira dump, transcript line.
Dealflow vault. A new logistics-marketplace deck just arrived. Before the call:
The agent surfaces three past deals from the vault: the decks' key claims side by side, the pitch-call moments where each founder was pushed on take-rate, the two pass memos — and flags that one of those founders is now raising again with a pivoted deck already in the inbox. Retrospective search across decks, calls, and people, in one answer.
Recommended shape (see Q3): every company gets a P&L and a Competitive Matrix — financials and competitive position comparable across the book — plus one domain-flavored dashboard each, and a portfolio roll-up above them. Pre-built views are deterministic React charts themed on LiveCEO's design tokens (pixel-identical every run); the production LLM artifact pipeline is reserved for the generated artifacts — SWOTs, decks, one-pagers — that land in the same gallery on demand.
The canonical questions PE associates ask — the mock data is generated specifically so every one of these is answerable with citations. They double as suggested-prompt chips in chat and voice.
A new standalone app (recommended: its own repo — Q10) on the same stack: Next.js 16, React 19, Tailwind v4, TypeScript strict. No WorkOS, no Postgres multi-tenancy, no connectors, no gVisor sandbox — the demo carries none of production's SaaS weight. The research pass confirmed every lifted part below by reading the actual code.
agentCore.ts (~1,700 lines): claude-agent-sdk turn assembly, wiki-navigation system prompt, Read/Grep/Glob-only tool surface. Unmodified.wikiContainment.ts: every file read realpath-checked against the wiki root. Works identically without gVisor.voiceClient.ts (~300-line WebRTC / OpenAI Realtime driver, framework-free) + the ephemeral-secret minting route. The research confirmed the tool-callback seam needs zero client changes.GraphCanvas / GraphView / graphTheme + buildGraph(). Entity types are emergent strings, so PE vocabulary (company, covenant, deal) needs no renderer change.Markdown.tsx wiki-pill rendering, repointed at a filesystem-backed wiki route.globals.css @theme tokens, Cal Sans/Inter/JetBrains Mono, landing/shared.tsx primitives, AppShell/TabRail as visual template.entities/<type>/<slug>.md + raw/<system>/… layout, frontmatter and linking rules, so the unmodified agent prompt still describes reality.raw/web/… dumps per company/competitor, and a briefing generator that digests overnight signals, task moves and metric deltas into one cited card.The single hardest requirement: a dashboard saying ARR is $4.2M while chat cites $3.8M kills the demo in one click. So numbers are decided exactly once, and everything else is derived:
All five companies live as subtrees under one wiki root. That's what lets a single agent turn answer “which company has the worst margin trend?” by walking across companies — and it reuses the agent engine, the path jail, and the graph builder with zero modification. Production-style per-tenant isolation is a story this demo doesn't need to tell: none of the data is real (and the Vortex copy is gated — Q2).
~30–40 developer-days total (6–7 calendar weeks for one engineer; content generation parallelizes with UI once the wiki file shape is fixed). Phases 1–4 are the clickable core; 5–7 the operating layer (v2); 8–10 the investor layer (v3). Each phase ends in a walkthrough you can react to before the next begins — and the layers are independently shippable if you want to demo earlier.
| Phase | You get to click | Effort |
|---|---|---|
| 0 · Foundations | Fresh app scaffold, design tokens ported, fonts, deploy pipeline smoke-tested. (Not independently demoable.) | 1–1.5 d |
| 1 · “Here's your empire” | App shell + portfolio graph with 5 company nodes → click through to each company's own knowledge graph → every node opens a real wiki page. Runs on the first thin corpus. | 3–4 d |
| 2 · “Here's the numbers” | All six dashboards live on canonical mock numbers; portfolio roll-up tile on home. | 3–4 d |
| 3 · “Ask it anything” | Chat with the real agent over the mock wikis — killer-question chips, streaming answers, citation pills opening the reader. | 2–3 d |
| 4 · “Talk to your portfolio” | Voice dock on every page, scoped to where you are. This completes the clickable core. | 1.5–2 d |
| 5 · “How do we beat them?” | Competitor registry, daily web-signals sweep, Competitive Matrix on every company, web-cited chat answers with the “from the internet” notice. | 2.5–3.5 d |
| 6 · “What's moving?” | Per-company task boards seeded with real-feeling ops tasks (entity registration, bank account, German ads campaign); morning summary card + voice readout. | 2–3 d |
| 7 · “Make me a deck” | Generated SWOT / one-pager / deck from chat, landing in the company's gallery. This completes the v2 feature set. | 1.5–2 d |
| 8 · “Are they on plan?” | Board plans as wiki pages, board-call transcripts + structured digests, the Alignment tab with drift and unvoiced-bottleneck flags, plan auto-actualization into tasks and decisions. | 3–4 d |
| 9 · “The dealflow vault” | New Dealflow area: ~10 mock deals — decks extracted into searchable pages, founder entities, 3 pitch-call transcripts, pass memos, cross-deal search. | 3–4 d |
| 10 · “Watchtower” | Preset alert rules (covenant, milestone slip, negative news, industry shock) + portfolio alerts feed, headlining the morning summary. This completes the v3 feature set. | 1.5–2 d |
| 11 · Corpus depth + Vortex | Deepen the four synthetic corpora to a few hundred pages each; run the gated Vortex export → anonymize → human-review pass and swap it in. Ships on its own timeline, never blocks 1–10. | 3–5 d |
| 12 · Stretch | Shareable dashboard links; push delivery of the morning summary (email/Telegram); configurable alert-rules UI; dictation in the composer. | deferred |
Ranked. The first one is the only one with real-world blast radius.
Vortex is a real customer. The repo's own anonymization pipeline documents that on a comparable prior run, the automated scrub still left 71 real leaks (names, a plaintext auth token, staging IPs, an address inside a base64 calendar id) — caught only by two human adversarial review passes.
Mitigation: hard release gate, not a checklist item. MVP ships with a synthetic Vortex-styled stand-in; the real corpus enters only after export → automated rewrite → leak scan → two independent human passes → written sign-off. Decision is yours — Q2.
One mismatched number between a dashboard and a chat answer collapses credibility in a single click.
Mitigation: the canonical-numbers-first pipeline plus the offline consistency lint (Architecture §) — agreement is mechanical, not hoped-for. Plus a golden-question regression run of all 30 bank questions before any important showing.
A force graph with a dozen generic nodes signals “demo,” not “the AI actually ingested this company.”
Mitigation: generate real depth (target ~150–300 information-dense pages per company, deepening in Phase 5), reuse the deterministic hub pages (org chart, decision log) as high-degree anchors, and enforce no dead ends — every clickable node opens a substantive cited page.
Realtime WebRTC on venue wifi, laptop-mic echo, and a 30–120s research-tool window can produce dead air mid-pitch.
Mitigation: rehearse on the venue network with a dedicated headset mic; the typed composer sits right next to the mic toggle and routes through the identical answer pipeline, so falling back mid-demo costs nothing.
Every turn is a real Sonnet call; every voice minute is metered Realtime. Fine when operator-driven; unbounded if a public link circulates.
Mitigation: shared-passcode gate + per-session turn caps by default (Q6/Q7). If unsupervised prospect access is ever wanted, that's a scope change: hard caps and sandbox revisited first.
A live scrape can surface junk, a same-name company (“Solstice” has real namesakes), stale news, or nothing new — mid-pitch.
Mitigation: a curated, disambiguated competitor allowlist per company; the daily cached sweep is the default source the agent cites (live search stays available but is never the only path); pin a rehearsal-day snapshot before important showings so the demo never depends on what the internet did overnight.
Stilted, too-clean dialogue reads instantly fake — a board call where everyone speaks in complete sentences breaks immersion faster than a wrong number.
Mitigation: generate transcripts from real board-meeting and pitch structure templates with imperfect, interrupted speech; every number in them comes from the canonical model; and the demo shows the analysis (digest, commitments, contradictions), never long raw-transcript reading — excerpts surface only as short cited quotes.
Each comes with a recommended default — answer with a number and “yes” or a correction. Q1 and Q2 matter most; Q11–13 came with the operating layer (v2), Q14–16 with the investor layer (v3); everything else has a safe default.
Drives the auth model, cost guardrails, whether unsupervised strangers hit live LLM/voice sessions, and how hard the Vortex privacy gate must be.
RecommendedOperator-driven live pitch for v1 — lowest risk, fastest build, matches how PE tools are actually sold. Self-serve becomes a deliberate v2 with hard caps.
“Preserve the copy of Vortex Games” can mean either. Real data is maximally authentic but is a real customer's data — the prior anonymization run's 71 post-scrub leaks make this the project's only genuine incident risk, and it needs your sign-off plus review time.
RecommendedSynthetic Vortex-styled stand-in for the MVP; run the gated export → anonymize → two-human-pass pipeline in parallel (Phase 5) and swap the real corpus in only after written sign-off.
Your brief reads either way. Comparable financials across the whole book is the stronger PE story, but it's roughly double the dashboard build.
RecommendedP&L everywhere + one specialty each — the P&L component is built once and themed per company, so the real extra cost is data generation, not five new UIs.
Names and domains propagate into hundreds of generated pages, dataset labels, and voice transcripts — renaming after generation means regenerating the corpus, not find-and-replace.
RecommendedProceed with these four (each carries a distinct PE risk flavor: retention, margin/concentration, credit/covenant, integration/compliance), with a quick trademark sanity check before the first generation run.
Live = the real “it's actually reasoning over the wiki” effect, plus graceful handling when an associate goes off-script; costs latency and a small hallucination risk. Canned = 100% reliable, but collapses the moment anyone asks their own question.
RecommendedLive agent for both chat and voice. The corpus is small and fully known, and the golden-question regression run before each showing is the safety net.
Filesystem-only keeps the entire demo self-contained — no Postgres anywhere — and dashboards render instantly. The SQL lane (production's query_dataset) adds a “watch it write real SQL” demo beat and numeric verification, at the cost of a database and the dataset machinery.
RecommendedFilesystem-only for v1; the numbers already agree by construction. Add a per-company SQLite file later only if you want the live-SQL moment on stage.
Production's WorkOS + org-claim machinery is heavy for a fixed-cast demo; a bare public URL risks the link (and any Vortex-derived content) leaking or being crawled.
RecommendedSingle shared passcode — one gate, no accounts, revocable by rotating it.
Same Hetzner box as production (new subdomain, fully separate container, zero shared DB) reuses proven Caddy/TLS ops with near-zero new infra. A separate host (Vercel/Fly) gives total isolation but new deploy tooling. The name also sets the demo's framing (e.g. portfolio.liveceo.ai vs. a standalone brand).
RecommendedSame Hetzner box, separate container, portfolio.liveceo.ai — proven ops, zero production coupling.
Content generation is the longest pole (3–5 days at full depth). Thin-first gets you clicking a week earlier and lets you correct the shape before deep investment; but the graph impresses in proportion to its density.
RecommendedThin-but-real for the first walkthrough, then deepen in Phase 5 once you've confirmed the shape — the generator makes depth a re-run, not a rebuild.
liveceo-pe-demo) or a folder inside the main product repo?A fresh repo makes “zero coupling to production auth/DB/tenancy” structural and matches “built from scratch”; a folder keeps everything in one place but invites entanglement and would need monorepo tooling the repo doesn't have.
RecommendedFresh repo, with one-time file copies from LiveCEO (free to diverge) rather than submodules.
Real competitors make the Competitive Matrix and web-signals lane genuinely live — the demo becomes unfakeable, because the news is checkable. Invented competitors are risk-free but turn “how are competitors doing?” into just more mock data.
RecommendedReal competitors, curated allowlist — the portfolio company is fictional but its market is real (real outdoor brands for Solstice, real TMS vendors for Portside). For Vortex, the real competitive set follows the Q2 decision.
In-app + voice is fully inside the demo's own surfaces and always rehearsable. Push delivery is a strong “it lives with you” story but adds channel wiring and a flakiness surface on stage.
RecommendedIn-app + voice for v1, push channels as the Phase 9 stretch — the on-stage version of this beat is tapping the mic, not checking email.
Moving “open the German ad account” to Done live in front of the room is a strong moment — but an edited demo drifts from the rehearsed script and the morning summary that referenced it.
RecommendedEditable, with one-click reset to the seeded state — you get the live moment, and every session starts from the same known board.
Dealflow is effectively a second product surface — it's what makes the demo speak to the investing half of a family office, not just the owning half. But it's ~3–4 days of build plus its own mock-content set (~10 deals).
RecommendedIn, but thin — ~10 mock deals, 3 with call transcripts, founder pages, pass memos. It powers Scene 9, which no competitor demo can casually replicate.
Transcripts are what the agent actually analyzes and searches — audio adds production weight (voice acting or TTS per speaker) mostly for theater. One playable snippet can add authenticity; full audio libraries add nothing analytical.
RecommendedTranscripts only — the demo's magic is the analysis, not playback. Revisit a single showcase snippet only if a specific pitch beat wants it.
Preset rules (covenant crossed, milestone slipped, negative news, industry shock) give a reliable, rehearsable alerts feed. A rules-builder UI is real product surface — days of work the demo script may never open.
RecommendedPreset rules + the portfolio alerts feed, headlining the morning summary; the configurable rules UI goes to stretch (Phase 12).
Reply in chat with something like: “1 live-pitch · 2 synthetic-first · 3 P&L-everywhere · 4 yes · 5 live · 6 filesystem · 7 passcode · 8 portfolio.liveceo.ai · 9 thin-first · 10 fresh repo · 11 real-competitors · 12 in-app · 13 editable · 14 dealflow-thin · 15 transcripts · 16 preset-alerts” — or correct any line. Accepting all recommendations as-is also works: “all defaults”.