Everything a production rebuild of the Unlock investor walkthrough needs — design system, narrative, interactive logic, gate architecture and the verbatim compliance rules. Target stack: Lovable (React + Vite + Tailwind + shadcn/ui) + Supabase.
Lovable is export-only. It cannot import an existing repo — it builds an app and pushes
out to a GitHub repo it creates. So this prototype is the
reference spec that Lovable rebuilds from; it is not imported. The
backend carries over directly: stand up the Supabase project independently, and Lovable connects to that same project (paste Project URL + anon key).
2 · Design system
Reuse the existing unlockdd.com shadcn tokens. Type: Inter 400–900.
shadcn CSS variables (HSL)
/* index.css :root */
--background:80 27% 95%; /* #F3F6EF sage */
--foreground:270 3% 13%; /* near-black ink */
--card:0 0% 100%;
--primary:157 100% 37%; /* brand green ≈ #00BD74 */
--primary-foreground:0 0% 100%;
--secondary:0 0% 96%; --muted:0 0% 93%; --muted-foreground:0 0% 40%;
--accent:157 100% 27%; /* darker green */
--destructive:0 84% 60%;
--border:0 0% 85%; --ring:157 100% 37%; --radius:.5rem;
Plain tokens used in the prototype
| Token | Value | Use |
| bg | #F3F6EF | page sage |
| ink | #1c1b1d | text |
| green | hsl(157 100% 37%) | primary |
| green-dark | hsl(157 100% 27%) | accent / text-on-light |
| green-soft | hsl(157 55% 94%) | chips / fills |
| green-bright | hsl(157 100% 55%) | on-dark highlight |
| amber | #E6A21A | caution status |
| red | #E5484D | risk / downside |
Components & motion
- Cards — white, soft shadow, hover lift; icon chip (36px rounded, green-soft bg).
- Pills/chips — green / amber / red status.
- Dark sections — green radial mesh background; gradient-filled stat numerals.
- Tagline — Return On Intelligence with R / O / I in green (the ROI read-through). Appears in the logo lockup, the cover hero, and the closing sign-off.
- Icons — custom stroke SVG set (currentColor). Replace any unicode glyphs.
- Motion — staggered content reveal on slide-activate (use Framer Motion
variants + whileInView); slide-entrance animation; animated orbital motif on the cover; D3 transitions for the four data visuals. Respect prefers-reduced-motion.
3 · Narrative arc — 15 slides
Driven by → ← arrows, a top tab menu, and a grouped side menu with progress dots. Skip to any section or walk it linearly.
- Mission — "Built to be one of the 1 in 10 that deliver 10×+ / not a build round."
- What & who — personas: Estate Architect (£1–3M), Operator-Owner (£1–5M), Multi-Family Principal (£5–20M+).
- The problem — fragmented / conflicted / inaccessible + concentration-risk visual.
- Why unsolved — four truths.
- The solution — animated asset-load.
- The product — 3 live systems (Asset Register, Decumulation Planner, Tax Intelligence Engine).
- Why we win — owned data universe (30k / 600k / 1.6M) + AI-native 23-agent workforce + disruption framing.
- How we grow — get / convert / keep engine + flywheel.
- Why now — three windows (regulatory / competitive / founding round).
- The market — TAM 600k / SAM 180k / target 45k nested-circle viz.
- EIS model — the interactive centrepiece (§4).
- The bet — downside / upside, downside led.
- Returns & exit — two horizons (~10× at 5k subs, ~89× at 45k).
- Terms & Sandbox — KIC, SEIS-now / EIS-later, hi-fi Sandbox mock.
- Book a call — close + booking capture.
(The earlier "Five named founding investors" proof slide has been removed; named investors still appear contextually on the Product slide. If the tested-funnel proof is wanted back, re-add it as a card on "How we grow".)
4 · Interactive pieces & EIS model
- Asset-load (Solution) — rows animate in, total counts up, safety lights flip.
- Data universe (Why we win, D3) — 30k → 600k → 1.6M expanding concentric dot-rings.
- Market (D3) — TAM 600k / SAM 180k / target 45k nested circles, area-proportional, animated.
- EIS-over-time model (D3, centrepiece) — ticket slider (£10k–£250k) + outcome toggle (fails / holds / works 3× / strong 6×) → live chart.
EIS model logic (illustrative, additional-rate)
effectiveCost = ticket × 0.70 // after 30% EIS income relief
netLossIfFails = effectiveCost × 0.55 // loss relief 45% of net cost ≈ ticket × 0.385
exitValue = ticket × outcome // CGT-free after the qualifying hold
Render a value path across Years 0–5; show the effective-cost line; on success show Y2 (BPR / IHT-free) and Y3 (CGT-free) markers.
SEIS treatment — confirmed (2026-06-17): SEIS throughout. 50% income relief; on failure the value line floors at ≈ 72.5% capital retained (net loss ≈ 27.5p in the £, additional rate), not zero. Gains CGT-free after the qualifying hold. Above SEIS limits (~£250k) the round uses EIS (30%; loss ≈ 38.5p) — the prototype models SEIS. Implemented: effectiveCost = ticket×0.50; netLossIfFails = effectiveCost×0.55 ≈ ticket×0.275; failFloor = ticket − netLoss.
5 · Compliance — bind verbatim
s.21 FSMA is a criminal offence. An inducement to invest may only be communicated to a person who has validly self-certified as HNW or sophisticated before they see it. Gate first; risk warnings throughout; downside ≥ upside; all figures "illustrative, not a forecast".
Seven mandatory disclaimers (verbatim — "Important information" modal + persistent risk bar)
1 · Capital is at risk. The value of EIS investments can fall as well as rise, and investors may not get back the full amount invested.
2 · This is decision support, not financial advice. Unlock surfaces structured analysis; the decision is yours.
3 · Unlock operates outside the FCA perimeter by design. What we provide is structured decision support, not regulated financial advice.
4 · These figures are modelled, not guaranteed. Assumptions are visible alongside each projection.
5 · Tax outcomes depend on individual circumstances and may change in the future. The figures shown illustrate general planning logic and are not personalised tax advice.
6 · Past performance is not a reliable indicator of future results.
7 · From April 2027, under the Finance Act 2026 (enacted law, Royal Assent April 2026), defined-contribution pensions become part of the estate for inheritance tax purposes.
Canonical EIS line (LOCKED — quote exactly): "EIS income tax relief is 30% of the amount invested, up to £1,000,000 per tax year (£2,000,000 for Knowledge Intensive Companies)."
Prohibited phrases — never use, anywhere: "22p per pound" (wrong SEIS loss figure — correct ≈ 27.5p) · "7.8× average EIS return" (unsourced).
6 · Server-side certification gate (Supabase)
The prototype gate is client-side (a local session flag). Production must enforce server-side and store an auditable record before any promotional content renders.
Recommended: capture the binding statutory self-certification inside the SeedLegals Instant Investment flow (Unlock's instrument). The site gate then only controls who reaches the gated content.
Never retype the prescribed statement from memory. The Art 48 (HNW) / Art 50A (sophisticated) statements are statutory prescribed forms — capture via SeedLegals, or transcribe verbatim from SI 2024/301 Sch.3 (HNW) / Sch.4 (sophisticated).
Supabase schema
create table public.investor_certifications (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users(id) on delete cascade,
category text not null check (category in ('hnw','sophisticated')),
criterion text, -- which Art 48/50A criterion + how
statement_version text not null, -- e.g. 'SI 2024/301 Sch.3'
acknowledged boolean not null default false,
source text not null default 'site',
ip_address inet,
user_agent text,
created_at timestamptz not null default now(),
expires_at timestamptz not null default (now() + interval '12 months')
);
RLS + enforcement
- Enable RLS; user may
insert / select only their own rows; no client update/delete (immutable audit record).
- Write through a Supabase Edge Function (service_role) so
ip_address/user_agent are server-stamped, not spoofable.
- Identity via Supabase Auth email magic-link (verified session for the audit trail).
- Gated routes check the session server-side (middleware / route guard). No valid, unexpired cert → redirect to the gateway. A valid cert lets returning users straight in until
expires_at.
- Add a
bookings table (id, user_id, cert_id, scheduler_event_id, stage, created_at) so a booked call is tied to a valid certification.
7 · CTA / booking
The deck's only conversion action is "Book a discovery call". Flow: discovery call (20 min) → platform demo with the investor's own asset classes (30 min) → reserve via SeedLegals Instant Investment. Wire the CTA to the real scheduler (Calendly/SeedLegals) and capture the booking in Supabase. In the prototype this is a modal that validates + confirms + stores locally; a single BOOKING_URL constant is the swap point for the live link.
8 · Open decisions (confirm before external launch)
- SEIS model treatment — confirmed: SEIS throughout (50%), fail floors at ~72.5% capital retained (see §4).
- "Disruptive business" definition — added on the "Why we win" slide (Christensen-style definition + why Unlock meets it).
- Pricing — Free / £99 / £299 (the earlier £249 is superseded). Ticket: £40k founding / £10k standard. (confirmed 2026-06-17)
- Calendly URL — paste into
BOOKING_URL.
- Counsel-owned: canonical regulatory-status line (three competing versions; the content brain holds none); endorsement wording (Tony Vine-Lott + "second Barclays investor"); risk-warning regime (COBS 4.12A vs s.21); M2 financial-promotions review; market figures still flagged "to be source-verified (RVL)".
- Keep OUT — syndicate / third-party-deal inducement content (possible "arranging deals" regime; deferred until counsel resolves).
9 · Build & test checklist
- Uncertified visitor can never reach gated content (server-side guard).
- Certification writes an immutable, timestamped record (category, criterion, statement version, ip/ua).
- Returning certified visitor goes straight in until
expires_at.
- Risk bar + "Important information" (7 verbatim disclaimers) present throughout; no prohibited phrases; EIS line canonical; figures labelled illustrative.
- Four D3 / animation pieces fire on slide-activate and recompute; EIS model maths correct (incl. the SEIS fail-floor once confirmed).
- Both CTAs reach the real scheduler; booking captured + tied to a cert.
- Prescribed statement is SeedLegals-captured or transcribed verbatim (never retyped).
- Mobile: nav collapses, no horizontal scroll, controls clear the risk bar.
prefers-reduced-motion respected; SVG visuals have text alternatives; AA contrast.
Unlock Services Limited · build spec 2026 · governed by the Unlock Financial Promotion Playbook V1.