Skip to content

AIFrontiersLab/future-simulator

Repository files navigation

Future Self Simulator

Answer three questions. See three futures. Decide who you become.

A guided self-reflection app that turns your honest answers about your present, goals, and fears into three distinct future scenarios—so you can reflect, compare, and choose the path that fits you.

Quick start · Features · Tech stack


Table of contents


See it in action

1. Answer three questions

The app opens on a clean, dark-themed screen. You’re guided through three prompts: Current situation, Goals & ambitions, and Fears & doubts. Each field has a short hint to keep your answers honest and specific. A single Simulate My Future button runs the simulation. Everything stays local—your reflections are never sent to a server.

Future Self Simulator input screen with three question fields and Simulate My Future button

Input screen: three question blocks and the main call-to-action. Theme toggle and branding live in the header; a short privacy line sits at the bottom.


2. Explore your three futures

After a short loading state, you see Your Three Futures: the same inputs summarized at the top, then three path cards—Safe, Bold, and Compounded. Each card has a narrative written in second person (“I kept going…”, “I chose…”). You can expand a strategic breakdown (habits, sacrifices, outcomes), export the whole result as a PDF, or Edit inputs and Re-simulate. A streak counter encourages coming back day after day.

Future Self Simulator results view showing The Safe Path narrative and context

Results view: context (Situation, Goals, Fears), one future path card with narrative and “View strategic breakdown,” plus actions for PDF export and re-running.


What it does

1. You answer three questions

Question What it’s about
Current situation Where you are now: work, life, what’s working and what isn’t.
Goals & ambitions What you want to build, become, or achieve in the next 1–3 years.
Fears & doubts What you’re most afraid of and what holds you back.

2. You get three futures

  • Safe path — A steady, low-risk trajectory based on your situation.
  • Bold path — A more ambitious path aligned with your goals.
  • Compounded path — A path that builds on habits and tradeoffs over time.

3. You decide

  • Read narrative summaries and strategic breakdowns (habits, sacrifices, results).
  • Export your result as a PDF to keep or share.
  • Come back and re-run as often as you like; your data stays on your device.

Features

  • 100% local — Reflections are never sent to a server. Simulation runs entirely in your browser.
  • Session & streaks — Last result is stored in localStorage; optional streak count for repeated use.
  • Dark / light theme — Toggle in the header.
  • PDF export — Download your three futures as a single PDF from the results view.
  • Animated UI — Smooth transitions and loading state (Framer Motion).
  • Responsive — Usable on desktop and mobile.
  • Desktop app (optional) — Run as a native app on macOS, Windows, or Linux via Tauri.

Quick start

Prerequisites: Node.js 18+

git clone <your-repo-url>
cd future-self-simulator
npm install
npm run dev

Open http://localhost:3000 in your browser.

Command Description
npm run dev Start Next.js dev server (web app)
npm run build Static export (used by Tauri)
npm run start Serve production build
npm run lint Run Next.js lint
npm run tauri:dev Run as desktop app (dev)
npm run tauri:build Build native app bundle

Running as desktop app

You can run Future Self Simulator as a native desktop app (macOS, Windows, Linux) using Tauri 2.

Additional prerequisites

  • Rust (stable)
  • macOS: Xcode Command Line Tools or full Xcode
  • Windows: Microsoft C++ Build Tools
  • Linux: WebKit2GTK and other deps (see Tauri docs)

Dev (desktop)

npm install
npm run tauri:dev

This starts the Next.js dev server and opens the Tauri window.

Production build

npm run tauri:build

The built app will be in:

  • macOS: src-tauri/target/release/bundle/macos/ (e.g. Future Self Simulator.app)
  • Windows: src-tauri/target/release/bundle/msi/ (or nsis/)
  • Linux: src-tauri/target/release/bundle/ (AppImage, deb, etc.)

Custom app icon

npm run tauri icon path/to/icon.png

Use a 1024×1024 PNG for best results.

macOS 26 (Tahoe) — A known Tao issue can cause the desktop app to crash on startup. Use the web app (npm run dev) until upstream ships a fix.


Tech stack

Layer Tech
Framework Next.js 14 (App Router)
UI React 18, Tailwind CSS, Radix UI (shadcn-style)
Motion Framer Motion
Export jsPDF + html2canvas
Icons Lucide React
Desktop Tauri 2

Project structure

future-self-simulator/
├── app/
│   ├── globals.css       # Global styles and theme variables
│   ├── layout.tsx        # Root layout and metadata
│   └── page.tsx          # Main page (input → loading → results)
├── components/
│   ├── AnimatedBackground.tsx
│   ├── InputForm.tsx     # Three-question form
│   ├── ResultsView.tsx   # Results + PDF export + streak
│   ├── FutureCard.tsx    # Single future path card
│   ├── StreakBadge.tsx
│   ├── ThemeToggle.tsx
│   └── ui/               # Reusable UI (Button, Card, etc.)
├── lib/
│   ├── simulationEngine.ts   # Local simulation (themes → narratives)
│   ├── storage.ts            # localStorage session and streak
│   └── utils.ts
├── types/
│   └── index.ts          # UserInput, SimulationResult, etc.
├── src-tauri/            # Tauri desktop app
│   ├── src/              # main.rs, lib.rs
│   ├── capabilities/
│   ├── tauri.conf.json
│   └── Cargo.toml
└── docs/
    ├── screenshot.png
    ├── input-screen.png   # Input form screenshot
    └── results-screen.png # Results view screenshot

Privacy

Your reflections are never sent anywhere. All input and simulation run in your browser. The only data stored is in your browser’s localStorage (last result and optional streak). You can clear it via your browser’s site data settings.


License

MIT


Future Self Simulator — Reflect. Decide. Become.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages