From c9ae60dd0f256d3ce91eb7a3f2d05d31dab5f475 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 13:32:14 -0400 Subject: [PATCH 01/31] Design spec: /fundraising page revision from investor feedback Prioritized P1-P3 changes from Leyna/Toby/Delana feedback: single $15M ask below proof, Investor Preview retitle, named team block, section reorder to standard pitch arc, verified category-proof citations, trajectory diagram. Co-Authored-By: Claude Fable 5 --- ...-07-11-fundraising-page-feedback-design.md | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 docs/superpowers/specs/2026-07-11-fundraising-page-feedback-design.md diff --git a/docs/superpowers/specs/2026-07-11-fundraising-page-feedback-design.md b/docs/superpowers/specs/2026-07-11-fundraising-page-feedback-design.md new file mode 100644 index 0000000..ec11f7b --- /dev/null +++ b/docs/superpowers/specs/2026-07-11-fundraising-page-feedback-design.md @@ -0,0 +1,126 @@ +# /fundraising Page — Investor Feedback Revision + +**Date:** 2026-07-11 +**Target:** `www/app/fundraising/page.tsx` +**Source feedback:** Notion "Feedback" doc (Leyna Chiang, Toby Shorin, Delana Tran), evaluated against the live page from an investor's perspective. + +## Context & Decisions + +The page is a public teaser that will spread beyond warm intros, so it is designed +for the least-context (cold) reader. Decisions made during brainstorming: + +| Decision | Choice | +|---|---| +| Audience | Mixed / will spread — treat as cold | +| Raise ask | Single figure: **$15M** (range removed). Controller re-models the seed at $15M targeting 24+ months post-launch runway; page ships with $15M regardless since the model is being rebuilt to match. | +| Team framing | Named, no titles: Hugh + Yatú & Norm ("the three of us") | +| Opening lane | Category creation ("private intelligence is a new category of computing"), immediately backed by traction | +| Scale math on page | Qualitative + unit-economics proof only after Hugh reviews the re-modeled financials; no projections on the public page | + +### Feedback explicitly ignored (with reasons) + +- Leyna's "please" copy nit — already addressed on the page; she retracted it. +- Leyna's "traditional memo with projections" — resolved by retitling to "Investor Preview"; projections stay in the gated full memo. +- Toby's time-to-profitability graph — comparable-company profitability data is unverifiable; replaced by a cited category-proof sentence. +- Delana's data room (Docsend/Papermark) — superseded by the email-OTP verification work (`feat/email-otp-verification`). +- Domain whitelisting on the email gate — Hugh is handling in another branch. + +## P1 — Red-flag removal (mechanical, do first) + +1. **Delete the dateline.** Remove "August · September 2026" byline (both hero + occurrences). No replacement on the public page. +2. **Retitle** "Investor Memo" → **"Investor Preview"** (hero H1). The mailto + subject "Investor Memo Request" stays as-is — the email requests the full + memo, which remains a memo; only the page is a preview. +3. **Single ask, below proof.** Remove "$15M–$25M" from the hero byline and from + the opening QuoteBox. The ask appears exactly once — "$15M" — in a QuoteBox in + the final section (after team/traction), with the `invest@intelligence.family` + CTA. The opening QuoteBox becomes the category thesis statement (no dollar figure). +4. **Named team block.** Replace the anonymous "We're patented inventors" paragraph + with named bios, no titles: + - **Hugh Francis** — founded garden3d, Sanctuary Computer, Index Space; oversees + a $6mm+ design & development agency (present tense — he still runs it); + patented for architecting The Light Phone II & III (TIME Best Inventions 2019 + & 2025); architected Mill's IoT infrastructure; direct CM relationships + (Foxconn, Arima, Coosea); conversational business/engineering Chinese. + - **Yatú Pelaez-Espinosa & Norm O'Hagan** — product duo with 10+ years of + collaboration; founded USB Club (raised $1.2mm); founded the Advanced + Concepts team at World (a Sam Altman company); researchers at Other + Internet; previously designed at IBM and early Plaid. + +## P2 — Narrative restructure + +5. **Full section reorder** per the standard pitch arc (problem → solution → + momentum → ask): + - **Hero** — category thesis, no ask, no date + - **I. The Context** — the problem: ~70% of Americans distrust Big AI with + their data yet use AI daily (existing Pew link); why now: open models trail + frontier by months, consumer chips can run them (existing links) + - **II. The Device** — the solution: lived-experience beat + play-test images + - **III. Why This Wins** — moat (Signal argument), business model (encrypted + backup subscription + licensing), category proof + - **IV. Who We Are** — team block (P1.4), Light Phone/Mill/World credentials, + traction (working prototype, Mozilla research 28k+ impressions, CM + relationships) + - **V. The Ask** — $15M, once, email CTA + - Section names/numerals updated accordingly ("Business Concept" no longer exists). +6. **Rewrite hero H2** to the category-creation lane. Direction: "Private + intelligence is a new category of computing" — AI that lives in your home, + works offline, answers to no one — starting with the family. The first gated + paragraph must immediately back the ambition with the Mozilla research traction. +7. **Lived-experience beat.** One paragraph in section II painting the + living-wiki moment (device at the dinner table, resurfacing family memories + and stories) fused with the privacy thesis — bridging "distrusts Big AI" → + "wants this in my home." +8. **Category-proof sentence** in section III, with source links, matching the + page's cited-claim style: + > Family-focused hardware + subscription is a proven category: Tonies built a + > public company doing €630M/yr on it (FY2025, +31%, record adjusted EBITDA); + > Yoto grew 86% last year to £95M. + - Sources: tonies FY2025 press release (mynewsdesk/EQS); Music Ally Yoto 2024 + revenue article. Tin Can may be cited as a demand signal only (no numbers), + or omitted. +9. **Unit-economics proof line** (gated section) — BLOCKED until the controller + re-models at $15M and Hugh reviews. Candidate copy: 52.5% net hardware gross + margin, 2.7x LTV:CAC, path to positive EBITDA on ~110k devices — a rounding + error of the 200M+ English-speaking household market. Ship everything else + without waiting for this. + +## P3 — Diagram + +10. **Three-phase trajectory diagram** (also fills the "Business Trajectory + Expansion Graphic" placeholder in the Notion memo). Composition: + - Three phase panels left → right: Phase 1 "One product, one market" + (family device + subscription, 200M households) → Phase 2 "One stack, + many markets" (legal · journalism · healthcare SKUs) → Phase 3 "One + stack, every hardware company" (platform licensing + fleet management). + - A shared foundation bar under all three: "The private intelligence stack + (built once): local inference · e2e-encrypted sync · zero-knowledge fleet + tooling." This bar is the load-bearing idea — built once, monetized three ways. + - Caption: "Phase 1's fleet is Phase 3's reference customer." + - Lives in section III or V; must match the page's existing visual language + (fi-green palette, serif headings). + +## Out of scope (tracked elsewhere) + +- Controller brief: re-model seed at $15M (24+ months post-launch runway), add + tariff/duty line to unit COGS, pressure-test churn (1.5%/mo), CAC ($250 flat), + returns reserve (3%), and reconcile pre-money/dilution ($15M at $25M pre = + ~37.5% dilution; a ~$45M pre implies ~25%). +- Email gate domain whitelisting (Hugh, separate branch). +- Full memo (Notion) edits. + +## Implementation notes + +- All changes are within `www/app/fundraising/page.tsx` (plus any new image asset + for the diagram under `www/public/fundraising/`). +- Preserve: email gate mechanics (`InlineEmailGate`, scrim, localStorage), + gtag tracking calls (update `event_label`s where copy changes meaning), + existing citation links, `AnimatedElement` usage, QuoteBox/MediaRow/ + SectionHeader components. +- The gate boundary may shift with the reorder: the hero + section I (The + Context) should read as the ungated teaser; gate from section II onward. + Keep the teaser clip height (`GATE_LOCKED_STYLE.maxHeight`) visually correct + after reordering. +- Verify with the running app that the locked/reveal states still render + correctly after the restructure. From 19928156d01615d7e79accbce9f53e6b8d5a5092 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 13:39:12 -0400 Subject: [PATCH 02/31] Two-stage unit-economics plan in spec + controller notes for model v2 Stage 1 ships raise-proof pricing/scale facts now; stage 2 adds model figures after the $15M re-model and review. Controller notes cover seed re-size, cap-table reconciliation, tariff line, and assumption pressure-tests. Co-Authored-By: Claude Fable 5 --- .../2026-07-11-model-v2-controller-notes.md | 88 +++++++++++++++++++ ...-07-11-fundraising-page-feedback-design.md | 18 ++-- 2 files changed, 100 insertions(+), 6 deletions(-) create mode 100644 docs/finance/2026-07-11-model-v2-controller-notes.md diff --git a/docs/finance/2026-07-11-model-v2-controller-notes.md b/docs/finance/2026-07-11-model-v2-controller-notes.md new file mode 100644 index 0000000..7c99dc2 --- /dev/null +++ b/docs/finance/2026-07-11-model-v2-controller-notes.md @@ -0,0 +1,88 @@ +# Financial Model v2 — Notes for Next Iteration + +**Date:** 2026-07-11 +**Re:** Family Intelligence financial model (3-statement, base case, Sep-2026 start) +**Context:** The fundraising page and investor conversations will anchor on a +**$15M seed**. The current model raises $8.5M, so the model and the public ask +disagree by ~2x — an investor who sees both will read the $15M as unmodeled. +The next iteration should rebuild the seed round around $15M. Everything below +is in service of that. + +First: the model is structurally excellent — the statements tie (Check row zero +every month), the MOQ/lead-time inventory engine with supplier advances and +customer deposits is real rigor, and excluding Phase 3 licensing revenue is the +right kind of conservatism. The notes below are about assumptions and round +architecture, not structure. + +## 1. Re-size the seed to $15M + +- Rebuild the Use of Funds tab for $15M. The strategic goal of the larger raise: + **24+ months of runway past first ship** (i.e., through roughly month 36), + so the Series A is raised on a year-plus of sales data instead of two months. +- Today, cash bottoms at ~$2.7M in month 14 and the plan *requires* a $22M + Series A to close in month 15 — two months after first revenue. That is the + single riskiest assumption in the model: a 6-month A delay bankrupts the base + case. The $15M seed exists to remove that cliff; the new model should show + the company surviving a Series A that arrives 12 months later than hoped. +- Re-time the Series A accordingly (likely month ~30+ from month 15) and revisit + whether the Series B is needed in the base case at all — currently cash never + drops below ~$18.5M before the B lands, which invites "why are you raising it?" + Keeping it as an explicit war-chest/scenario option is fine; label it as such. + +## 2. Reconcile the cap table to the $15M raise + +The current cap table has $8.5M at $25M pre (25.4% to seed investors). At $15M, +one of these has to give: + +- $15M at $25M pre → ~37.5% dilution — likely a non-starter for founders. +- $15M at ~$45M pre → ~25% dilution — conventional, but a $45M pre-money + pre-revenue needs the deck/memo to justify it. +- Please model both, plus the sensitivity row in between, and flag the implied + step-up to the Series A pre-money in each case (the existing 2.0–2.5x healthy + step-up note is the right frame). +- Also confirm intent: SAFEs vs. priced round. The model assumes priced rounds + throughout; investor feedback (Delana Tran) specifically asked which it is. + +## 3. Add a tariff/duty line to unit COGS + +Hardware is manufactured in Taipei/Shenzhen and lands in the US. There is no +tariff or duty line in the unit COGS build (freight-in is included; duties are +not visible). Please add an explicit tariff assumption per SKU — even a +placeholder rate we can flex (e.g., 0% / 10% / 25% scenario). At the current +$360 flagship COGS, a 10–25% duty is $36–90/unit and moves net hardware gross +margin from 52.5% to roughly 48–43%, so this materially changes the margin +story we tell publicly. + +## 4. Pressure-test the assumptions that all lean optimistic + +None of these are unreasonable alone; together they all lean the same way, and +the public page will quote their outputs. Please add sensitivity (or revise the +base) for: + +- **Subscription churn: 1.5%/month** (66-month lifetime). What does 2.0–2.5% + do to subscription LTV ($510 today) and blended LTV:CAC (2.7x today)? At + 2.5% churn + $300 CAC, LTV:CAC is ~2.0x — we should know which number we're + defending. +- **Blended CAC: flat $250 for five years.** CAC nearly always rises as early + adopters exhaust. Consider a ramp, or at minimum a sensitivity row. +- **Returns & warranty reserve: 3% of hardware revenue.** Low end for consumer + hardware v1; 5% would be a more defensible base for a first-generation device. +- **Companion backup conversion: 95%.** Small dollar impact, but 95% of + anything is a red flag in diligence — consider 75–85%. + +## 5. Small items + +- The "Subscriptions billed annually %" input is unused (set to "-"); either + wire it up or remove it so diligence doesn't ask. +- Interest income at 3% on large idle balances is fine, but with the re-timed + rounds those balances shrink — just confirm it flows through. +- Model start month (Sep-2026) drives every label; if the raise timing slips, + remember the page no longer shows a date, but the model will — keep the + "Last updated" discipline here instead. + +## What we'll quote publicly (so you know what gets scrutiny) + +After Hugh reviews v2, the fundraising page will cite: net hardware gross +margin, blended LTV:CAC, and the EBITDA-breakeven point (month + cumulative +devices). Those three outputs are the ones to make bulletproof. The $899 / +$9-month pricing and the ~110k-device scale framing are going up now. diff --git a/docs/superpowers/specs/2026-07-11-fundraising-page-feedback-design.md b/docs/superpowers/specs/2026-07-11-fundraising-page-feedback-design.md index ec11f7b..3ce531e 100644 --- a/docs/superpowers/specs/2026-07-11-fundraising-page-feedback-design.md +++ b/docs/superpowers/specs/2026-07-11-fundraising-page-feedback-design.md @@ -15,7 +15,7 @@ for the least-context (cold) reader. Decisions made during brainstorming: | Raise ask | Single figure: **$15M** (range removed). Controller re-models the seed at $15M targeting 24+ months post-launch runway; page ships with $15M regardless since the model is being rebuilt to match. | | Team framing | Named, no titles: Hugh + Yatú & Norm ("the three of us") | | Opening lane | Category creation ("private intelligence is a new category of computing"), immediately backed by traction | -| Scale math on page | Qualitative + unit-economics proof only after Hugh reviews the re-modeled financials; no projections on the public page | +| Scale math on page | Two-stage: raise-proof pricing/scale facts now; model figures (margin, LTV:CAC, breakeven) only after Hugh reviews the re-modeled financials. No projections on the public page. | ### Feedback explicitly ignored (with reasons) @@ -80,11 +80,17 @@ for the least-context (cold) reader. Decisions made during brainstorming: - Sources: tonies FY2025 press release (mynewsdesk/EQS); Music Ally Yoto 2024 revenue article. Tin Can may be cited as a demand signal only (no numbers), or omitted. -9. **Unit-economics proof line** (gated section) — BLOCKED until the controller - re-models at $15M and Hugh reviews. Candidate copy: 52.5% net hardware gross - margin, 2.7x LTV:CAC, path to positive EBITDA on ~110k devices — a rounding - error of the 200M+ English-speaking household market. Ship everything else - without waiting for this. +9. **Unit-economics proof line** (gated section) — two stages: + - **Stage 1 (ship now, raise-proof facts only):** pricing and market-sliver + framing — an $899 device, a $9/mo end-to-end-encrypted backup subscription, + and a five-year plan built on ~110k devices: roughly 0.05% of the 200M+ + English-speaking household market. Pricing is a product decision; the + device count is scale framing, not a profitability claim. + - **Stage 2 (after the $15M re-model and Hugh's review):** add the model + figures — net hardware gross margin, LTV:CAC, EBITDA-breakeven point. + Current draft values (52.5%, 2.7x, month 41) are expected to move with + the tariff line, churn/CAC stress tests, and the new spend plan; do not + publish until reviewed. See `docs/finance/2026-07-11-model-v2-controller-notes.md`. ## P3 — Diagram From 6704505eecdcb63ed85ff71c7e7bd9915dca0f7b Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 13:43:42 -0400 Subject: [PATCH 03/31] Implementation plan for /fundraising feedback revision Six tasks: P1 mechanical fixes (incl. $25M leak in OG metadata), team block, pitch-arc reorder with gate boundary shift, narrative copy, trajectory diagram component, full verification. Copy-contract vitest guards invariants. Co-Authored-By: Claude Fable 5 --- .../2026-07-11-fundraising-page-feedback.md | 547 ++++++++++++++++++ 1 file changed, 547 insertions(+) create mode 100644 docs/superpowers/plans/2026-07-11-fundraising-page-feedback.md diff --git a/docs/superpowers/plans/2026-07-11-fundraising-page-feedback.md b/docs/superpowers/plans/2026-07-11-fundraising-page-feedback.md new file mode 100644 index 0000000..da9167a --- /dev/null +++ b/docs/superpowers/plans/2026-07-11-fundraising-page-feedback.md @@ -0,0 +1,547 @@ +# /fundraising Page Feedback Revision — Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Revise `www/app/fundraising/page.tsx` per the investor-feedback spec: single $15M ask below proof, "Investor Preview" retitle, named team block, section reorder to the standard pitch arc, verified category proof, stage-1 economics facts, and a three-phase trajectory diagram. + +**Architecture:** All changes live in one Next.js client page (`www/app/fundraising/page.tsx`), its layout metadata, one new presentational component (`TrajectoryDiagram`), and one copy-contract vitest file that asserts invariants against the page source text (no DOM test lib exists in this repo; source-text assertions are the cheapest regression guard for copy). + +**Tech Stack:** Next.js 16 / React 19, Tailwind 4, vitest 4 (existing `www/tests/` node-side suite). + +**Spec:** `docs/superpowers/specs/2026-07-11-fundraising-page-feedback-design.md` + +## Global Constraints + +- The string "$15M" must appear **exactly once** on the page (the Ask section). No "$25M" or ranges anywhere, including `layout.tsx` metadata. +- No dateline anywhere ("August · September 2026" must not appear). +- H1 is "Investor Preview". The mailto subject stays `Investor%20Memo%20Request` (the email requests the full memo — intentional). +- Preserve: `InlineEmailGate` mechanics (scrim, `localStorage` key `fi_fundraising_unlocked`, reveal timing), all existing `gtag`/`trackOutbound` calls and citation links, `AnimatedElement`/`QuoteBox`/`MediaRow`/`SectionHeader` usage patterns. +- Gate boundary after reorder: hero + Section I (The Context) ungated; Sections II–V gated. +- No model-derived figures (margins, LTV:CAC, breakeven month) on the page — stage 2 is blocked on the $15M re-model review. +- All commands run from `www/`. Test with `npm run test`, lint with `npm run lint`, build with `npm run build`. + +--- + +### Task 1: P1 mechanical fixes — hero, title, metadata + +**Files:** +- Modify: `www/app/fundraising/page.tsx` (hero header, lines ~72–118; opening QuoteBox, lines ~133–151) +- Modify: `www/app/fundraising/layout.tsx:3-5` +- Test: `www/tests/fundraising-copy.test.ts` (create) + +**Interfaces:** +- Produces: `www/tests/fundraising-copy.test.ts` with a `read(file)` helper later tasks extend. + +- [ ] **Step 1: Write the failing copy-contract test** + +Create `www/tests/fundraising-copy.test.ts`: + +```ts +import { describe, it, expect } from 'vitest' +import { readFileSync } from 'node:fs' +import path from 'node:path' + +const read = (rel: string) => + readFileSync(path.join(__dirname, '..', rel), 'utf8') + +const page = read('app/fundraising/page.tsx') +const layout = read('app/fundraising/layout.tsx') + +describe('fundraising page copy contract', () => { + it('has no dateline', () => { + expect(page).not.toMatch(/August · September/) + }) + + it('is titled Investor Preview (mailto subject may still say Investor Memo)', () => { + expect(page).toContain('Investor Preview') + // Plain-text "Investor Memo" (with a space) is gone; the mailto subject + // uses "Investor%20Memo", which this regex cannot match. + expect(page).not.toMatch(/Investor Memo/) + }) + + it('has no $25M or raise range anywhere', () => { + expect(page).not.toMatch(/25M/) + expect(layout).not.toMatch(/25M/) + }) + + it('hero contains no raise ask', () => { + const hero = page.slice(page.indexOf('')) + expect(hero).not.toMatch(/raising/i) + expect(hero).not.toMatch(/\$1?5M/) + }) +}) +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `cd www && npx vitest run tests/fundraising-copy.test.ts` +Expected: FAIL — dateline, "Investor Memo", "$15M–$25M" all still present. + +- [ ] **Step 3: Edit the hero in `page.tsx`** + +Replace the entire block between `
`'s inner column div (currently: dateline byline → H1 → H2 → ask byline) with: + +```tsx +
+ {/* H1 Title with Leaf */} + +

