Founder Leadership: Web Application Specification
Updated 2026-09-01
Version 1.0. Last updated 2026-09-01.
1. Purpose
Founder Leadership is the home of a six-book body of work and a mentorship practice for growth-stage founders. It is not a blog and not a generic coaching site. Every page exists to help a founder recognise the stage they are in and to start one free conversation.
- Establish authority for the body of work.
- Convert attention into a conversation.
- Capture leads through free tools: the Founder's Journal and the Founder's Map.
- Present the six books as a system rather than a shelf.
- Create relief, not familiarity.
2. Audience
The primary reader runs a company between roughly one and twenty million in annual revenue, typically in their thirties to early forties. Past the startup scramble, now dealing with the consequences of success: team growth, role redesign, AI disruption, and more weight than expected. Secondary audiences are executives, investors and operators who advise founders.
3. Stack
- TanStack Start v1 on React 19 and Vite 7, file-based routing under src/routes.
- Tailwind CSS v4 configured through src/styles.css with semantic design tokens.
- Lovable Cloud for auth, Postgres, storage and server functions.
- Speech to text through the Lovable AI gateway using gpt-4o-mini-transcribe.
- Server logic uses createServerFn. Public HTTP endpoints, if added, live under src/routes/api/public.
4. Routes
- / : Public. Dark cinematic home. Positioning, the six books, the mentorship invitation.
- /books : Public. Index of the six-book series.
- /books/$slug : Public. Individual book page with premise, reader and contents.
- /approach : Public. Split-screen page on terrain and mission.
- /the-trap : Public. The Founders Trap, drawn from the manuscript.
- /six-shifts : Public. The six shifts, in sequence.
- /map : Public. The Founder's Map product page. Assessment scoring not yet built.
- /journal : Public. The Founder's Journal product page and freemium offer.
- /about : Public. Brett Thomas and the origin of the work.
- /mentorship : Public. The practice, its rhythm, and the free first conversation.
- /contact : Public. Contact form writing to contact_submissions.
- /spec : Public. This specification, with a Markdown download.
- /auth : Public. Sign in and create account.
- /reset-password : Public. Password recovery.
- /app/journal : Signed in. Journal home, today's page, prompts, recent entries.
- /app/journal/entry/$id : Signed in. Record, transcribe, edit, autosave, finalize.
- /app/journal/archive : Signed in. Entries by month with quiet search.
- /admin : Admin role. Internal spec and copy documentation.
5. Design system
- Cinematic theme is the site default: ink navy #101a22, deep charcoal #1c1913, burnished gold #b58a47, warm white #f4f1eb.
- Cormorant Garamond for display typography, Inter for navigation and body copy.
- Split-screen is an approved alternate layout, used first at /approach, always in cinematic colours.
- The Founder's Journal is a deliberate exception: aged paper, ink #2a2016, sepia #5c4526, brass #8a6a2c, Caveat for handwriting, Special Elite for typewritten strips.
- All colour, gradient and shadow values are semantic tokens in src/styles.css. No hardcoded colour utilities in components.
- Mobile first. Safe-area padding, 16px inputs, thumb-reachable primary actions, portrait hero crops.
- prefers-reduced-motion is respected throughout.
6. Content and voice
- Mentor in the room. Plain, direct, unhurried.
- No em dashes, no hype, no superlatives, no exclamation marks.
- Short sentences, concrete nouns.
- Pull quotes come from the manuscript quote library in src/lib/quotes.ts.
- Canonical book data lives in src/lib/books.ts and is the single source of titles, slugs and ordering.
7. Features
7.1 The six books
An index and six detail pages generated from canonical data. Book I, Founder Leadership, carries real contents and excerpts. Each detail page ends in the same conversation invitation.
7.2 The Founder's Journal
Voice-first private journal, free tier behind registration, premium as a later bound edition.
- Explicit capture state machine: idle, requesting permission, listening, paused, uploading, transcribing, ready to edit, failed. Every state is described in words.
- MediaRecorder with pause and resume. Unsupported browsers fall through to the typed editor.
- Audio uploads to the private journal-audio bucket, then a server function transcribes through a provider adapter.
- A recording is never lost on failure: retry, keep the audio, or type instead.
- Debounced autosave with a quiet saved-at timestamp. Explicit save to finalize. Delete asks for confirmation.
- Optional prompts, never required and never scored.
7.3 The Founder's Map
Front end complete. A ten-question assessment places the founder at a stage and a position within it: entering, at peak, or exiting, in early, middle or late. Scoring engine and result storage are not yet built.
7.4 Lead capture
Contact and waitlist forms write to contact_submissions. The conversion event is always a free conversation.
7.5 Admin
Role-gated documentation surface at /admin covering purpose, app spec, journal spec and site copy.
8. Data model
- journal_entries: owner_id, title, body_text, status (draft, final, archived), prompt_key, timestamps, finalized_at, deleted_at.
- journal_recordings: entry_id, owner_id, storage_key, mime_type, duration_ms, byte_size, transcript_text, transcription_status.
- contact_submissions: name, email, message, source, created_at.
- user_roles: user_id and role (admin, moderator, user), read through the security definer has_role function.
- journal-audio is a private storage bucket reached only through short-lived signed URLs.
9. Security
- Row level security on every table, with explicit grants for each role.
- Journal rows are scoped to auth.uid() for read and write.
- Roles never live on a profile row. Admin checks always run through public.has_role.
- No journal text in logs or analytics. Audio is never public.
- Server functions that require a session use the auth middleware and are never called from public route loaders.
10. SEO and metadata
- Every content route defines its own title, description, og:title, og:description, og:type and twitter:card.
- Canonical links point at https://founderleadership.com.
- robots.txt and sitemap.xml are maintained in public/.
- One H1 per page, semantic headings, alt text on imagery.
11. Not yet built
- Founder's Map scoring engine and result storage.
- Premium journal tier, payments, sharing and AI reflection.
- Book commerce beyond the current listing and price points.
- Email automation for waitlist and contact follow-up.