Inspiration

Big life decisions rarely fail because people lack a list of pros and cons. They fail because the tradeoffs are fuzzy, the options are half-formed, and it is hard to imagine what each path would actually feel like over time.

Forked Futures was inspired by that exact feeling: being stuck at a fork where a confident chatbot answer would be too shallow, but doing nothing leaves the decision vague and stressful. We wanted to build an AI system that helps users rehearse possible futures without pretending to predict them.

What it does

Forked Futures is an AI-guided decision adventure for real-life choices.

A user starts with only a messy situation. The app then asks one focused question at a time. Each next question depends on the user’s previous answer, so the journey gradually uncovers values, fears, constraints, and hidden uncertainties.

After several question nodes, Forked Futures reveals three editable possible paths. The user can open a route map, enter one path, and still see the other paths as unlived futures that remain explorable. The final brief compares the chosen path with the unchosen paths and ends with one low-cost 7-day test.

The goal is not to tell the user what to do. The goal is to turn vague anxiety into named options, visible tradeoffs, and a concrete next experiment.

How we built it

We built Forked Futures as a Next.js, React, TypeScript, Tailwind, Zustand, and Zod web app deployed on Vercel.

The core pipeline is:

User enters a messy situation. The journey API generates the next question based on the situation and previous answers. A structured journey state tracks values, constraints, fears, identity signals, uncertainty tags, and route hints. The reveal API turns that journey into three editable possible paths. A deterministic adapter converts those paths into the existing route-map simulation structure. The user enters one route while the other routes remain visible as unlived futures. The brief shows the chosen path, opportunity costs, evidence labels, and a 7-day test.

The app is mock-first in production so judges can run the full workflow without API keys or external failures. A live LLM path is implemented with schema validation and mock fallback, but the submitted production demo intentionally runs reliably in mock mode.

Challenges we faced

The biggest challenge was product shape. Our early version asked users to manually define the decision and options first. That made the tool feel like a form, not an AI agent.

We rewrote the core journey so the user starts from uncertainty, and the AI helps discover the fork through adaptive questions. Another challenge was connecting AI-generated paths back into a stable map, branch, and brief system without breaking the existing demo flow. We solved that with a schema-validated adapter that converts revealed paths into canonical route objects.

We also had to be careful with responsible AI language. The app cannot claim to predict a user’s future, so every output is framed as a possible future script, not a fact or recommendation.

What we learned

We learned that the most important part of decision-support AI is not generating a confident answer. It is structuring ambiguity while preserving human agency.

The strongest product moment is when the second question changes because of the user’s first answer. That proves the AI is not just filling a static template — it is guiding a decision journey.

What’s next

Next, we would build stronger live model benchmarking, richer curated source packs, optional real-time research providers, and a mentor or counselor review mode. We would also add a longer-term decision journal so users can compare what they expected with what actually happened after running their 7-day tests.

Built With

  • anthropic-sdk
  • claude
  • curated
  • deepseekapi
  • mock-first-ai-pipeline
  • next.js
  • react
  • reference
  • schema-validation
  • tailwind-css
  • typescript
  • vercel
  • zod
  • zustand
Share this project:

Updates