+ Investor Preview + +

+
+ + {/* H2 Subtitle */} + +

+ We're building a consumer hardware business and software platform for private intelligence. +

+
+
+``` + +(The H2 copy is rewritten in Task 4 — this task only deletes the dateline byline and the "$15M–$25M" ask byline, including its `email-underline.png` decoration.) + +- [ ] **Step 4: De-ask the opening QuoteBox** + +In the same file, change the opening QuoteBox `quote` prop from the "We're raising $15M–$25M to design, manufacture, and ship…" sentence to the thesis-only version: + +```tsx + quote={<>We're building the first device in a new category: beautiful consumer hardware running a fully local AI stack, where your most intimate data is understood, agentified, inferred against... but never exposed to the cloud.} +``` + +(All other QuoteBox props — `source`, `actionLabel`, `href`, `onClick` gtag — stay unchanged.) + +- [ ] **Step 5: Fix `layout.tsx` metadata** + +Replace lines 3–5 with: + +```ts +const title = "Fundraising · Family Intelligence"; +const description = + "The first device in a new category: beautiful consumer hardware running a fully local AI stack — private intelligence, never exposed to the cloud."; +``` + +- [ ] **Step 6: Run test to verify it passes** + +Run: `cd www && npx vitest run tests/fundraising-copy.test.ts` +Expected: PASS (4 tests) + +- [ ] **Step 7: Run the full suite and commit** + +Run: `cd www && npm run test && npm run lint` +Expected: all existing tests still pass, no lint errors. + +```bash +git add www/app/fundraising/ www/tests/fundraising-copy.test.ts +git commit -m "P1: drop dateline, retitle to Investor Preview, remove ask from hero + metadata" +``` + +--- + +### Task 2: Named team block + +**Files:** +- Modify: `www/app/fundraising/page.tsx` — the "Our Experience" section paragraph (currently the `

` beginning `We're patented inventors`) +- Test: `www/tests/fundraising-copy.test.ts` (extend) + +**Interfaces:** +- Consumes: `read()` helper and `page` constant from Task 1's test file. + +- [ ] **Step 1: Add failing tests** + +Append to the `describe` block in `www/tests/fundraising-copy.test.ts`: + +```ts + it('names the team', () => { + expect(page).toContain('Hugh Francis') + expect(page).toContain('Yatú Pelaez-Espinosa') + // Source uses an HTML entity for the apostrophe (O’Hagan) + expect(page).toMatch(/Norm O.{0,8}Hagan/) + }) + + it('does not claim the agency in past tense', () => { + expect(page).not.toMatch(/\bran\b.*agency/i) + expect(page).toMatch(/oversees/) + }) +``` + +Run: `cd www && npx vitest run tests/fundraising-copy.test.ts` — Expected: FAIL (names absent). + +- [ ] **Step 2: Replace the anonymous experience paragraph** + +Replace the single `

` beginning `We're patented inventors…` with two paragraphs (no titles, per spec): + +```tsx +

+ The three of us have spent our careers building intimate, human-centric hardware.{" "} + Hugh Francis founded trackOutbound('garden3d')}>garden3d and Sanctuary Computer, and oversees a $6mm+ design & development studio. He's a patented inventor for architecting trackOutbound('light_phone')}>The Light Phone II & III (named among TIME Magazine's Best Inventions in 2019 and 2025), architected trackOutbound('mill')}>Mill's IoT infrastructure (from the founders of Google's Nest), and holds direct relationships in Taipei and Shenzhen with Foxconn, Arima, Coosea, and other top-tier contract manufacturers. +

+ +

+ Yatú Pelaez-Espinosa & Norm O’Hagan are a product duo with 10+ years of creative collaboration: they founded trackOutbound('usb_club')}>USB Club, a hardware-enabled social network, founded the Advanced Concepts hardware team at trackOutbound('world')}>Sam Altman's World, researched new educational models at Other Internet, and in past lives designed at IBM and early Plaid. +

+``` + +Note: this intentionally consumes the `light_phone`, `usb_club`, `world`, and `mill` links from the deleted paragraph — no citation is lost. The AT&T mention is dropped (weakest credential, per the tighter memo bios). + +- [ ] **Step 3: Run tests, lint, commit** + +Run: `cd www && npx vitest run tests/fundraising-copy.test.ts && npm run lint` +Expected: PASS. + +```bash +git add www/app/fundraising/page.tsx www/tests/fundraising-copy.test.ts +git commit -m "P1: named team block — Hugh + Yatú & Norm, no titles, present-tense agency" +``` + +--- + +### Task 3: Section reorder to the pitch arc + Ask section + gate boundary + +**Files:** +- Modify: `www/app/fundraising/page.tsx` (whole gated region) +- Test: `www/tests/fundraising-copy.test.ts` (extend) + +**Interfaces:** +- Produces: five `SectionHeader` sections — "The Context" (I), "The Device" (II), "Why This Wins" (III), "Who We Are" (IV), "The Ask" (V). Task 4 inserts copy into I–III; Task 5 inserts the diagram into III. + +- [ ] **Step 1: Add failing tests** + +Append: + +```ts + it('follows the pitch arc section order', () => { + const order = ['The Context', 'The Device', 'Why This Wins', 'Who We Are', 'The Ask'] + const idx = order.map((t) => page.indexOf(`title="${t}"`)) + expect(idx.every((i) => i >= 0)).toBe(true) + expect([...idx].sort((a, b) => a - b)).toEqual(idx) + expect(page).not.toContain('Business Concept') + expect(page).not.toContain('Our Experience') + }) + + it('asks for $15M exactly once, in The Ask section', () => { + expect(page.match(/\$15M/g)).toHaveLength(1) + expect(page.indexOf('$15M')).toBeGreaterThan(page.indexOf('title="The Ask"')) + }) + + it('gates from The Device onward; The Context is public', () => { + const gateStart = page.indexOf('/* ===== Email gate') + expect(page.indexOf('title="The Context"')).toBeLessThan(gateStart) + expect(page.indexOf('title="The Device"')).toBeGreaterThan(gateStart) + }) +``` + +Run: `cd www && npx vitest run tests/fundraising-copy.test.ts` — Expected: FAIL. + +- [ ] **Step 2: Restructure the page body** + +This is a **move-only** step: existing JSX blocks are relocated verbatim (identified below by their bold lead-ins and current line ranges from the pre-task-1 file); the only *new* JSX is the Ask section (full code below). Target skeleton inside `
`: + +```tsx + {/* ===== I. THE CONTEXT — public teaser ===== */} + +
+
+ {/* KEEP: opening thesis QuoteBox (de-asked in Task 1) */} +
+ {/* MOVE HERE (out of the gated div):

beginning + "We're starting with families, then branching out" + (Pew 70% + Instagram/Mozilla links) */} + {/* MOVE HERE:

beginning "From there, the same stack extends" + (open-models + chipsets links, "AI as an offline appliance") */} + + {/* ===== Email gate: everything below fades until verified ===== */} +

+
+ + {/* ===== II. THE DEVICE ===== */} +
+ +
+ {/* MOVE HERE: MediaRow with moment-1 / family-together / moment-3 + ("Play tests for our early industrial designs.") */} + {/* Task 4 adds the lived-experience paragraph above the MediaRow */} + + {/* ===== III. WHY THIS WINS ===== */} +
+ +
+ {/* MOVE HERE:

beginning "Big AI labs can't afford to compete" + (Signal/Telegram moat argument) */} + {/* MOVE HERE:

beginning "The device will be sold at a premium" */} + {/* MOVE HERE: QuoteBox "This is a proven model" (Signal backups) */} + {/* MOVE HERE:

beginning "Our stack is licensable, too" (balena) */} + + {/* ===== IV. WHO WE ARE ===== */} +

+ +
+ {/* MOVE HERE: the two team paragraphs from Task 2 */} + {/* MOVE HERE: MediaRow with signal-source / family-together.webp / + moment-video ("We've built and scaled...") */} + {/* MOVE HERE:

beginning "We've built a working prototype" + — but strip its trailing ask/email sentence; keep prototype, + full-memo, and NYC/SF sentences. The email CTA moves to V. */} + + {/* ===== V. THE ASK ===== */} +

+ +
+ +
+ We're raising $15M to design, manufacture, and ship the first device in this category — and to prove the stack that every private-intelligence product after it will run on.} + showQuotes={false} + source="Email us for the full memo & a demo" + actionLabel="invest@intelligence.family" + href="mailto:invest@intelligence.family?subject=Investor%20Memo%20Request" + onClick={() => { + if (typeof window !== 'undefined' && window.gtag) { + window.gtag('event', 'email_click', { + event_category: 'engagement', + event_label: 'investor_memo_request_ask', + value: 1, + }); + } + }} + /> +
+ +
{/* /gated content */} + {/* KEEP: scrim + InlineEmailGate block exactly as-is */} +
{/* /email gate wrapper */} +
+``` + +Rules for the move: +- Move blocks **verbatim** — do not touch copy, links, or `trackOutbound` labels in this task. +- The old "Our Prototype & Memo" paragraph loses only its final sentence (`If you'd like a demo, please email us at …` through the underlined mailto span) — that CTA is superseded by the Ask QuoteBox. Keep "please" politeness in the Ask QuoteBox `source` line implicitly ("Email us for the full memo & a demo"). +- The scrim `
` (GATE_SCRIM background, `InlineEmailGate` at `top: 400`) and all state logic (`unlocked`, `revealing`, `handleUnlock`, `GATE_LOCKED_STYLE`) are unchanged. + +- [ ] **Step 3: Run tests to verify pass** + +Run: `cd www && npx vitest run tests/fundraising-copy.test.ts` +Expected: PASS. + +- [ ] **Step 4: Visual smoke-check the gate** + +Run: `cd www && npm run dev` and open `http://localhost:3000/fundraising` (clear the `fi_fundraising_unlocked` localStorage key + `fi_verified` cookie first). +Expected: hero + The Context fully readable; content fades into the scrim just after "The Device" header; email form sits in the fade; reveal animation still smooth after entering a code (or temporarily set `localStorage.fi_fundraising_unlocked = '1'` to check the unlocked layout). Adjust `GATE_LOCKED_STYLE.maxHeight` / gate `top` **only if** the teaser clip looks wrong (e.g. cuts mid-image); keep changes minimal. + +- [ ] **Step 5: Lint, full suite, commit** + +Run: `cd www && npm run test && npm run lint` + +```bash +git add www/app/fundraising/page.tsx www/tests/fundraising-copy.test.ts +git commit -m "P2: reorder to pitch arc (Context/Device/Why/Who/Ask), single \$15M ask, gate from The Device" +``` + +--- + +### Task 4: New narrative copy — hero lane, lived-experience, category proof, stage-1 economics + +**Files:** +- Modify: `www/app/fundraising/page.tsx` +- Test: `www/tests/fundraising-copy.test.ts` (extend) + +**Interfaces:** +- Consumes: section skeleton from Task 3 (insertion points named there). + +- [ ] **Step 1: Add failing tests** + +```ts + it('opens on the category-creation lane', () => { + expect(page).toContain('new category of computing') + }) + + it('cites verified category proof', () => { + expect(page).toMatch(/tonies/i) + expect(page).toContain('Yoto') + expect(page).toContain('630') + expect(page).toContain('86%') + }) + + it('has stage-1 economics only (no model outputs)', () => { + expect(page).toContain('$899') + expect(page).toContain('$9/month') + expect(page).toContain('110,000') + expect(page).not.toMatch(/52\.5|2\.7x|LTV/) + }) +``` + +Run: `cd www && npx vitest run tests/fundraising-copy.test.ts` — Expected: FAIL. + +- [ ] **Step 2: Rewrite the hero H2** + +```tsx +

+ Private intelligence is a new category of computing: AI that lives in your home, works offline, and answers to no one. We're starting with the family. +

+``` + +- [ ] **Step 3: Add the lived-experience paragraph** + +Insert in Section II (The Device), above the play-test MediaRow: + +```tsx +

+ The device is a living archive of your family. It sits on the kitchen shelf, and when you invite it into the conversation it can resurface the story your grandfather told last Thanksgiving, find the recording of your daughter's first words, and help your kids interview their grandparents while they still can. Everything it hears and remembers stays inside the house. That's the unlock: an AI families actually welcome at the dinner table, because it works for them and no one else. +

+``` + +- [ ] **Step 4: Add the category-proof sentence** + +Insert in Section III (Why This Wins), directly after the "premium consumer price point / encrypted backup" paragraph: + +```tsx +

+ Family-focused hardware plus subscription is a proven category: trackOutbound('tonies_proof')}>tonies built a public company on it (€630M revenue in FY2025, up 31%, at a record EBITDA margin), and trackOutbound('yoto_proof')}>Yoto grew 86% last year to £95M with backing from the Chan Zuckerberg Initiative. +

