A social circle graph app built with React, Vite, TypeScript, and Supabase.
Canonical docs: start at docs/AI_CONTEXT.md for an accurate,
AI-readable product summary.
- Hash routes: landing, board (
#board), developer docs, contact, privacy - Blank board: central
Youcircle only (no preset demo regions) - Nested circles and people with curved relationship links
- Pan/zoom; edit, select (marquee), and pan tool modes
- Create people/circles via context menu, double-tap, connector drag
- Inspector: name, notes, connections, circle styling, safe circle delete
- Settings: LinkedIn ZIP import, sign-in/out, Agent API keys, graph import/export/clear
- Search: local + signed-in smart search; paste LinkedIn profile URL to import
- Google and email/password auth; Supabase sync when signed in;
localStoragewhen anonymous
git pull --ff-only
npm ci
cp .env.example .env.local
npm run devOpen the local or network Vite URL. Supabase variables are required for auth, synced boards, and server-side LinkedIn profile enrichment. Without them, signed-out local editing still works.
Recommended local env:
VITE_SUPABASE_URL=https://lycfoukfoesobeuumuad.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=sb_publishable_l_x_y5rxdhL8Sd1ZE3QXag_lOCtr_M9
VITE_SUPABASE_ANON_KEY=npm run dev— development server (all network interfaces)npm run build— production buildnpm run preview— preview production buildnpm run lint— ESLintnpm run test:load— import load checks (seedocs/RUNBOOK.md)
- AI / onboarding:
docs/AI_CONTEXT.md - Agent rules:
AGENTS.md - Product direction:
docs/product-vision.md - Structure:
docs/project-structure.md - Features:
docs/features/README.md - Runbook:
docs/RUNBOOK.md
Relationship mapping on a clean visual board — not a generic whiteboard. See
docs/product-vision.md for principles and intentional limits.