Spark / prototype
21 routes · 4 states · AS IS + Improved View suggestions →
▲ Prototype gallery · faithful to spark-v2-production · dark only

Every route in Spark, laid out as it ships today — plus a bolder version of each.

Pulled from the live codebase: design tokens, fonts, animations, the celestial starfield and aurora overlay reproduced 1:1. Each screen ships an AS IS and an Improved variant, and a state toggle for Default · Empty · Loading · Error. The improved variants are conservative-bold: I restructured layouts and IA where it was clearly worth it; everything else stays close to today's UI.

15 screens · 21 routes covered 4 states per page 2 versions per page 1 design system extracted 12 suggestions queued in suggestions.html
Legend AS IS ▲ Improved present ▲ Worth attention Admin Auth

Marketing & Auth 5 routes

The unauthenticated funnel: from a viral link or affiliate code into the first reflection.

Open →
/

Landing

Hero with spark logo, "Build meaningful connections through self-discovery," and three feature cards.

AS IS ▲ Improved Loading / signed-in / signed-out
Open →
/sign-in

Sign in

Clerk widget — username + password + magic link. Centered card on the celestial canvas.

Clerk AS IS only
Open →
/sign-up

Sign up

Clerk widget — paired with sign-in. Used after Chapter 1 to "Bind this Book."

Clerk AS IS only
Open →
/affiliate/$code

Affiliate landing

Affiliate-code landing: who sent you, what you get, "Start your story" CTA.

AS IS ▲ Improved
Open →
+ invite
/invite/$code

Invite landing

A friend invited you — accept, see their match code, jump to onboarding.

AS IS ▲ Improved

Member core 3 routes (incl. /discover → /chapters redirect)

The reflection engine: guest-first onboarding, the chapter library, and the long-form survey.

Open →
3/7
/onboarding

Onboarding (Chapter 1)

Guest-first: book spread layout, progress ring, autosave, "Bind this Book" → sign-up.

AS IS ▲ Improved Session restore / expired
Open →
/chapters · /discover

Chapters

Tier-gated cards (Open / Standard / Premium). Stats header, key-cost unlocks.

AS IS ▲ Improved Premium gate friction
Open →
/survey/$chapterId

Survey (chapter)

Same renderer as onboarding but inside the main shell. SurveyJS-backed question types.

AS IS ▲ Improved Autosave / skip

Match 4 routes

Where the product earns its name — pending requests, active matches, deep insight, chat, video.

Open →
/match

Match list

Active / Pending / Expired tabs. FAB+sheet on mobile, action-pill row on desktop. Optimistic accept/decline.

AS IS ▲ Improved 3 sub-states
Open →
/match/$matchId

Match detail

Shared themes, differences, conversation starters. AS IS still uses purple chrome from a leftover Tailwind class — flagged.

AS IS ▲ Improved Color drift
Open →
/match/$matchId/chat

Match chat

Conversation thread, conversation-starter chips, typing indicator, deadline banner.

AS IS ▲ Improved
Open →
CJ
/match/$matchId/video

Match video

LiveKit room view: tile, controls, deadline. The AS IS today is bare-bones — improved version adds a structured room.

AS IS ▲ Improved Sparse today

Book of You 3 routes

Generate a narrative biography from completed answers, browse old volumes, and read one.

Open →
/book

Book of You · generate

Pick questions to include, watch the cost summary update, confirm.

AS IS ▲ Improved Cost / insufficient credits
Open →
/book/$bookId

Book reader

Read the generated narrative — title, chapters, prose. The AS IS today is plain — improved adds reading chrome.

AS IS ▲ Improved Sparse today
Open →
/book/my-books

My books

Past generations as a bookshelf. Cover, date, question count, "Read".

AS IS ▲ Improved

Settings 2 routes

Account info, identity, payment.

Open →
CJL-204
/profile

Profile

Match code + QR, account info, autosaved edit form, notification toggles.

AS IS ▲ Improved QR is fake-stylized today
Open →
Subscriber 24 CREDITS 12 KEYS
/billing

Billing

Subscription, credits + keys, redeem flow, transaction history.

AS IS ▲ Improved Credits / Keys cognitive load

Admin 6 routes — unified shell (skipped: survey-v2 builder per request)

All admin surfaces — dashboard, users, matches, chapters, questions — consolidated into a single tabbed shell with persistent sidebar. The AS IS preserves the react-admin look; Improved is a real product-grade admin.

Open →
12 CHAPTERS 186 QUESTIONS 9 TYPES
/admin · /admin/users · /admin/matches · /admin/chapters · /admin/questions

Admin shell (5 surfaces, tabbed)

AS IS: react-admin dashboard + 4 list pages, each on its own route. Improved: single shell with persistent sidebar, KPI dashboard with sparklines, in-context search, moderation queue, audit log, billing health. Click any sidebar item to switch surface. Survey-v2 builder is intentionally skipped.

Admin AS IS ▲ Improved Dashboard Users Matches Chapters Questions