+``` + +- [ ] **Step 5: Add the stage-1 economics line** + +Insert in Section III, after the licensing/balena paragraph (last content before Section IV): + +```tsx +

+ The math is simple: an $899 device, a $9/month end-to-end encrypted backup subscription, and a five-year plan built on ~110,000 devices — roughly 0.05% of the 200M+ English-speaking households we're selling into. +

+``` + +(Stage 2 — margin, LTV:CAC, breakeven — is added only after the $15M re-model is reviewed. See spec item 9.) + +- [ ] **Step 6: Tests, lint, commit** + +Run: `cd www && npx vitest run tests/fundraising-copy.test.ts && npm run lint` +Expected: PASS. + +```bash +git add www/app/fundraising/page.tsx www/tests/fundraising-copy.test.ts +git commit -m "P2: category-lane hero, lived-experience beat, tonies/Yoto proof, stage-1 economics" +``` + +--- + +### Task 5: Trajectory diagram component + +**Files:** +- Create: `www/components/TrajectoryDiagram.tsx` +- Modify: `www/app/fundraising/page.tsx` (import + render in Section V, above the Ask QuoteBox) +- Test: `www/tests/fundraising-copy.test.ts` (extend) + +**Interfaces:** +- Produces: `export default function TrajectoryDiagram(): JSX.Element` — no props, self-contained, fi-green palette. + +- [ ] **Step 1: Add failing test** + +```ts + it('renders the trajectory diagram', () => { + expect(page).toContain(' +
+ {PHASES.map((phase, i) => ( +
+
+ {phase.label} + {phase.title} + {phase.detail} +
+ {i < PHASES.length - 1 && ( + + )} +
+ ))} +
+
+ + The private intelligence stack, built once: local inference · e2e-encrypted sync · zero-knowledge fleet tooling + +
+
+ Phase 1's fleet is Phase 3's reference customer. +
+ + ); +} +``` + +- [ ] **Step 3: Render it in the page** + +In `page.tsx`: add `import TrajectoryDiagram from "@/components/TrajectoryDiagram";` and render `` in Section V, between the "The Ask" `SectionHeader` and the $15M QuoteBox (the ask lands immediately after the reader sees how it compounds). + +- [ ] **Step 4: Visual check + tests + commit** + +Run: `cd www && npx vitest run tests/fundraising-copy.test.ts` — Expected: PASS. +Run dev server; confirm the diagram reads correctly at mobile width (panels stack vertically, arrows hidden) and desktop. Confirm `fi-green` classes exist in the Tailwind theme (they're used by QuoteBox with `border-fi-green-500/50`, so they do — if a class variant is missing, borrow the exact classes QuoteBox uses). + +```bash +git add www/components/TrajectoryDiagram.tsx www/app/fundraising/page.tsx www/tests/fundraising-copy.test.ts +git commit -m "P3: three-phase trajectory diagram with shared stack bar" +``` + +--- + +### Task 6: Full verification + +**Files:** none new. + +- [ ] **Step 1: Full test suite** — `cd www && npm run test` → all pass (copy-contract + existing OTP/CRM suites). +- [ ] **Step 2: Lint + format** — `cd www && npm run lint && npm run format:check` (run `npm run format` if check fails, re-stage). +- [ ] **Step 3: Production build** — `cd www && npm run build` → succeeds with no type errors. +- [ ] **Step 4: Manual walkthrough** — dev server, fresh profile (no cookie/localStorage): + - Hero: "Investor Preview", category H2, no date, no ask. + - Public: thesis QuoteBox + The Context readable; gate fade starts after "The Device" header. + - Complete a real OTP flow (or set the localStorage key) → reveal animation → all five sections in order → single $15M ask at the bottom with diagram above it. + - Link previews: view page source, confirm `og:description` has no dollar figure. +- [ ] **Step 5: Commit any fixups; report status** — including test output — before merging/PR (use superpowers:finishing-a-development-branch). +``` From 2a0b296aee26cdb6512827e49d73fbe7839af53c Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 14:03:06 -0400 Subject: [PATCH 04/31] Plan review: frame $15M as ship + runway to avoid model inconsistency Co-Authored-By: Claude Fable 5 --- docs/superpowers/plans/2026-07-11-fundraising-page-feedback.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/superpowers/plans/2026-07-11-fundraising-page-feedback.md b/docs/superpowers/plans/2026-07-11-fundraising-page-feedback.md index da9167a..da3b58d 100644 --- a/docs/superpowers/plans/2026-07-11-fundraising-page-feedback.md +++ b/docs/superpowers/plans/2026-07-11-fundraising-page-feedback.md @@ -305,7 +305,7 @@ This is a **move-only** step: existing JSX blocks are relocated verbatim (identi
We're raising $15M to design, manufacture, and ship the first device in this category — and to prove the stack that every private-intelligence product after it will run on.} + quote={<>We're raising $15M to design, manufacture, and ship the first device in this category — with the runway to prove it in families' homes. It's the same stack every private-intelligence product after it will run on.} showQuotes={false} source="Email us for the full memo & a demo" actionLabel="invest@intelligence.family" From c0e66e4713ff4a1e3770a519b5fad24145f1caf0 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 14:05:41 -0400 Subject: [PATCH 05/31] P1: drop dateline, retitle to Investor Preview, remove ask from hero + metadata Co-Authored-By: Claude Fable 5 --- www/app/fundraising/layout.tsx | 2 +- www/app/fundraising/page.tsx | 23 ++------------------- www/tests/fundraising-copy.test.ts | 33 ++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 22 deletions(-) create mode 100644 www/tests/fundraising-copy.test.ts diff --git a/www/app/fundraising/layout.tsx b/www/app/fundraising/layout.tsx index 9183200..7c11314 100644 --- a/www/app/fundraising/layout.tsx +++ b/www/app/fundraising/layout.tsx @@ -2,7 +2,7 @@ import type { Metadata } from "next"; const title = "Fundraising · Family Intelligence"; const description = - "We're raising $25M to ship the first device in a new category: beautiful consumer hardware running a fully local AI stack, never exposed to the cloud."; + "The first device in a new category: beautiful consumer hardware running a fully local AI stack — private intelligence, never exposed to the cloud."; export const metadata: Metadata = { title, diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 6793e37..d333f1f 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -72,14 +72,10 @@ export default function Fundraising() {
- - August · September 2026 - - {/* H1 Title with Leaf */}

- Investor Memo + Investor Preview - - {/* Byline */} - - - We're raising $15M–$25M - - -
- to ship our first device. -

@@ -133,7 +114,7 @@ export default function Fundraising() {
We're raising $15M–$25M to design, manufacture, and ship the first device in a new category: beautiful consumer hardware running a fully local AI stack, where your most intimate data is understood, agentified, inferred against... but never exposed to the cloud.} + quote={<>We're building the first device in a new category: beautiful consumer hardware running a fully local AI stack, where your most intimate data is understood, agentified, inferred against... but never exposed to the cloud.} showQuotes={false} source="Email us to learn more" actionLabel="invest@intelligence.family" diff --git a/www/tests/fundraising-copy.test.ts b/www/tests/fundraising-copy.test.ts new file mode 100644 index 0000000..adf4a04 --- /dev/null +++ b/www/tests/fundraising-copy.test.ts @@ -0,0 +1,33 @@ +import { describe, it, expect } from 'vitest' +import { readFileSync } from 'node:fs' +import path from 'node:path' + +const read = (rel: string) => + readFileSync(path.join(__dirname, '..', rel), 'utf8') + +const page = read('app/fundraising/page.tsx') +const layout = read('app/fundraising/layout.tsx') + +describe('fundraising page copy contract', () => { + it('has no dateline', () => { + expect(page).not.toMatch(/August · September/) + }) + + it('is titled Investor Preview (mailto subject may still say Investor Memo)', () => { + expect(page).toContain('Investor Preview') + // Plain-text "Investor Memo" (with a space) is gone; the mailto subject + // uses "Investor%20Memo", which this regex cannot match. + expect(page).not.toMatch(/Investor Memo/) + }) + + it('has no $25M or raise range anywhere', () => { + expect(page).not.toMatch(/25M/) + expect(layout).not.toMatch(/25M/) + }) + + it('hero contains no raise ask', () => { + const hero = page.slice(page.indexOf('')) + expect(hero).not.toMatch(/raising/i) + expect(hero).not.toMatch(/\$1?5M/) + }) +}) From 26ab3cff1a234c5cecf4f8d8715e6884ebeda5ae Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 14:08:11 -0400 Subject: [PATCH 06/31] =?UTF-8?q?P1:=20named=20team=20block=20=E2=80=94=20?= =?UTF-8?q?Hugh=20+=20Yat=C3=BA=20&=20Norm,=20no=20titles,=20present-tense?= =?UTF-8?q?=20agency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- www/app/fundraising/page.tsx | 7 ++++++- www/tests/fundraising-copy.test.ts | 12 ++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index d333f1f..0cd65bb 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -189,7 +189,12 @@ export default function Fundraising() {

- We're patented inventors for our work architecting and shipping trackOutbound('light_phone')}>The Light Phone II & III (named among TIME Magazine's Best Inventions in both 2019 and 2025). We've built hardware-enabled social networks like trackOutbound('usb_club')}>USB Club, and led advanced-concepts hardware teams for trackOutbound('world')}>Sam Altman's World, AT&T, trackOutbound('mill')}>Mill (from the founders of Google's Nest), and more. We hold direct relationships in Taipei and Shenzhen with Foxconn and other top-tier contract manufacturers, and we understand, in detail, how hardware is built and launched at scale. + The three of us have spent our careers building intimate, human-centric hardware.{" "} + Hugh Francis founded trackOutbound('garden3d')}>garden3d and Sanctuary Computer, and oversees a $6mm+ design & development studio. He's a patented inventor for architecting trackOutbound('light_phone')}>The Light Phone II & III (named among TIME Magazine's Best Inventions in 2019 and 2025), architected trackOutbound('mill')}>Mill's IoT infrastructure (from the founders of Google's Nest), and holds direct relationships in Taipei and Shenzhen with Foxconn, Arima, Coosea, and other top-tier contract manufacturers. +

+ +

+ Yatú Pelaez-Espinosa & Norm O’Hagan are a product duo with 10+ years of creative collaboration: they founded trackOutbound('usb_club')}>USB Club, a hardware-enabled social network, founded the Advanced Concepts hardware team at trackOutbound('world')}>Sam Altman's World, researched new educational models at Other Internet, and in past lives designed at IBM and early Plaid.

diff --git a/www/tests/fundraising-copy.test.ts b/www/tests/fundraising-copy.test.ts index adf4a04..9cfa5b5 100644 --- a/www/tests/fundraising-copy.test.ts +++ b/www/tests/fundraising-copy.test.ts @@ -30,4 +30,16 @@ describe('fundraising page copy contract', () => { expect(hero).not.toMatch(/raising/i) expect(hero).not.toMatch(/\$1?5M/) }) + + it('names the team', () => { + expect(page).toContain('Hugh Francis') + expect(page).toContain('Yatú Pelaez-Espinosa') + // Source uses an HTML entity for the apostrophe (O’Hagan) + expect(page).toMatch(/Norm O.{0,8}Hagan/) + }) + + it('does not claim the agency in past tense', () => { + expect(page).not.toMatch(/\bran\b.*agency/i) + expect(page).toMatch(/oversees/) + }) }) From 2200cce71a78fb97244af83a7f06761dabddf873 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 14:12:19 -0400 Subject: [PATCH 07/31] P2: reorder to pitch arc (Context/Device/Why/Who/Ask), single $15M ask, gate from The Device Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 94 +++++++++++++++++------------- www/tests/fundraising-copy.test.ts | 20 +++++++ 2 files changed, 74 insertions(+), 40 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 0cd65bb..54a59d2 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -108,10 +108,12 @@ export default function Fundraising() {
- + {/* ===== I. THE CONTEXT — public teaser ===== */} +
+ {/* KEEP: opening thesis QuoteBox (de-asked in Task 1) */} We're building the first device in a new category: beautiful consumer hardware running a fully local AI stack, where your most intimate data is understood, agentified, inferred against... but never exposed to the cloud.} @@ -131,7 +133,15 @@ export default function Fundraising() { />
- {/* ===== Email gate: everything below fades until an email is submitted ===== */} +

+ We're starting with families, then branching out. There are ~84 million households in the US alone, and 200M+ across the English-speaking world. It's a safe place to prove our technology: high value emotionally, low stakes legally. trackOutbound('pew_trust')}>Nearly 70% of Americans don't trust Big AI with their data, but trackOutbound('research_instagram')}>the Instagram response to our research (across 28k+ impressions, with Mozilla Foundation) was overwhelmingly positive: privacy-preserving AI architecture is what wins customers over. +

+ +

+ From there, the same stack extends to any industry where private data needs inference: law, journalism, healthcare, and any organization that's regulated or conscientious about trust. This product category is newly possible: trackOutbound('models_shrink')}>open models now trail frontier cloud models by just months, and trackOutbound('chips_grow')}>consumer chipsets are fast enough to run them. This is AI that no one can surveil or turn off. It runs in your home without internet, with no server to go dark and no company that can revoke it. AI as an offline appliance. +

+ + {/* ===== Email gate: everything below fades until verified ===== */}
-

- We're starting with families, then branching out. There are ~84 million households in the US alone, and 200M+ across the English-speaking world. It's a safe place to prove our technology: high value emotionally, low stakes legally. trackOutbound('pew_trust')}>Nearly 70% of Americans don't trust Big AI with their data, but trackOutbound('research_instagram')}>the Instagram response to our research (across 28k+ impressions, with Mozilla Foundation) was overwhelmingly positive: privacy-preserving AI architecture is what wins customers over. -

- -

- From there, the same stack extends to any industry where private data needs inference: law, journalism, healthcare, and any organization that's regulated or conscientious about trust. This product category is newly possible: trackOutbound('models_shrink')}>open models now trail frontier cloud models by just months, and trackOutbound('chips_grow')}>consumer chipsets are fast enough to run them. This is AI that no one can surveil or turn off. It runs in your home without internet, with no server to go dark and no company that can revoke it. AI as an offline appliance. -

+ {/* ===== II. THE DEVICE ===== */} +
+ +
+ {/* Task 4 adds the lived-experience paragraph above the MediaRow */} + + {/* ===== III. WHY THIS WINS ===== */} +
+ +

Big AI labs can't afford to compete in this category. The hyperscalers' core business depends on your data living in their cloud; building a private, on-device stack is diametrically opposed to how they work. Even a privacy-forward cloud is still a cloud: your data still goes to someone else's server, and you have to trust that no one looks at it. Our industrial design will be high taste and hard to replicate, but truly local, encrypted, and privacy-preserving inference is our real moat. There's a reason Google hasn't cloned Signal or Telegram. @@ -179,15 +192,16 @@ export default function Fundraising() { onActionClick={() => trackOutbound('signal_backups_footer')} />

- +

Our stack is licensable, too. The infrastructure under the family device (on-device inference, encrypted sync, and fleet tooling that updates thousands of devices without ever reading their contents) is what a hospital network or a law firm needs to run AI on data that can't leave the building. Think a platform company like trackOutbound('balena')}>balena, but for specialist IoT fleets that run private inference at the edge. The consumer arena hardens our tech, then we license it to enterprises.

- + + {/* ===== IV. WHO WE ARE ===== */}
- +
- +

The three of us have spent our careers building intimate, human-centric hardware.{" "} Hugh Francis founded trackOutbound('garden3d')}>garden3d and Sanctuary Computer, and oversees a $6mm+ design & development studio. He's a patented inventor for architecting trackOutbound('light_phone')}>The Light Phone II & III (named among TIME Magazine's Best Inventions in 2019 and 2025), architected trackOutbound('mill')}>Mill's IoT infrastructure (from the founders of Google's Nest), and holds direct relationships in Taipei and Shenzhen with Foxconn, Arima, Coosea, and other top-tier contract manufacturers. @@ -196,7 +210,7 @@ export default function Fundraising() {

Yatú Pelaez-Espinosa & Norm O’Hagan are a product duo with 10+ years of creative collaboration: they founded trackOutbound('usb_club')}>USB Club, a hardware-enabled social network, founded the Advanced Concepts hardware team at trackOutbound('world')}>Sam Altman's World, researched new educational models at Other Internet, and in past lives designed at IBM and early Plaid.

- +
- -

- We've built a working prototype and written a full investor memo: product, unit economics, go-to-market, and the three-phase path from a single device to a platform company powering every privacy-conscious hardware maker. Our team lives in New York City and San Francisco. If you'd like a demo, please email us at{" "} - - { - if (typeof window !== 'undefined' && window.gtag) { - window.gtag('event', 'email_click', { - event_category: 'engagement', - event_label: 'investor_memo_request', - value: 1, - }); - } - }} - className="no-underline hover:underline" - > - invest@intelligence.family - - - . + We've built a working prototype and written a full investor memo: product, unit economics, go-to-market, and the three-phase path from a single device to a platform company powering every privacy-conscious hardware maker. Our team lives in New York City and San Francisco.

+ {/* ===== V. THE ASK ===== */} +
+ +
+ +
+ We're raising $15M to design, manufacture, and ship the first device in this category — with the runway to prove it in families' homes. It's the same stack every private-intelligence product after it will run on.} + showQuotes={false} + source="Email us for the full memo & a demo" + actionLabel="invest@intelligence.family" + href="mailto:invest@intelligence.family?subject=Investor%20Memo%20Request" + onClick={() => { + if (typeof window !== 'undefined' && window.gtag) { + window.gtag('event', 'email_click', { + event_category: 'engagement', + event_label: 'investor_memo_request_ask', + value: 1, + }); + } + }} + /> +
+
{/* /gated content */} {!unlocked && ( diff --git a/www/tests/fundraising-copy.test.ts b/www/tests/fundraising-copy.test.ts index 9cfa5b5..130962c 100644 --- a/www/tests/fundraising-copy.test.ts +++ b/www/tests/fundraising-copy.test.ts @@ -42,4 +42,24 @@ describe('fundraising page copy contract', () => { expect(page).not.toMatch(/\bran\b.*agency/i) expect(page).toMatch(/oversees/) }) + + it('follows the pitch arc section order', () => { + const order = ['The Context', 'The Device', 'Why This Wins', 'Who We Are', 'The Ask'] + const idx = order.map((t) => page.indexOf(`title="${t}"`)) + expect(idx.every((i) => i >= 0)).toBe(true) + expect([...idx].sort((a, b) => a - b)).toEqual(idx) + expect(page).not.toContain('Business Concept') + expect(page).not.toContain('Our Experience') + }) + + it('asks for $15M exactly once, in The Ask section', () => { + expect(page.match(/\$15M/g)).toHaveLength(1) + expect(page.indexOf('$15M')).toBeGreaterThan(page.indexOf('title="The Ask"')) + }) + + it('gates from The Device onward; The Context is public', () => { + const gateStart = page.indexOf('/* ===== Email gate') + expect(page.indexOf('title="The Context"')).toBeLessThan(gateStart) + expect(page.indexOf('title="The Device"')).toBeGreaterThan(gateStart) + }) }) From 0900dad617c1104ab4e5208a1e6356b8d6303874 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 14:15:55 -0400 Subject: [PATCH 08/31] P2: category-lane hero, lived-experience beat, tonies/Yoto proof, stage-1 economics Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 15 +++++++++++++-- www/tests/fundraising-copy.test.ts | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 54a59d2..db76901 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -91,7 +91,7 @@ export default function Fundraising() { {/* H2 Subtitle */}

- We're building a consumer hardware business and software platform for private intelligence. + Private intelligence is a new category of computing: AI that lives in your home, works offline, and answers to no one. We're starting with the family.

@@ -155,6 +155,10 @@ export default function Fundraising() {
+

+ The device is a living archive of your family. It sits on the kitchen shelf, and when you invite it into the conversation it can resurface the story your grandfather told last Thanksgiving, find the recording of your daughter's first words, and help your kids interview their grandparents while they still can. Everything it hears and remembers stays inside the house. That's the unlock: an AI families actually welcome at the dinner table, because it works for them and no one else. +

+
- {/* Task 4 adds the lived-experience paragraph above the MediaRow */} {/* ===== III. WHY THIS WINS ===== */}
@@ -181,6 +184,10 @@ export default function Fundraising() { The device will be sold at a premium consumer price point, but the memories it holds are irreplaceable, and families will pay extra to never lose them. We sell a recurring, end-to-end encrypted cloud backup, where the keys live only with the family and the data syncs as an opaque vault we cannot open. All inference runs locally; the cloud is a sealed mirror.

+

+ Family-focused hardware plus subscription is a proven category: trackOutbound('tonies_proof')}>tonies built a public company on it (€630M revenue in FY2025, up 31%, at a record EBITDA margin), and trackOutbound('yoto_proof')}>Yoto grew 86% last year to £95M with backing from the Chan Zuckerberg Initiative. +

+
Our stack is licensable, too. The infrastructure under the family device (on-device inference, encrypted sync, and fleet tooling that updates thousands of devices without ever reading their contents) is what a hospital network or a law firm needs to run AI on data that can't leave the building. Think a platform company like trackOutbound('balena')}>balena, but for specialist IoT fleets that run private inference at the edge. The consumer arena hardens our tech, then we license it to enterprises.

+

+ The math is simple: an $899 device, a $9/month end-to-end encrypted backup subscription, and a five-year plan built on ~110,000 devices — roughly 0.05% of the 200M+ English-speaking households we're selling into. +

+ {/* ===== IV. WHO WE ARE ===== */}
diff --git a/www/tests/fundraising-copy.test.ts b/www/tests/fundraising-copy.test.ts index 130962c..dbfc6a6 100644 --- a/www/tests/fundraising-copy.test.ts +++ b/www/tests/fundraising-copy.test.ts @@ -62,4 +62,22 @@ describe('fundraising page copy contract', () => { expect(page.indexOf('title="The Context"')).toBeLessThan(gateStart) expect(page.indexOf('title="The Device"')).toBeGreaterThan(gateStart) }) + + it('opens on the category-creation lane', () => { + expect(page).toContain('new category of computing') + }) + + it('cites verified category proof', () => { + expect(page).toMatch(/tonies/i) + expect(page).toContain('Yoto') + expect(page).toContain('630') + expect(page).toContain('86%') + }) + + it('has stage-1 economics only (no model outputs)', () => { + expect(page).toContain('$899') + expect(page).toContain('$9/month') + expect(page).toContain('110,000') + expect(page).not.toMatch(/52\.5|2\.7x|LTV/) + }) }) From e1d37b5cdf75d8391eec2623dcaa7c5b1fb91d95 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 14:18:42 -0400 Subject: [PATCH 09/31] P3: three-phase trajectory diagram with shared stack bar Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 3 ++ www/components/TrajectoryDiagram.tsx | 46 ++++++++++++++++++++++++++++ www/tests/fundraising-copy.test.ts | 7 +++++ 3 files changed, 56 insertions(+) create mode 100644 www/components/TrajectoryDiagram.tsx diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index db76901..490c2d3 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -7,6 +7,7 @@ import QuoteBox from "@/components/QuoteBox"; import MediaRow from "@/components/MediaRow"; import LeafIcon from "@/components/LeafIcon"; import InlineEmailGate from "@/components/InlineEmailGate"; +import TrajectoryDiagram from "@/components/TrajectoryDiagram"; import { AnimatedElement } from "@/components/PageAnimations"; function trackOutbound(label: string) { @@ -244,6 +245,8 @@ export default function Fundraising() {
+ +
+
+ {PHASES.map((phase, i) => ( +
+
+ {phase.label} + {phase.title} + {phase.detail} +
+ {i < PHASES.length - 1 && ( + + )} +
+ ))} +
+
+ + The private intelligence stack, built once: local inference · e2e-encrypted sync · zero-knowledge fleet tooling + +
+
+ Phase 1's fleet is Phase 3's reference customer. +
+ + ); +} diff --git a/www/tests/fundraising-copy.test.ts b/www/tests/fundraising-copy.test.ts index dbfc6a6..be51c3c 100644 --- a/www/tests/fundraising-copy.test.ts +++ b/www/tests/fundraising-copy.test.ts @@ -80,4 +80,11 @@ describe('fundraising page copy contract', () => { expect(page).toContain('110,000') expect(page).not.toMatch(/52\.5|2\.7x|LTV/) }) + + it('renders the trajectory diagram', () => { + expect(page).toContain(' Date: Sat, 11 Jul 2026 14:23:56 -0400 Subject: [PATCH 10/31] Task 6 fixups: run prettier on all four branch-touched files Co-Authored-By: Claude Fable 5 --- www/app/fundraising/layout.tsx | 6 +- www/app/fundraising/page.tsx | 741 +++++++++++++++++++-------- www/components/TrajectoryDiagram.tsx | 18 +- www/tests/fundraising-copy.test.ts | 122 ++--- 4 files changed, 620 insertions(+), 267 deletions(-) diff --git a/www/app/fundraising/layout.tsx b/www/app/fundraising/layout.tsx index 7c11314..e3b396c 100644 --- a/www/app/fundraising/layout.tsx +++ b/www/app/fundraising/layout.tsx @@ -1,8 +1,8 @@ -import type { Metadata } from "next"; +import type { Metadata } from 'next'; -const title = "Fundraising · Family Intelligence"; +const title = 'Fundraising · Family Intelligence'; const description = - "The first device in a new category: beautiful consumer hardware running a fully local AI stack — private intelligence, never exposed to the cloud."; + 'The first device in a new category: beautiful consumer hardware running a fully local AI stack — private intelligence, never exposed to the cloud.'; export const metadata: Metadata = { title, diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 490c2d3..f8c701f 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -1,14 +1,14 @@ 'use client'; -import { useState, useEffect } from "react"; -import type { CSSProperties } from "react"; -import SectionHeader from "@/components/SectionHeader"; -import QuoteBox from "@/components/QuoteBox"; -import MediaRow from "@/components/MediaRow"; -import LeafIcon from "@/components/LeafIcon"; -import InlineEmailGate from "@/components/InlineEmailGate"; -import TrajectoryDiagram from "@/components/TrajectoryDiagram"; -import { AnimatedElement } from "@/components/PageAnimations"; +import { useState, useEffect } from 'react'; +import type { CSSProperties } from 'react'; +import SectionHeader from '@/components/SectionHeader'; +import QuoteBox from '@/components/QuoteBox'; +import MediaRow from '@/components/MediaRow'; +import LeafIcon from '@/components/LeafIcon'; +import InlineEmailGate from '@/components/InlineEmailGate'; +import TrajectoryDiagram from '@/components/TrajectoryDiagram'; +import { AnimatedElement } from '@/components/PageAnimations'; function trackOutbound(label: string) { if (typeof window !== 'undefined' && window.gtag) { @@ -22,7 +22,8 @@ function trackOutbound(label: string) { // Fixed-px gradient so the teaser fade reads identically whether the scrim // sits over the clipped teaser or over the full content mid-reveal. -const GATE_SCRIM = 'linear-gradient(to bottom, rgba(215,221,212,0) 0px, rgba(215,221,212,0) 96px, var(--fi-green-100) 300px)'; +const GATE_SCRIM = + 'linear-gradient(to bottom, rgba(215,221,212,0) 0px, rgba(215,221,212,0) 96px, var(--fi-green-100) 300px)'; const GATE_LOCKED_STYLE: CSSProperties = { maxHeight: 460, @@ -36,7 +37,8 @@ export default function Fundraising() { useEffect(() => { try { - if (localStorage.getItem('fi_fundraising_unlocked') === '1') setUnlocked(true); + if (localStorage.getItem('fi_fundraising_unlocked') === '1') + setUnlocked(true); } catch {} }, []); @@ -53,12 +55,17 @@ export default function Fundraising() { // Fully locked (teaser clipped) vs. revealing/unlocked. While locked the // gated region is inert so keyboard users can't tab into the clipped links. const locked = !unlocked && !revealing; - const gatedStyle: CSSProperties | undefined = locked ? GATE_LOCKED_STYLE : undefined; + const gatedStyle: CSSProperties | undefined = locked + ? GATE_LOCKED_STYLE + : undefined; return ( @@ -102,201 +121,517 @@ export default function Fundraising() { {/* ===== SECTION: Single-column teaser ===== */}
-
-
-
-
-
- -
- {/* ===== I. THE CONTEXT — public teaser ===== */} - - -
-
- {/* KEEP: opening thesis QuoteBox (de-asked in Task 1) */} - We're building the first device in a new category: beautiful consumer hardware running a fully local AI stack, where your most intimate data is understood, agentified, inferred against... but never exposed to the cloud.} - showQuotes={false} - source="Email us to learn more" - actionLabel="invest@intelligence.family" - href="mailto:invest@intelligence.family?subject=Investor%20Memo%20Request" - onClick={() => { - if (typeof window !== 'undefined' && window.gtag) { - window.gtag('event', 'email_click', { - event_category: 'engagement', - event_label: 'investor_memo_request_callout', - value: 1, - }); - } - }} - /> -
- -

- We're starting with families, then branching out. There are ~84 million households in the US alone, and 200M+ across the English-speaking world. It's a safe place to prove our technology: high value emotionally, low stakes legally. trackOutbound('pew_trust')}>Nearly 70% of Americans don't trust Big AI with their data, but trackOutbound('research_instagram')}>the Instagram response to our research (across 28k+ impressions, with Mozilla Foundation) was overwhelmingly positive: privacy-preserving AI architecture is what wins customers over. -

- -

- From there, the same stack extends to any industry where private data needs inference: law, journalism, healthcare, and any organization that's regulated or conscientious about trust. This product category is newly possible: trackOutbound('models_shrink')}>open models now trail frontier cloud models by just months, and trackOutbound('chips_grow')}>consumer chipsets are fast enough to run them. This is AI that no one can surveil or turn off. It runs in your home without internet, with no server to go dark and no company that can revoke it. AI as an offline appliance. -

- - {/* ===== Email gate: everything below fades until verified ===== */} -
-
- - {/* ===== II. THE DEVICE ===== */} -
- -
- -

- The device is a living archive of your family. It sits on the kitchen shelf, and when you invite it into the conversation it can resurface the story your grandfather told last Thanksgiving, find the recording of your daughter's first words, and help your kids interview their grandparents while they still can. Everything it hears and remembers stays inside the house. That's the unlock: an AI families actually welcome at the dinner table, because it works for them and no one else. -

- -
- -
- - {/* ===== III. WHY THIS WINS ===== */} -
- -
- -

- Big AI labs can't afford to compete in this category. The hyperscalers' core business depends on your data living in their cloud; building a private, on-device stack is diametrically opposed to how they work. Even a privacy-forward cloud is still a cloud: your data still goes to someone else's server, and you have to trust that no one looks at it. Our industrial design will be high taste and hard to replicate, but truly local, encrypted, and privacy-preserving inference is our real moat. There's a reason Google hasn't cloned Signal or Telegram. -

- -

- The device will be sold at a premium consumer price point, but the memories it holds are irreplaceable, and families will pay extra to never lose them. We sell a recurring, end-to-end encrypted cloud backup, where the keys live only with the family and the data syncs as an opaque vault we cannot open. All inference runs locally; the cloud is a sealed mirror. -

- -

- Family-focused hardware plus subscription is a proven category: trackOutbound('tonies_proof')}>tonies built a public company on it (€630M revenue in FY2025, up 31%, at a record EBITDA margin), and trackOutbound('yoto_proof')}>Yoto grew 86% last year to £95M with backing from the Chan Zuckerberg Initiative. -

- -
- This is a proven model: Signal now trackOutbound('signal_backups')}>charges for encrypted backups, Telegram for Premium, Apple for trackOutbound('apple_adp')}>Advanced Data Protection on iCloud+, and Proton, 1Password, Bitwarden, Tresorit, and Standard Notes all run profitable subscriptions on zero-knowledge encryption their own servers can't read. We're applying the same architecture to the most precious archive a family owns.} - showQuotes={false} - source="" - actionLabel="Signal's Private Backups" - actionHref="https://signal.org/blog/introducing-secure-backups/" - onActionClick={() => trackOutbound('signal_backups_footer')} - /> -
- -

- Our stack is licensable, too. The infrastructure under the family device (on-device inference, encrypted sync, and fleet tooling that updates thousands of devices without ever reading their contents) is what a hospital network or a law firm needs to run AI on data that can't leave the building. Think a platform company like trackOutbound('balena')}>balena, but for specialist IoT fleets that run private inference at the edge. The consumer arena hardens our tech, then we license it to enterprises. -

- -

- The math is simple: an $899 device, a $9/month end-to-end encrypted backup subscription, and a five-year plan built on ~110,000 devices — roughly 0.05% of the 200M+ English-speaking households we're selling into. -

- - {/* ===== IV. WHO WE ARE ===== */} -
- -
- -

- The three of us have spent our careers building intimate, human-centric hardware.{" "} - Hugh Francis founded trackOutbound('garden3d')}>garden3d and Sanctuary Computer, and oversees a $6mm+ design & development studio. He's a patented inventor for architecting trackOutbound('light_phone')}>The Light Phone II & III (named among TIME Magazine's Best Inventions in 2019 and 2025), architected trackOutbound('mill')}>Mill's IoT infrastructure (from the founders of Google's Nest), and holds direct relationships in Taipei and Shenzhen with Foxconn, Arima, Coosea, and other top-tier contract manufacturers. -

- -

