01 — Product Overview
What is Concord?
Concord is an invite-only platform for builders — founders, creators, and anyone actively building something. It captures who they are through a guided onboarding flow, then delivers a personalized dashboard with actionable next steps, system-generated insights, and basic compatibility matching with other users.
The product uses birth data (date and optional time) combined with structured onboarding inputs to generate personalization. The underlying framework is never exposed to users — personalization should be felt, not explained.
V1 Summary
Concord V1 should:
- Onboard users through a clean, intentional flow
- Capture meaningful structured data (goals, strengths, weaknesses, working style, values)
- Generate a clear "current state" for each user
- Provide personalized, actionable next steps
- Introduce basic compatibility logic between users
- Create a foundation for future intelligence (AI layer, deeper personalization)
Target Users
Builders at three stages: those who are starting (not yet in motion), building (actively creating), and evolving (refining and growing). Access is invite-only via unique codes.
02 — Core Principles
Design & Product Philosophy
Principle
Intentional, Minimal, Precise
Every element earns its place. No decoration for decoration's sake. The experience should feel like it was designed by someone who respects the user's time and attention.
Principle
Understood, Not Analyzed
Users should feel the system knows them — but never feel studied, categorized, or reduced to a label. The output feels personal, not clinical.
Principle
Intelligent, Not Explained
The system should feel smart without showing its work. No "based on your Human Design profile" — just accurate, surprising insights delivered naturally.
Principle
Clear & Actionable Outputs
Every task, insight, and recommendation must be specific enough to act on immediately. "Build your network" is too vague. "Reach out to 3 potential collaborators in your industry this week" is Concord.
Principle
Invisible Personalization
Personalization is present everywhere but never announced. No toggles, no "personalization settings," no "based on your profile." It just works.
Principle
Award-Winning Design
Clean, minimal, artistic, elegant. Not corporate or cluttered. Slightly elevated but highly usable. Card-based layouts, strong spacing, subtle animations only. This app should win design awards.
03 — Onboarding Flow
Screen Specifications
The onboarding is 6 screens from invite code to dashboard. Each screen is detailed below with UI requirements, interactions, and acceptance criteria.
Screen 1 of 6
Entry Screen (Invite Code)
Layout: Full black screen, minimal UI. Single centered input field with placeholder "Enter your code".
Interaction: User enters an invite code. On valid entry, a small door appears and opens (subtle animation, ~0.6–1.2 seconds), then transitions into the next screen.
Visual: The door animation is the first moment of delight. It signals exclusivity without gatekeeping — you were invited, and now the door opens for you.
Acceptance Criteria
- Input field centered vertically and horizontally on a pure black (#0A0A0A) background
- Code validation happens on submit (Enter key or hidden submit button)
- Invalid codes show a subtle shake animation + brief error text, no modal
- Valid code triggers the door animation (0.6–1.2s) before route transition
- Each invite code is single-use and tied to a specific email or is open-use (configurable)
- No other navigation, branding, or UI elements visible on this screen
Screen 2 of 6
Concord Introduction (Manifesto)
Layout: 3–5 short lines explaining what Concord is. No long text or scrolling. Tone: clear, direct, intentional.
CTA: "Continue" button at bottom.
Legal: Below the CTA: "By continuing, you agree to our Terms and Privacy Policy" (both clickable links). No separate consent screen.
Acceptance Criteria
- Maximum 5 lines of text, each under 60 characters
- Text appears with staggered fade-in animation (150ms delay between lines)
- Terms and Privacy Policy open in new tabs, linking to real legal pages
- No scrolling required — all content visible above the fold
- "Continue" button uses the primary button style from the design system
Screen 3 of 6
Personal Information
Inputs: Name, Date of Birth, Time of Birth (optional, skippable).
Note for birth time: Include helper text: "Adding this later improves accuracy."
Time of birth has a soft pulsing nudge indicator on the dashboard if skipped.
Acceptance Criteria
- Name field: text input, required, minimum 2 characters
- Date of birth: date picker, required, must be in the past and user must be 13+
- Time of birth: time picker, optional — "Skip" affordance clearly visible
- If time is skipped, store null and flag for dashboard nudge
- All data persists to user profile on submit
- Clean, minimal form layout — no fieldsets, no heavy borders
Screen 4 of 6
Onboarding Questions (Structured Flow)
Layout: Broken into steps with a progress indicator. Each section appears one at a time.
Sections:
- Current state — Building or not building? (selection)
- What they are building / want to build — Short text input
- Their goal — Short text input
- Strengths — Selectable options (multi-select)
- Weaknesses — Selectable options (multi-select)
- Working style — Selectable options (single-select preferred)
- Core values — Selectable options (multi-select, pick top 3)
- Deal breakers — Non-negotiables in collaborators (multi-select or text)
- Ideal collaborator — Short text input
Feel: The experience should feel guided and clean — not like a survey. Ruth and Gabriela are refining the exact questions.
Acceptance Criteria
- Progress indicator shows current step out of total (e.g., "Step 3 of 9")
- One section visible at a time — transitions between steps use a subtle fade
- Back button available (not prominent) to revisit previous answers
- Selectable options use pill/chip UI, not checkboxes
- "Core values" enforces pick-3 limit with visual feedback
- All responses stored as structured data, not free text blobs
- Progress persists if user leaves and returns (session or account-level)
Screen 5 of 6
Commitment Screen
Prompt: "When will you earn your first dollar from this?"
Inputs: Date picker + optional short text: "What will make this real?"
CTA: "Commit" button (uses the deep blue commit button style).
This date is stored and used later for task guidance and timeline-based recommendations.
Acceptance Criteria
- Date picker allows future dates only
- Optional text field: max 200 characters
- "Commit" button is visually distinct from standard "Continue" — signals weight/importance
- Commitment date stored in user profile and surfaced on dashboard as "First Dollar Date"
- Date is used by the task engine to calibrate urgency and recommendations
Screen 6 of 6
Transition to Dashboard
Animation: Simple, smooth transition (fade or slight motion). No heavy animation.
After the commitment screen, the user enters the main product experience — the dashboard.
Acceptance Criteria
- Transition duration: 400–600ms
- No loading spinner — if data needs processing, animate content in progressively
- User lands on a fully populated dashboard (stage, first task, insight visible)
04 — Dashboard
Main Product Experience
The dashboard should be minimal and structured. It answers three questions: Where am I? What should I do next? What matters right now?
1. Header
Displays: User name and Builder Type (a simple, system-generated label). The builder type is derived from onboarding inputs, never referencing underlying systems.
2. Current State (Anchor Section)
The anchor section gives the user a snapshot of where they are right now.
- What they are building — From onboarding input
- Stage — Starting / Building / Evolving (auto-assigned)
- Goal — From onboarding input
- First Dollar Date — From commitment screen
3. Next Moves (Action Engine)
3–5 clear, actionable tasks. Generated based on the user's stage, stated goals, strengths/weaknesses, and working style.
Tasks must be:
- Specific — Not "build your network" but "identify 3 potential collaborators in your space"
- Executable — The user can start immediately, no prerequisites
- Tailored — Reflect the user's actual situation, not generic advice
Must Have Tasks are displayed as interactive cards. Users can mark tasks complete. Completing a task generates the next one.
4. Alignment (People)
Show potential aligned users (if available). Include simple compatibility labels: Strong, Moderate, Potential Conflict.
Can be minimal or hidden if the user base is small. This section becomes more valuable as the platform grows.
5. Profile Refinement
A "Refine Your Profile" or "Profile Precision" section. If birth time is missing, show "Birth Time — Incomplete" with a soft pulsing/glow indicator and a CTA to add it. Indicator disappears once completed.
6. Insight (Bottom of Page)
Short, system-generated observations written in natural language. Example: "You move quickly in vision but benefit from structured execution."
Personalized using two layers: base pattern from birth data (date + time if available), then refinement from onboarding inputs (working style, strengths, weaknesses).
V1 approach: Rule-based logic. If no AI or advanced calculations are available yet, use onboarding inputs only. Birth data is stored for future intelligence layers.
Critical rules for insights:
- Never reference specific systems (e.g., Human Design, astrology, MBTI)
- Written in natural, clear language — no labels, no types, no jargon
- The goal is for insights to feel accurate and personal without explanation
05 — Personalization & Stage System
How Concord Knows You
Stage System
Users are categorized into three stages that determine task recommendations:
| Stage | Definition | Task Focus |
| Starting | Not yet in motion — has an idea but hasn't begun building | Clarity, first steps, commitment, validation |
| Building | Actively creating — has started but isn't generating revenue | Execution, iteration, reaching first customers |
| Evolving | Refining and growing — has traction, looking to optimize | Scaling, systems, delegation, growth strategy |
Personalization Inputs
Tasks and insights are personalized based on:
- Stage — Primary driver for task selection
- Goals — Shapes task framing and urgency
- Strengths & Weaknesses — Tasks lean into strengths, address blind spots
- Working Style — Determines pacing and type of recommendations
- Values — Filters recommendations for alignment
- Birth data — Stored for future personalization layers. Date is used in V1 for basic patterns; time unlocks deeper personalization later.
Personalization Rules
- Do NOT reference any specific systems in the UI
- Personalization should be felt, not explained
- The goal is for outputs to feel accurate and specific to the user
- If birth time is not provided, fall back to onboarding inputs only
06 — V1 Scope & Boundaries
What We Are (and Aren't) Building
V1 Technical Goals
- Fully functional system with real users and real data
- Database-backed (not mocked or static)
- Structured for a future intelligence/AI layer
- Easy to iterate and expand
Not Building in V1
- Advanced AI or machine learning
- Messaging system between users
- Social feed or activity stream
- Complex analytics or data visualizations
- Payment processing or monetization features
- Mobile native app (web-first, responsive)
07 — Data Models & Architecture
Technical Specification
Everything below this line is for engineering. The recommended stack is Next.js 14+ with Supabase (Postgres + Auth + Edge Functions).
Recommended Stack
| Layer | Technology | Rationale |
| Frontend | Next.js 14+ (App Router) | Server components, file-based routing, Vercel deployment |
| Styling | Tailwind CSS + custom design tokens | Matches style guide system, utility-first for rapid iteration |
| Database | Supabase (Postgres) | Real-time subscriptions, Row Level Security, auth built-in |
| Auth | Supabase Auth | Email/magic link, integrates with invite code system |
| Hosting | Vercel | Git-push deploys, edge functions, preview deployments |
| Animations | Framer Motion | Declarative, performant, matches "subtle animation" requirement |
Database Schema
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email TEXT UNIQUE NOT NULL,
name TEXT NOT NULL,
birth_date DATE NOT NULL,
birth_time TIME,
invite_code TEXT REFERENCES invite_codes(code),
stage TEXT CHECK (stage IN ('starting', 'building', 'evolving')),
builder_type TEXT,
created_at TIMESTAMPTZ DEFAULT now(),
updated_at TIMESTAMPTZ DEFAULT now()
);
CREATE TABLE onboarding_profiles (
user_id UUID PRIMARY KEY REFERENCES users(id),
current_state TEXT,
building_what TEXT,
goal TEXT,
strengths TEXT[],
weaknesses TEXT[],
working_style TEXT,
core_values TEXT[],
deal_breakers TEXT[],
ideal_collaborator TEXT,
first_dollar_date DATE,
first_dollar_what TEXT,
completed_at TIMESTAMPTZ
);
CREATE TABLE invite_codes (
code TEXT PRIMARY KEY,
created_by UUID REFERENCES users(id),
used_by UUID REFERENCES users(id),
is_active BOOLEAN DEFAULT true,
max_uses INTEGER DEFAULT 1,
use_count INTEGER DEFAULT 0,
created_at TIMESTAMPTZ DEFAULT now()
);
CREATE TABLE tasks (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES users(id),
title TEXT NOT NULL,
description TEXT,
stage TEXT,
is_complete BOOLEAN DEFAULT false,
sort_order INTEGER,
created_at TIMESTAMPTZ DEFAULT now(),
completed_at TIMESTAMPTZ
);
CREATE TABLE insights (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES users(id),
content TEXT NOT NULL,
source TEXT,
is_active BOOLEAN DEFAULT true,
created_at TIMESTAMPTZ DEFAULT now()
);
CREATE TABLE compatibility (
user_a UUID REFERENCES users(id),
user_b UUID REFERENCES users(id),
score TEXT CHECK (score IN ('strong', 'moderate', 'potential_conflict')),
reasons TEXT[],
computed_at TIMESTAMPTZ DEFAULT now(),
PRIMARY KEY (user_a, user_b)
);
Row Level Security (RLS)
All tables must have RLS enabled. Users can only read/write their own data. Compatibility table allows read access for both user_a and user_b. Invite codes are publicly readable (for validation) but only writable by admins.
08 — API Contracts
Endpoint Specification
| Method | Endpoint | Description | Auth |
| POST | /api/validate-code | Validate invite code, return status | Public |
| POST | /api/auth/signup | Create account after code validation | Public |
| POST | /api/onboarding/personal | Save name, DOB, birth time | User |
| POST | /api/onboarding/questions | Save structured onboarding responses | User |
| POST | /api/onboarding/commit | Save first dollar date + commitment text | User |
| GET | /api/dashboard | Return full dashboard state (profile, tasks, insight, alignment) | User |
| PATCH | /api/tasks/:id | Mark task complete, trigger next task generation | User |
| PATCH | /api/profile | Update profile (e.g., add birth time) | User |
| GET | /api/alignment | Get compatible users list | User |
Validate Code Response
{ "code": "CONCORD-RUTH-001" }
{ "valid": true, "remaining_uses": 1 }
{ "valid": false, "reason": "expired" }
Dashboard Response
{
"user": {
"name": "Alex",
"builder_type": "Visionary Builder",
"stage": "building",
"birth_time_complete": false
},
"current_state": {
"building_what": "A coaching platform for creative founders",
"goal": "Launch beta and get 10 paying users",
"first_dollar_date": "2026-06-15"
},
"tasks": [
{
"id": "uuid",
"title": "Define your first product offer",
"description": "Based on your goal, start with a simple offer...",
"is_complete": false
}
],
"insight": {
"content": "You move quickly in vision but benefit from...",
"source": "combined"
},
"alignment": [
{
"user": { "name": "Jordan", "builder_type": "Methodical Creator" },
"score": "strong"
}
]
}
09 — Implementation Milestones
Build Phases
Suggested phasing for implementation. Each phase is independently deployable and testable.
Phase 1 — Foundation
Project Setup + Auth + Invite Codes
Next.js project scaffold, Supabase setup, database schema, invite code validation, entry screen with door animation, Supabase Auth integration.
Must Have
Phase 2 — Onboarding
Full Onboarding Flow (Screens 2–6)
Manifesto screen, personal info collection, structured question flow with progress indicator, commitment screen, transition animation. All data persisted to Supabase.
Must Have
Phase 3 — Dashboard Core
Dashboard Layout + Current State + Tasks
Dashboard page with header, current state anchor section, task cards (action engine), task completion flow. Rule-based task generation from onboarding data.
Must Have
Phase 4 — Intelligence
Insights + Profile Refinement + Nudges
System-generated insights (rule-based V1), profile refinement section, birth time nudge with pulsing indicator, builder type generation.
Must Have
Phase 5 — Social
Alignment / Compatibility
Compatibility scoring between users (value alignment, working style match), aligned users display on dashboard with Strong/Moderate/Conflict labels.
Should Have
Phase 6 — Polish
Animation, Responsiveness, Edge Cases
Animation refinement (all transitions matching style guide specs), responsive design verification, empty states, error states, loading states, accessibility pass.
Must Have