PathPilot is an AI decision simulator that combines personal context, retrieval, live web research, and interactive reasoning to help people explore possible futures before making important life decisions.
Most AI tools give you an answer. PathPilot gives you a map.
Live app: https://pathpilot-live.vercel.app/
Life decisions aren't solved by a single AI answer.
Choosing a career, pursuing a master's, starting a company, or relocating all involve uncertainty, tradeoffs, and incomplete information. PathPilot helps you explore plausible futures instead of receiving one recommendation, so you can make more informed decisions with more confidence.
Unlike traditional AI assistants that generate a single recommendation, PathPilot visualizes multiple plausible futures, highlights tradeoffs, and helps you understand the consequences of each path before taking action.
Uploaded documents are processed only to personalize decision analysis and are stored in your own account.
- Personalized retrieval using your resume, LinkedIn, GitHub, and uploaded notes
- Live web research before every analysis
- Interactive future map with branching paths
- Expandable nodes with evidence, assumptions, and unknowns
- Compare two paths side by side
- Personalized execution plans
- Timeline view with milestones
- Exportable Markdown reports
- Build your profile by uploading a resume, pasting LinkedIn text, or adding GitHub and personal notes
- Ask a decision question in plain language
- PathPilot retrieves relevant memories from your documents (RAG), runs web research, and builds a structured analysis
- The result is an interactive tree you can explore, expand, compare, and export as a Markdown report
Resume / LinkedIn / GitHub / Notes
│
▼
RAG Retrieval
│
▼
Live Web Research
│
▼
GPT-5.6 Analysis
│
▼
Future Map
│
┌─────┼─────┐
▼ ▼ ▼
Compare Time- Execution
Paths line Plan
Decision analysis and web research both run on GPT-5.6 via the Responses API. The model generates a strict JSON schema with 13 nodes across a branching future map, each with confidence levels, evidence, assumptions, and unknowns. GPT-5.6 was responsible for generating structured decision trees, integrating live web research through the built-in web_search tool, producing evidence-backed reasoning, and creating personalized execution plans.
The Gemini path (with Google Search grounding) is available as a fallback if you only have a Gemini key.
Code: src/app/api/decisions/analyze/route.ts, src/lib/research/web.ts
Codex was used throughout development, not just at the start. It helped build the RAG pipeline, implement the decision engine and JSON schema enforcement, design the React Flow tree visualization with Dagre layout, generate and refine API routes, and debug integration issues across the stack. The majority of the core functionality was implemented collaboratively with Codex.
| Layer | What's being used |
|---|---|
| Framework | Next.js 15 (App Router) |
| AI (primary) | OpenAI GPT-5.6 via Responses API |
| AI (fallback) | Google Gemini 2.5 Flash |
| Tree visualization | React Flow + Dagre |
| Database | Supabase (Postgres + pgvector) |
| Auth | Supabase Auth (email + Google OAuth) |
| RAG | OpenAI text-embedding-3-small + pgvector |
| Animations | Framer Motion |
Requires Node.js 20.9+, a Supabase project, and at least one of OPENAI_API_KEY or GEMINI_API_KEY.
git clone https://github.com/your-username/PathPilot
cd PathPilot
npm install
cp .env.example .env.local
# fill in your keys
npm run devRun these migrations in the Supabase SQL Editor in order:
supabase/migrations/0001_phase2_profiles.sql
supabase/migrations/0002_rag.sql
supabase/migrations/0003_decision_history.sql
Create a private Storage bucket named user-documents. Enable Email and Google providers in Supabase Auth.
If both provider keys are present, set LLM_PROVIDER=openai or LLM_PROVIDER=gemini. RAG embeddings always use OpenAI regardless of which model handles analysis.
- Import the repo, build command
npm run build, Node.js 20.9+ - Add all variables from
.env.examplein Project Settings - Add your production and preview callback URLs in Supabase Auth
- Confirm migrations and the
user-documentsbucket exist in the same project
- RAG only works if
OPENAI_API_KEYis set (embeddings use OpenAI regardless of provider) - OpenAI web search does not always return structured citations; Gemini's Google Search grounding does
- PDF extraction is best-effort on complex layouts
Think clearly. Choose intentionally.