- Yatú Pelaez-Espinosa & Norm O’Hagan are a product duo with 10+ years of creative collaboration: they founded trackOutbound('usb_club')}>USB Club, a hardware-enabled social network, founded the Advanced Concepts hardware team at trackOutbound('world')}>Sam Altman's World, researched new educational models at Other Internet, and in past lives designed at IBM and early Plaid. -

- -
- -
- -

- We've built a working prototype and written a full investor memo: product, unit economics, go-to-market, and the three-phase path from a single device to a platform company powering every privacy-conscious hardware maker. Our team lives in New York City and San Francisco. -

- - {/* ===== V. THE ASK ===== */} -
- -
- - - -
- We're raising $15M to design, manufacture, and ship the first device in this category — with the runway to prove it in families' homes. It's the same stack every private-intelligence product after it will run on.} - showQuotes={false} - source="Email us for the full memo & a demo" - actionLabel="invest@intelligence.family" - href="mailto:invest@intelligence.family?subject=Investor%20Memo%20Request" - onClick={() => { - if (typeof window !== 'undefined' && window.gtag) { - window.gtag('event', 'email_click', { - event_category: 'engagement', - event_label: 'investor_memo_request_ask', - value: 1, - }); +
+
+
+
+
+ +
+ {/* ===== I. THE CONTEXT — public teaser ===== */} + + +
+
+ {/* KEEP: opening thesis QuoteBox (de-asked in Task 1) */} + + + We're building the first device in a new + category + + : beautiful consumer hardware running a fully + local AI stack, where your most intimate data is + understood, agentified, inferred against...{' '} + but never exposed to the cloud. + } - }} - /> -
+ showQuotes={false} + source="Email us to learn more" + actionLabel="invest@intelligence.family" + href="mailto:invest@intelligence.family?subject=Investor%20Memo%20Request" + onClick={() => { + if (typeof window !== 'undefined' && window.gtag) { + window.gtag('event', 'email_click', { + event_category: 'engagement', + event_label: 'investor_memo_request_callout', + value: 1, + }); + } + }} + /> +
-
{/* /gated content */} - - {!unlocked && ( -
-
- +

+ + We're starting with families, then branching out + + . There are ~84 million households in the US alone, and + 200M+ across the English-speaking world. It's a + safe place to prove our technology: high value + emotionally, low stakes legally.{' '} + trackOutbound('pew_trust')} + > + Nearly 70% of Americans don't trust Big AI + {' '} + with their data, but{' '} + trackOutbound('research_instagram')} + > + the Instagram response to our research + {' '} + (across 28k+ impressions, with Mozilla Foundation) was + overwhelmingly positive:{' '} + + privacy-preserving AI architecture is what wins + customers over + + . +

+ +

+ From there,{' '} + + the same stack extends to any industry where private + data needs inference + + : law, journalism, healthcare, and any organization + that's regulated or conscientious about trust. This + product category is newly possible:{' '} + trackOutbound('models_shrink')} + > + open models now trail frontier cloud models by just + months + + , and{' '} + trackOutbound('chips_grow')} + > + consumer chipsets are fast enough to run them + + . This is AI that no one can surveil or turn off. It + runs in your home without internet, with no server to go + dark and no company that can revoke it.{' '} + AI as an offline appliance. +

+ + {/* ===== Email gate: everything below fades until verified ===== */} +
+
+ {/* ===== II. THE DEVICE ===== */} +
+ +
+ +

+ + The device is a living archive of your family. + {' '} + It sits on the kitchen shelf, and when you invite it + into the conversation it can resurface the story + your grandfather told last Thanksgiving, find the + recording of your daughter's first words, and + help your kids interview their grandparents while + they still can. Everything it hears and remembers{' '} + stays inside the house. That's + the unlock: an AI families actually welcome at the + dinner table, because it works for them and no one + else. +

+ +
+ +
+ + {/* ===== III. WHY THIS WINS ===== */} +
+ +
+ +

+ + Big AI labs can't afford to compete in this + category + + . The hyperscalers' core business depends on + your data living in their cloud; building a private, + on-device stack is diametrically opposed to how they + work. Even a privacy-forward cloud is still a cloud: + your data still goes to someone else's server, + and you have to trust that no one looks at it. Our + industrial design will be high taste and hard to + replicate, but{' '} + + truly local, encrypted, and privacy-preserving + inference is our real moat + + . There's a reason Google hasn't cloned Signal or + Telegram. +

+ +

+ The device will be sold at a premium consumer price + point, but the memories it holds are irreplaceable, + and families will pay extra to never lose them.{' '} + + We sell a recurring, end-to-end encrypted cloud + backup + + , where the keys live only with the family and the + data syncs as an opaque vault we cannot open. All + inference runs locally; the cloud is a sealed + mirror. +

+ +

+ + Family-focused hardware plus subscription is a + proven category + + :{' '} + trackOutbound('tonies_proof')} + > + tonies built a public company on it + {' '} + (€630M revenue in FY2025, up 31%, at a record + EBITDA margin), and{' '} + trackOutbound('yoto_proof')} + > + Yoto grew 86% last year to £95M + {' '} + with backing from the Chan Zuckerberg Initiative. +

