diff --git a/frontend/src/pages/how-it-works.tsx b/frontend/src/pages/how-it-works.tsx new file mode 100644 index 0000000..5ea70e0 --- /dev/null +++ b/frontend/src/pages/how-it-works.tsx @@ -0,0 +1,693 @@ +import React from 'react'; +import type { ReactElement } from 'react'; +import Head from 'next/head'; +import Link from 'next/link'; +import LayoutGuest from '../layouts/Guest'; +import { getPageTitle } from '../config'; + +const ui = { + page: 'bg-[#fffdf9] text-[#19192d]', + banner: + 'bg-gradient-to-r from-[#35b7a5] via-[#95b76e] to-[#c38a25] text-white', + navShell: + 'rounded-full bg-white shadow-[0_18px_60px_rgba(31,31,50,0.08)] ring-1 ring-[#19192d]/5', + ink: 'text-[#19192d]', + muted: 'text-[#72798a]', + accent: 'text-[#35b7a5]', + gold: 'text-[#b17a1e]', + border: 'border-[#19192d]/10', + surface: 'bg-white', + softSurface: 'bg-[#fbf8f1]', + darkPanel: 'bg-[#19192d] text-white', + darkMuted: 'text-white/70', + button: + 'bg-gradient-to-r from-[#36b39f] to-[#b98624] text-white shadow-[0_18px_45px_rgba(54,179,159,0.24)] transition hover:brightness-105', + section: 'mx-auto max-w-7xl px-5 py-20 lg:px-8', + card: 'rounded-[1.75rem] border border-[#19192d]/10 bg-white shadow-[0_18px_50px_rgba(31,31,50,0.05)]', + softCard: 'rounded-[1.75rem] border border-[#19192d]/10 bg-[#fbf8f1]', + overline: 'text-sm font-bold uppercase tracking-[0.28em] text-[#b17a1e]', + heading: 'font-serif font-semibold tracking-tight text-[#19192d]', +}; + +const weekSteps = [ + { + eyebrow: 'Session day', + title: 'You coach. The workspace captures.', + copy: 'Run the session the way you already do. Drop in raw notes, transcript snippets, or a quick debrief, then let the workspace organize themes, commitments, breakthroughs, and follow-up opportunities.', + proof: 'Zero extra admin after the session you already ran.', + mockup: 'capture', + }, + { + eyebrow: 'After', + title: 'Review the notes before anything is shared.', + copy: 'Session memory turns rough material into coach-readable notes: summary, patterns, commitments, homework, and follow-up copy. You edit what needs your voice and approve only what is ready.', + proof: 'Nothing reaches the client without your explicit action.', + mockup: 'review', + }, + { + eyebrow: 'Between', + title: 'Your client stays connected to the work.', + copy: 'Clients keep seeing approved prompts, resources, and action items that reference the real language of their sessions. The support feels like it comes from the coach, not a generic chatbot.', + proof: 'You stay present without manually texting every follow-up.', + mockup: 'between', + }, + { + eyebrow: 'Before next', + title: 'Walk in with the thread already visible.', + copy: 'Before the next session, prep briefs surface what happened last time, what changed since, what is still open, and where the next conversation could start.', + proof: 'No more spending the first 15 minutes reconnecting.', + mockup: 'prep', + }, + { + eyebrow: 'Ongoing', + title: 'Your method becomes a reusable client space.', + copy: 'When the engagement ends, the same client portal can keep approved notes, resources, commitments, and coaching context in one place.', + proof: 'A cleaner client experience and a stronger coaching signature.', + mockup: 'space', + }, +]; + +const deeperItems = [ + [ + 'Session Notes & Coaching Insights', + 'What the AI extracts from raw notes and how the coach reviews it.', + ], + [ + 'Between-Session Support', + 'How approved reflection prompts and commitments keep clients moving.', + ], + [ + 'Session Preparation', + 'How briefs bring back context before the next call.', + ], + [ + 'Client Portal', + 'What your clients see after you share approved notes and resources.', + ], +]; + +const clientExperience = [ + [ + 'Your name, your voice', + 'Clients see coaching support from you, reviewed and approved by you.', + ], + [ + 'Connected to real sessions', + 'Prompts reference actual goals, commitments, and language.', + ], + [ + 'Private by default', + 'Client records are organized around confidentiality and role-based access.', + ], + [ + 'Easy to introduce', + 'Use the portal as a clean home for notes, resources, and next actions.', + ], +]; + +const faq = [ + [ + 'How fast do I get the first session memory?', + 'Paste notes or a transcript after a session and generate structured memory immediately.', + ], + [ + 'Do coaches need to change their workflow?', + 'No. The template supports raw notes, transcripts, resources, prep briefs, and client follow-up around the coaching workflow you already use.', + ], + [ + 'Can the coach edit AI output?', + 'Yes. Every generated insight, prompt, and shared note is meant to be reviewed before the client sees it.', + ], + [ + 'Can I start with one client?', + 'Yes. The workspace is built so a coach can test the full loop with a single client first.', + ], +]; + +function Nav() { + return ( +
+
+ + + C + + Coaching SaaS Workspace + + + + Join waitlist + +
+
+ ); +} + +function WaveDivider({ + from = '#fffdf9', + to = '#19192d', + flip = false, +}: { + from?: string; + to?: string; + flip?: boolean; +}) { + return ( +
+ +
+ ); +} + +function Mockup({ type }: { type: string }) { + if (type === 'capture') { + return ( +
+
+

Recording

+ + Zoom connected + +
+
+

38:12

+

+ Session 4 · Leadership transition +

+
+
+ {[ + 'Key themes & patterns', + 'Client commitments', + 'Breakthrough moments', + 'Reflection opportunities', + ].map((item) => ( +
+ + ✓ + + {item} +
+ ))} +
+
+ ); + } + + if (type === 'review') { + return ( +
+

Session notes

+

+ Sarah Mitchell · Session 4 +

+
+

Summary

+

+ Explored over-preparing for presentations and the shift from proving + competence to trusting it. +

+
+
+ {['Confidence', 'Delegation', 'Breakthrough'].map((item) => ( + + {item} + + ))} +
+
+ + +
+
+ ); + } + + if (type === 'between') { + return ( +
+
+

Between sessions

+ Day 3 +
+
+
+

You sent

+

+ Last session you mentioned confidence feels different in small + groups vs large meetings. What did you notice this week? +

+
+
+

Sarah Mitchell

+

+ I led the Monday standup and it felt easier. I think naming it + helped. +

+
+
+

+ Coach-approved suggestion +

+

+ That is a real shift. What made it feel easier? +

+
+
+
+ ); + } + + if (type === 'prep') { + return ( +
+

Prep brief

+

Session 5

+
+
+

Last session themes

+

+ Confidence · Delegation · Board presence +

+
+
+

Open commitments

+

+ Lead Monday standup without notes. Delegate Q2 report. +

+
+
+

+ Suggested opening +

+

+ How did the standup go? You sounded energized about it on Day 3. +

+
+
+
+ ); + } + + return ( +
+
+

+ Your coaching space +

+

Sarah's Coaching

+

Private · coach-approved

+
+
+ {['Messages', 'Notes', 'Commitments', 'Resources'].map((item) => ( +
+ {item} + +
+ ))} +
+
+ ); +} + +function StepSection({ + step, + index, +}: { + step: (typeof weekSteps)[number]; + index: number; +}) { + const text = ( +
+

{step.eyebrow}

+

+ {index + 1} +

+

+ {step.title} +

+

{step.copy}

+

+ {step.proof} +

+
+ ); + + const visual = ; + + return ( +
+
+ {index % 2 === 0 ? ( + <> + {text} + {visual} + + ) : ( + <> +
{text}
+
{visual}
+ + )} +
+
+ ); +} + +export default function HowItWorks() { + return ( + <> + + {getPageTitle('How It Works')} + + +
+
+

+ Still human +

+

+ AI is not a coach. Keep the real relationship at the center. +

+

+ Launch a modern coaching workspace. + + Open workspace + +

+
+ +
+ + ); +} + +HowItWorks.getLayout = function getLayout(page: ReactElement) { + return {page}; +}; diff --git a/frontend/src/pages/index.tsx b/frontend/src/pages/index.tsx index 0b3e4a5..c462510 100644 --- a/frontend/src/pages/index.tsx +++ b/frontend/src/pages/index.tsx @@ -7,8 +7,10 @@ import { getPageTitle } from '../config'; const ui = { page: 'bg-[#fffdf9] text-[#19192d]', - banner: 'bg-gradient-to-r from-[#35b7a5] via-[#95b76e] to-[#c38a25] text-white', - navShell: 'rounded-full bg-white shadow-[0_18px_60px_rgba(31,31,50,0.08)] ring-1 ring-[#19192d]/5', + banner: + 'bg-gradient-to-r from-[#35b7a5] via-[#95b76e] to-[#c38a25] text-white', + navShell: + 'rounded-full bg-white shadow-[0_18px_60px_rgba(31,31,50,0.08)] ring-1 ring-[#19192d]/5', ink: 'text-[#19192d]', muted: 'text-[#72798a]', accent: 'text-[#35b7a5]', @@ -18,7 +20,8 @@ const ui = { softSurface: 'bg-[#fbf8f1]', darkPanel: 'bg-[#19192d] text-white', darkMuted: 'text-white/70', - button: 'bg-gradient-to-r from-[#36b39f] to-[#b98624] text-white shadow-[0_18px_45px_rgba(54,179,159,0.24)] transition hover:brightness-105', + button: + 'bg-gradient-to-r from-[#36b39f] to-[#b98624] text-white shadow-[0_18px_45px_rgba(54,179,159,0.24)] transition hover:brightness-105', section: 'mx-auto max-w-7xl px-5 py-20 lg:px-8', card: 'rounded-[1.75rem] border border-[#19192d]/10 bg-white shadow-[0_18px_50px_rgba(31,31,50,0.05)]', softCard: 'rounded-[1.75rem] border border-[#19192d]/10 bg-[#fbf8f1]', @@ -26,25 +29,56 @@ const ui = { heading: 'font-serif font-semibold tracking-tight text-[#19192d]', }; -const trustItems = ['Coach-reviewed AI', 'Private client records', 'Built for coaching']; +const trustItems = [ + 'Coach-reviewed AI', + 'Private client records', + 'Built for coaching', +]; const stats = [ - ['30 min', 'saved after every session with structured notes and follow-up drafts'], + [ + '30 min', + 'saved after every session with structured notes and follow-up drafts', + ], ['23 days', 'between sessions where client momentum needs support'], - ['6 outputs', 'summary, commitments, blockers, homework, prep, and client notes'], + [ + '6 outputs', + 'summary, commitments, blockers, homework, prep, and client notes', + ], ]; const workflow = [ - ['After every session', 'Capture themes, commitments, patterns, and follow-up copy while the coach stays present.'], - ['Between sessions', 'Keep clients connected to approved notes, resources, and action items inside their portal.'], - ['Before the next session', 'Surface open commitments, recent patterns, and a focused opening question.'], + [ + 'After every session', + 'Capture themes, commitments, patterns, and follow-up copy while the coach stays present.', + ], + [ + 'Between sessions', + 'Keep clients connected to approved notes, resources, and action items inside their portal.', + ], + [ + 'Before the next session', + 'Surface open commitments, recent patterns, and a focused opening question.', + ], ]; const trustCards = [ - ['Your method', 'Capture language, frameworks, and recurring patterns from real sessions.'], - ['Your approval', 'Review notes, prompts, resources, and messages before they reach the client.'], - ['Your data', 'Keep client records structured around confidentiality and role-based access.'], - ['Your client portal', 'Share only the commitments, resources, and reflections that move the work forward.'], + [ + 'Your method', + 'Capture language, frameworks, and recurring patterns from real sessions.', + ], + [ + 'Your approval', + 'Review notes, prompts, resources, and messages before they reach the client.', + ], + [ + 'Your data', + 'Keep client records structured around confidentiality and role-based access.', + ], + [ + 'Your client portal', + 'Share only the commitments, resources, and reflections that move the work forward.', + ], ]; const testimonials = [ @@ -75,16 +109,19 @@ function WaveDivider({ flip?: boolean; }) { return ( -
+
@@ -100,59 +137,90 @@ export default function Starter() {
-

Still human

-

AI is not a coach. Keep the real relationship at the center.

-

+

+ Still human +

+

+ AI is not a coach. Keep the real relationship at the center. +

+

Launch a modern coaching workspace. - + Open workspace

-
-
- - +
+
+ + C - Coaching SaaS Workspace + Coaching SaaS Workspace -
-
-
-

For leadership and executive coaches

-

+
+
+

+ For leadership and executive coaches +

+

What happens when your best coaching{' '} keeps going.

-

- Show up fully present. No note-taking. No admin. Your workspace captures what makes - your coaching yours, so clients stay connected to the work between sessions. +

+ Show up fully present. No note-taking. No admin. Your workspace + captures what makes your coaching yours, so clients stay connected + to the work between sessions.

-
- +
+ Join waitlist
-

$14/client/month. Everything included.

-
+

+ $14/client/month. Everything included. +

+
{trustItems.map((item) => ( - + {item} @@ -160,68 +228,103 @@ export default function Starter() {
-
-
-
+
+
+
-
+
-

Session insights

-

Maya Chen · Session 4

+

+ Session insights +

+

+ Maya Chen · Session 4 +

- + Review
-
- {['Delegation trust', 'Decision rights', 'Founder visibility'].map((topic) => ( -
-

{topic}

+
+ {[ + 'Delegation trust', + 'Decision rights', + 'Founder visibility', + ].map((topic) => ( +
+

{topic}

))}
-
-

Commitments

-
    +
    +

    + Commitments +

    +
    • Draft a decision-rights matrix before Friday.
    • -
    • Choose three decisions the team can own without founder approval.
    • +
    • + Choose three decisions the team can own without founder + approval. +
    • Review customer escalation rules with the COO.
    -
    -
    -

    Pattern

    +
    +
    +

    + Pattern +

    - Maya is moving from control as quality assurance toward explicit decision boundaries. + Maya is moving from control as quality assurance toward + explicit decision boundaries.

    -
    -

    Follow-up draft

    +
    +

    + Follow-up draft +

    - This week is about making delegation visible enough that trust can become operational. + This week is about making delegation visible enough that + trust can become operational.

    -
-
-
+
+
{stats.map(([value, label]) => (

{value}

@@ -231,22 +334,27 @@ export default function Starter() {
-
-
+
+

The new practice rhythm

-

+

Before, between, and after every session.

-
+
{workflow.map(([title, copy], index) => ( -
-
+
+
{index + 1}
-

{title}

+

{title}

{copy}

@@ -255,88 +363,129 @@ export default function Starter() {
- + -
-
-
-

Session memory

-

+
+
+
+

+ Session memory +

+

Stop opening old notes before every call.

- The workspace pulls together open commitments, themes across sessions, client messages, - and a suggested opening question. You review everything first. + The workspace pulls together open commitments, themes across + sessions, client messages, and a suggested opening question. You + review everything first.

-
- {['Open commitments', 'Client patterns', 'Shared notes', 'Prep questions'].map((item) => ( -
-

{item}

+
+ {[ + 'Open commitments', + 'Client patterns', + 'Shared notes', + 'Prep questions', + ].map((item) => ( +
+

{item}

))}
-
-
+
+
-

Session prep

-

Maya Chen · Session 5

+

+ Session prep +

+

+ Maya Chen · Session 5 +

- + Ready when you are
-
+
{[ ['4', 'messages'], ['2', 'open commitments'], ['3', 'goals in focus'], ].map(([value, label]) => ( -
-

{value}

+
+

{value}

{label}

))}
-

Top thread

-

Decision rights are clear on paper, but still feel risky in practice.

+

+ Top thread +

+

+ Decision rights are clear on paper, but still feel risky in + practice. +

- The last two sessions both returned to trust, escalation rules, and what Maya needs to see before stepping back. + The last two sessions both returned to trust, escalation + rules, and what Maya needs to see before stepping back.

-

Suggested opening

-

- “Where did delegation feel cleaner this week, and where did your body still want to take the wheel?” +

+ Suggested opening +

+

+ “Where did delegation feel cleaner this week, and where did + your body still want to take the wheel?”

- + -
-
+
+

Coach supervised

-

+

The AI proposes. The coach decides.

- Private notes stay private. Shared notes are approved. Client-facing content carries the coach's voice, - not a generic chatbot voice. + Private notes stay private. Shared notes are approved. + Client-facing content carries the coach's voice, not a generic + chatbot voice.

-
+
{trustCards.map(([title, copy]) => (
-

{title}

+

{title}

{copy}

))} @@ -344,23 +493,30 @@ export default function Starter() {
-
-
-
+
+
+

Built with coaches

-

Designed for real client work.

+

+ Designed for real client work. +

- + Start your workspace
-
+
{testimonials.map(([quote, name, role]) => (
-
“{quote}”
-
-

{name}

+
+ “{quote}” +
+
+

{name}

{role}

@@ -369,27 +525,43 @@ export default function Starter() {
-
-
-
-

Template package

-

+
+
+
+

+ Template package +

+

Launch a coaching practice with the workspace already inside.

-

Executive Momentum

+

Executive Momentum

- A ready-made package page, client records, session memory, prep briefs, resources, and portal flow. + A ready-made package page, client records, session memory, prep + briefs, resources, and portal flow.

-
- {['6 coaching sessions', 'AI-assisted session notes', 'Shared resources', 'Client portal access'].map((item) => ( -
+
+ {[ + '6 coaching sessions', + 'AI-assisted session notes', + 'Shared resources', + 'Client portal access', + ].map((item) => ( +
{item}
))}
- + Create workspace
@@ -397,12 +569,14 @@ export default function Starter() {