+ +
+ + This is a proven model: + Signal now{' '} + + trackOutbound('signal_backups') + } + > + charges for encrypted backups + + , Telegram for Premium, Apple for{' '} + trackOutbound('apple_adp')} + > + Advanced Data Protection + {' '} + on iCloud+, and Proton, 1Password, Bitwarden, + Tresorit, and Standard Notes all run + profitable subscriptions on zero-knowledge + encryption their own servers can't read. + We're applying the same architecture to + the most precious archive a family owns. + + } + showQuotes={false} + source="" + actionLabel="Signal's Private Backups" + actionHref="https://signal.org/blog/introducing-secure-backups/" + onActionClick={() => + trackOutbound('signal_backups_footer') + } + /> +
+ +

+ Our stack is licensable, too. The + infrastructure under the family device (on-device + inference, encrypted sync, and fleet tooling that + updates thousands of devices without ever reading + their contents) is what a hospital network or a law + firm needs to run AI on data that can't leave + the building. Think a platform company like{' '} + trackOutbound('balena')} + > + balena + + , but for specialist IoT fleets that run private + inference at the edge. The consumer arena hardens + our tech, then{' '} + we license it to enterprises. +

+ +

+ The math is simple: an $899 device, + a $9/month end-to-end encrypted backup subscription, + and a five-year plan built on ~110,000 devices + — roughly 0.05% of the 200M+ English-speaking + households we're selling into. +

+ + {/* ===== IV. WHO WE ARE ===== */} +
+ +
+ +

+ + The three of us have spent our careers building + intimate, human-centric hardware. + {' '} + Hugh Francis founded{' '} + trackOutbound('garden3d')} + > + garden3d + {' '} + and Sanctuary Computer, and oversees a $6mm+ design + & development studio. He's a patented inventor + for architecting{' '} + trackOutbound('light_phone')} + > + The Light Phone II & III + {' '} + (named among TIME Magazine's Best Inventions in + 2019 and 2025), architected{' '} + trackOutbound('mill')} + > + Mill's IoT infrastructure + {' '} + (from the founders of Google's Nest), and{' '} + + holds direct relationships in Taipei and Shenzhen + with Foxconn + + , Arima, Coosea, and other top-tier contract + manufacturers. +

+ +

+ + Yatú Pelaez-Espinosa & Norm O’Hagan + {' '} + are a product duo with 10+ years of creative + collaboration: they founded{' '} + trackOutbound('usb_club')} + > + USB Club + + , a hardware-enabled social network, founded the + Advanced Concepts hardware team at{' '} + trackOutbound('world')} + > + Sam Altman's World + + , researched new educational models at Other + Internet, and in past lives designed at IBM and + early Plaid. +

+ +
+ +
+ +

+ + We've built a working prototype and written a + full investor memo + + : product, unit economics, go-to-market, and the + three-phase path from a single device to a platform + company powering every privacy-conscious hardware + maker.{' '} + + Our team lives in New York City and San Francisco + + . +

+ + {/* ===== V. THE ASK ===== */} +
+ +
+ + + +
+ + We're raising $15M to + design, manufacture, and ship the first device + in this category — with the runway to + prove it in families' homes. It's + the same stack every private-intelligence + product after it will run on. + + } + showQuotes={false} + source="Email us for the full memo & a demo" + actionLabel="invest@intelligence.family" + href="mailto:invest@intelligence.family?subject=Investor%20Memo%20Request" + onClick={() => { + if ( + typeof window !== 'undefined' && + window.gtag + ) { + window.gtag('event', 'email_click', { + event_category: 'engagement', + event_label: 'investor_memo_request_ask', + value: 1, + }); + } + }} + /> +
+ {/* /gated content */} + + {!unlocked && ( +
+
+ +
+
+ )}
- )} -
{/* /email gate wrapper */} -
-
- + {/* /email gate wrapper */} +
+
+ + -
diff --git a/www/components/TrajectoryDiagram.tsx b/www/components/TrajectoryDiagram.tsx index e0abd87..a671173 100644 --- a/www/components/TrajectoryDiagram.tsx +++ b/www/components/TrajectoryDiagram.tsx @@ -24,18 +24,28 @@ export default function TrajectoryDiagram() {
{phase.label} - {phase.title} - {phase.detail} + + {phase.title} + + + {phase.detail} +
{i < PHASES.length - 1 && ( - + + → + )}
))}
- The private intelligence stack, built once: local inference · e2e-encrypted sync · zero-knowledge fleet tooling + The private intelligence stack, built once: local inference · + e2e-encrypted sync · zero-knowledge fleet tooling
diff --git a/www/tests/fundraising-copy.test.ts b/www/tests/fundraising-copy.test.ts index be51c3c..e1feb9c 100644 --- a/www/tests/fundraising-copy.test.ts +++ b/www/tests/fundraising-copy.test.ts @@ -1,90 +1,98 @@ -import { describe, it, expect } from 'vitest' -import { readFileSync } from 'node:fs' -import path from 'node:path' +import { describe, it, expect } from 'vitest'; +import { readFileSync } from 'node:fs'; +import path from 'node:path'; const read = (rel: string) => - readFileSync(path.join(__dirname, '..', rel), 'utf8') + readFileSync(path.join(__dirname, '..', rel), 'utf8'); -const page = read('app/fundraising/page.tsx') -const layout = read('app/fundraising/layout.tsx') +const page = read('app/fundraising/page.tsx'); +const layout = read('app/fundraising/layout.tsx'); describe('fundraising page copy contract', () => { it('has no dateline', () => { - expect(page).not.toMatch(/August · September/) - }) + expect(page).not.toMatch(/August · September/); + }); it('is titled Investor Preview (mailto subject may still say Investor Memo)', () => { - expect(page).toContain('Investor Preview') + expect(page).toContain('Investor Preview'); // Plain-text "Investor Memo" (with a space) is gone; the mailto subject // uses "Investor%20Memo", which this regex cannot match. - expect(page).not.toMatch(/Investor Memo/) - }) + expect(page).not.toMatch(/Investor Memo/); + }); it('has no $25M or raise range anywhere', () => { - expect(page).not.toMatch(/25M/) - expect(layout).not.toMatch(/25M/) - }) + expect(page).not.toMatch(/25M/); + expect(layout).not.toMatch(/25M/); + }); it('hero contains no raise ask', () => { - const hero = page.slice(page.indexOf('')) - expect(hero).not.toMatch(/raising/i) - expect(hero).not.toMatch(/\$1?5M/) - }) + const hero = page.slice(page.indexOf('')); + expect(hero).not.toMatch(/raising/i); + expect(hero).not.toMatch(/\$1?5M/); + }); it('names the team', () => { - expect(page).toContain('Hugh Francis') - expect(page).toContain('Yatú Pelaez-Espinosa') + expect(page).toContain('Hugh Francis'); + expect(page).toContain('Yatú Pelaez-Espinosa'); // Source uses an HTML entity for the apostrophe (O’Hagan) - expect(page).toMatch(/Norm O.{0,8}Hagan/) - }) + expect(page).toMatch(/Norm O.{0,8}Hagan/); + }); it('does not claim the agency in past tense', () => { - expect(page).not.toMatch(/\bran\b.*agency/i) - expect(page).toMatch(/oversees/) - }) + expect(page).not.toMatch(/\bran\b.*agency/i); + expect(page).toMatch(/oversees/); + }); it('follows the pitch arc section order', () => { - const order = ['The Context', 'The Device', 'Why This Wins', 'Who We Are', 'The Ask'] - const idx = order.map((t) => page.indexOf(`title="${t}"`)) - expect(idx.every((i) => i >= 0)).toBe(true) - expect([...idx].sort((a, b) => a - b)).toEqual(idx) - expect(page).not.toContain('Business Concept') - expect(page).not.toContain('Our Experience') - }) + const order = [ + 'The Context', + 'The Device', + 'Why This Wins', + 'Who We Are', + 'The Ask', + ]; + const idx = order.map(t => page.indexOf(`title="${t}"`)); + expect(idx.every(i => i >= 0)).toBe(true); + expect([...idx].sort((a, b) => a - b)).toEqual(idx); + expect(page).not.toContain('Business Concept'); + expect(page).not.toContain('Our Experience'); + }); it('asks for $15M exactly once, in The Ask section', () => { - expect(page.match(/\$15M/g)).toHaveLength(1) - expect(page.indexOf('$15M')).toBeGreaterThan(page.indexOf('title="The Ask"')) - }) + expect(page.match(/\$15M/g)).toHaveLength(1); + expect(page.indexOf('$15M')).toBeGreaterThan( + page.indexOf('title="The Ask"') + ); + }); it('gates from The Device onward; The Context is public', () => { - const gateStart = page.indexOf('/* ===== Email gate') - expect(page.indexOf('title="The Context"')).toBeLessThan(gateStart) - expect(page.indexOf('title="The Device"')).toBeGreaterThan(gateStart) - }) + const gateStart = page.indexOf('/* ===== Email gate'); + expect(page.indexOf('title="The Context"')).toBeLessThan(gateStart); + expect(page.indexOf('title="The Device"')).toBeGreaterThan(gateStart); + }); it('opens on the category-creation lane', () => { - expect(page).toContain('new category of computing') - }) + expect(page).toContain('new category of computing'); + }); it('cites verified category proof', () => { - expect(page).toMatch(/tonies/i) - expect(page).toContain('Yoto') - expect(page).toContain('630') - expect(page).toContain('86%') - }) + expect(page).toMatch(/tonies/i); + expect(page).toContain('Yoto'); + expect(page).toContain('630'); + expect(page).toContain('86%'); + }); it('has stage-1 economics only (no model outputs)', () => { - expect(page).toContain('$899') - expect(page).toContain('$9/month') - expect(page).toContain('110,000') - expect(page).not.toMatch(/52\.5|2\.7x|LTV/) - }) + expect(page).toContain('$899'); + expect(page).toContain('$9/month'); + expect(page).toContain('110,000'); + expect(page).not.toMatch(/52\.5|2\.7x|LTV/); + }); it('renders the trajectory diagram', () => { - expect(page).toContain(' Date: Sat, 11 Jul 2026 14:29:34 -0400 Subject: [PATCH 11/31] Final review fixes: adjusted-EBITDA + Yoto 2024 dating, test hardening - Change 'at a record EBITDA margin' to 'at a record adjusted EBITDA margin' (line 346) to match cited source - Change 'Yoto grew 86% last year' to 'Yoto grew 86% in 2024' for precise dating (line 355) - Remove scaffolding comment about opening thesis QuoteBox (line 136) - Add assertions for 95M and in 2024 in category proof test - Harden hero test with header existence check Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 5 ++--- www/tests/fundraising-copy.test.ts | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index f8c701f..ba71e39 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -133,7 +133,6 @@ export default function Fundraising() {
- {/* KEEP: opening thesis QuoteBox (de-asked in Task 1) */} {' '} (€630M revenue in FY2025, up 31%, at a record - EBITDA margin), and{' '} + adjusted EBITDA margin), and{' '} trackOutbound('yoto_proof')} > - Yoto grew 86% last year to £95M + Yoto grew 86% in 2024 to £95M {' '} with backing from the Chan Zuckerberg Initiative.

diff --git a/www/tests/fundraising-copy.test.ts b/www/tests/fundraising-copy.test.ts index e1feb9c..69ae901 100644 --- a/www/tests/fundraising-copy.test.ts +++ b/www/tests/fundraising-copy.test.ts @@ -26,6 +26,7 @@ describe('fundraising page copy contract', () => { }); it('hero contains no raise ask', () => { + expect(page.indexOf('')); expect(hero).not.toMatch(/raising/i); expect(hero).not.toMatch(/\$1?5M/); @@ -80,6 +81,8 @@ describe('fundraising page copy contract', () => { expect(page).toContain('Yoto'); expect(page).toContain('630'); expect(page).toContain('86%'); + expect(page).toContain('95M'); + expect(page).toContain('in 2024'); }); it('has stage-1 economics only (no model outputs)', () => { From 0b25a3a7650daa4377ce534dd28bac182f964ba7 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 14:58:05 -0400 Subject: [PATCH 12/31] Hero: tighter 'newly possible' H2, restore mono byline with Family wedge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ask stays in Section V only — byline carries the wedge, not the number. Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 20 +++++++++++++++++--- www/tests/fundraising-copy.test.ts | 2 +- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index ba71e39..722d39b 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -109,11 +109,25 @@ export default function Fundraising() { className="mt-2 text-balance max-w-2xl" style={{ fontSize: 'clamp(20px, 4vw, 28px)' }} > - Private intelligence is a new category of computing: AI that - lives in your home, works offline, and answers to no one. - We're starting with the family. + Private intelligence is a newly possible category of + computing. + + {/* Byline */} + + AI that lives in your home, your office, your hand. +
+ + We're starting with the Family + + +
diff --git a/www/tests/fundraising-copy.test.ts b/www/tests/fundraising-copy.test.ts index 69ae901..53a71db 100644 --- a/www/tests/fundraising-copy.test.ts +++ b/www/tests/fundraising-copy.test.ts @@ -73,7 +73,7 @@ describe('fundraising page copy contract', () => { }); it('opens on the category-creation lane', () => { - expect(page).toContain('new category of computing'); + expect(page).toMatch(/newly possible category of\s+computing/); }); it('cites verified category proof', () => { From 3a6fc3d26e46e8f189b296fca5a27e7737de9722 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 15:04:58 -0400 Subject: [PATCH 13/31] Lived-experience closer: fold reassurance into 'stays inside the house' sentence Replaces the announce-y 'That's the unlock' closer with Hugh's phrasing. Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 722d39b..485d6cf 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -271,10 +271,9 @@ export default function Fundraising() { recording of your daughter's first words, and help your kids interview their grandparents while they still can. Everything it hears and remembers{' '} - stays inside the house. That's - the unlock: an AI families actually welcome at the - dinner table, because it works for them and no one - else. + stays inside the house, so everyone + can rest easy knowing their cherished memories are + captured for them, and them alone.

From fd46a3f37b8fa48960435ffa165efebe56c32975 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 15:07:29 -0400 Subject: [PATCH 14/31] Unbold the lived-experience closer's final phrase Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 485d6cf..f63e303 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -273,7 +273,7 @@ export default function Fundraising() { they still can. Everything it hears and remembers{' '} stays inside the house, so everyone can rest easy knowing their cherished memories are - captured for them, and them alone. + captured for them, and them alone.

From 4097c55b9bc864dd08bd33e77a7a170c45e69179 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 15:09:27 -0400 Subject: [PATCH 15/31] Why This Wins: lead with category proof (tonies/Yoto), then the moat argument Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 58 ++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index f63e303..c6b77a4 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -305,6 +305,35 @@ export default function Fundraising() {
+

+ + Family-focused hardware plus subscription is a + proven category + + :{' '} + trackOutbound('tonies_proof')} + > + tonies built a public company on it + {' '} + (€630M revenue in FY2025, up 31%, at a record + adjusted EBITDA margin), and{' '} + trackOutbound('yoto_proof')} + > + Yoto grew 86% in 2024 to £95M + {' '} + with backing from the Chan Zuckerberg Initiative. +

+

Big AI labs can't afford to compete in this @@ -340,35 +369,6 @@ export default function Fundraising() { mirror.

-

- - Family-focused hardware plus subscription is a - proven category - - :{' '} - trackOutbound('tonies_proof')} - > - tonies built a public company on it - {' '} - (€630M revenue in FY2025, up 31%, at a record - adjusted EBITDA margin), and{' '} - trackOutbound('yoto_proof')} - > - Yoto grew 86% in 2024 to £95M - {' '} - with backing from the Chan Zuckerberg Initiative. -

-
Date: Sat, 11 Jul 2026 15:12:45 -0400 Subject: [PATCH 16/31] Copy: 'Our math is simple', drop em dashes, add companion/industries expansion closer Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index c6b77a4..47901ed 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -439,11 +439,15 @@ export default function Fundraising() {

- The math is simple: an $899 device, + Our math is simple: an $899 device, a $9/month end-to-end encrypted backup subscription, - and a five-year plan built on ~110,000 devices - — roughly 0.05% of the 200M+ English-speaking - households we're selling into. + and a five-year plan built on ~110,000 devices, + roughly 0.05% of the 200M+ English-speaking + households we're selling into.{' '} + + And that's before we roll out companion + devices, or branch into other industries. +

{/* ===== IV. WHO WE ARE ===== */} @@ -585,10 +589,10 @@ export default function Fundraising() { <> We're raising $15M to design, manufacture, and ship the first device - in this category — with the runway to - prove it in families' homes. It's - the same stack every private-intelligence - product after it will run on. + in this category, with the runway to prove it + in families' homes. It's the same + stack every private-intelligence product after + it will run on. } showQuotes={false} From 60bb70800c3eec87ce699be0a7007f84ee7c482a Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 15:13:30 -0400 Subject: [PATCH 17/31] Who We Are: split team intro and Hugh's bio into separate paragraphs Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 47901ed..272267e 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -459,7 +459,10 @@ export default function Fundraising() { The three of us have spent our careers building intimate, human-centric hardware. - {' '} +
+

+ +

Hugh Francis founded{' '} Date: Sat, 11 Jul 2026 15:15:46 -0400 Subject: [PATCH 18/31] Team bios: link Hugh Francis (hhff.solar), Sanctuary Computer, and Other Internet Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 44 ++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 272267e..f05c522 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -463,7 +463,18 @@ export default function Fundraising() {

- Hugh Francis founded{' '} + + trackOutbound('hugh_francis')} + > + Hugh Francis + + {' '} + founded{' '} garden3d {' '} - and Sanctuary Computer, and oversees a $6mm+ design - & development studio. He's a patented inventor - for architecting{' '} + and{' '} + + trackOutbound('sanctuary_computer') + } + > + Sanctuary Computer + + , and oversees a $6mm+ design & development studio. + He's a patented inventor for architecting{' '} Sam Altman's World - , researched new educational models at Other - Internet, and in past lives designed at IBM and - early Plaid. + , researched new educational models at{' '} + trackOutbound('other_internet')} + > + Other Internet + + , and in past lives designed at IBM and early Plaid.

From cdf567ee7a74eb162f9bb1c8d647693283493b72 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 15:26:55 -0400 Subject: [PATCH 19/31] Hero/section copy updates + restructure the closing arc 'AI that runs local', 'starting with families', 'Our First Device', diagram above the economics line, $15M box leads The Ask, restored prototype+demo CTA paragraph as the page closer. Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 76 +++++++++++++++++++++--------- www/tests/fundraising-copy.test.ts | 6 +-- 2 files changed, 58 insertions(+), 24 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index f05c522..c829ae2 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -116,10 +116,10 @@ export default function Fundraising() { {/* Byline */} - AI that lives in your home, your office, your hand. + AI that runs local in your home, your office, your hand.
- We're starting with the Family + We're starting with families. {/* ===== II. THE DEVICE ===== */}
- +

- The device is a living archive of your family. + This device is a living archive of your family. {' '} It sits on the kitchen shelf, and when you invite it into the conversation it can resurface the story @@ -438,6 +441,8 @@ export default function Fundraising() { we license it to enterprises.

+ +

Our math is simple: an $899 device, a $9/month end-to-end encrypted backup subscription, @@ -593,28 +598,11 @@ export default function Fundraising() { />

-

- - We've built a working prototype and written a - full investor memo - - : product, unit economics, go-to-market, and the - three-phase path from a single device to a platform - company powering every privacy-conscious hardware - maker.{' '} - - Our team lives in New York City and San Francisco - - . -

- {/* ===== V. THE ASK ===== */}
- -
+ +

+ + We've built a working prototype and written a + full investor memo + + : product, unit economics, go-to-market, and the + three-phase path from a single device to a platform + company powering every privacy-conscious hardware + maker.{' '} + + Our team lives in New York City and San Francisco + + .{' '} + + If you'd like a demo, please email us + {' '} + at{' '} + + { + if ( + typeof window !== 'undefined' && + window.gtag + ) { + window.gtag('event', 'email_click', { + event_category: 'engagement', + event_label: 'investor_memo_request', + value: 1, + }); + } + }} + className="no-underline hover:underline" + > + invest@intelligence.family + + + + . +

{/* /gated content */} diff --git a/www/tests/fundraising-copy.test.ts b/www/tests/fundraising-copy.test.ts index 53a71db..27174fa 100644 --- a/www/tests/fundraising-copy.test.ts +++ b/www/tests/fundraising-copy.test.ts @@ -47,7 +47,7 @@ describe('fundraising page copy contract', () => { it('follows the pitch arc section order', () => { const order = [ 'The Context', - 'The Device', + 'Our First Device', 'Why This Wins', 'Who We Are', 'The Ask', @@ -66,10 +66,10 @@ describe('fundraising page copy contract', () => { ); }); - it('gates from The Device onward; The Context is public', () => { + it('gates from Our First Device onward; The Context is public', () => { const gateStart = page.indexOf('/* ===== Email gate'); expect(page.indexOf('title="The Context"')).toBeLessThan(gateStart); - expect(page.indexOf('title="The Device"')).toBeGreaterThan(gateStart); + expect(page.indexOf('title="Our First Device"')).toBeGreaterThan(gateStart); }); it('opens on the category-creation lane', () => { From 90567de1cab421dfd88081c203c567fa701b484f Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 15:28:04 -0400 Subject: [PATCH 20/31] The Ask: demo CTA gets its own paragraph Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index c829ae2..1fbfd83 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -647,7 +647,10 @@ export default function Fundraising() { Our team lives in New York City and San Francisco - .{' '} + . +

+ +

If you'd like a demo, please email us {' '} From 4f568ea9ebe5b0ca2b412fc3fc43574ed145bf7f Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 15:35:38 -0400 Subject: [PATCH 21/31] Economics line: add rounded ~$50M/yr Y5 figure (base-case, rounded to survive model v2 drift) Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 1fbfd83..1375799 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -450,6 +450,7 @@ export default function Fundraising() { roughly 0.05% of the 200M+ English-speaking households we're selling into.{' '} + That's a ~$50M-a-year business by year five. And that's before we roll out companion devices, or branch into other industries. From 93b827ec161d5fe344e7a459951bf2926698c112 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 15:36:36 -0400 Subject: [PATCH 22/31] Economics closer: '~$50M+ business by Y5...' phrasing Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 1375799..66efe87 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -450,9 +450,9 @@ export default function Fundraising() { roughly 0.05% of the 200M+ English-speaking households we're selling into.{' '} - That's a ~$50M-a-year business by year five. - And that's before we roll out companion - devices, or branch into other industries. + That's a ~$50M+ business by Y5... and + that's before we roll out companion devices, + or branch into other industries.

From ab175b2879263ef9276c79138a776f00580ca33b Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 15:42:53 -0400 Subject: [PATCH 23/31] Revert Y5 revenue figure from economics closer Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 66efe87..1fbfd83 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -450,9 +450,8 @@ export default function Fundraising() { roughly 0.05% of the 200M+ English-speaking households we're selling into.{' '} - That's a ~$50M+ business by Y5... and - that's before we roll out companion devices, - or branch into other industries. + And that's before we roll out companion + devices, or branch into other industries.

From f307c1491ecc5647813e7093c68c84503894dd39 Mon Sep 17 00:00:00 2001 From: Hugh Francis Date: Sat, 11 Jul 2026 16:23:51 -0400 Subject: [PATCH 24/31] Replace HTML trajectory diagram with FigJam board embed Co-Authored-By: Claude Fable 5 --- www/app/fundraising/page.tsx | 21 ++++++++++- www/components/TrajectoryDiagram.tsx | 56 ---------------------------- www/tests/fundraising-copy.test.ts | 10 ++--- 3 files changed, 24 insertions(+), 63 deletions(-) delete mode 100644 www/components/TrajectoryDiagram.tsx diff --git a/www/app/fundraising/page.tsx b/www/app/fundraising/page.tsx index 1fbfd83..fd9c150 100644 --- a/www/app/fundraising/page.tsx +++ b/www/app/fundraising/page.tsx @@ -7,7 +7,6 @@ import QuoteBox from '@/components/QuoteBox'; import MediaRow from '@/components/MediaRow'; import LeafIcon from '@/components/LeafIcon'; import InlineEmailGate from '@/components/InlineEmailGate'; -import TrajectoryDiagram from '@/components/TrajectoryDiagram'; import { AnimatedElement } from '@/components/PageAnimations'; function trackOutbound(label: string) { @@ -441,7 +440,25 @@ export default function Fundraising() { we license it to enterprises.

- +
+
+