Experience the future before you choose it Live Link
Usaid is an AI-powered decision-making tool that simulates multiple future timelines based on your life decisions. Using Google's Gemini AI, it generates personalized scenarios showing potential outcomes across emotional, financial, career, and relationship dimensions.
- ๐ง Multi-Timeline Generation - Get 3-5 distinct future scenarios for any decision using Gemini 3 Flash
- ๐ค Personalized Simulations - AI considers your risk tolerance, priorities, and unique life situation
- ๐ Detailed Metrics - Visualize emotional, financial, career, and relationship impacts
- โ๏ธ Timeline Comparison - Compare up to 3 timelines side-by-side to weigh trade-offs
- ๐ Follow-up Decisions - Inject new decisions to see how they alter futures dynamically
- ๐ Secure Authentication - Full sign-up/login flow with JWT security
- ๐จ Premium Experience - Glassmorphism UI, Dark/Light mode, and immersive sound effects
01 |
02 |
03 |
04 |
05 |
06 |
07 |
08 |
09 |
10 |
11 |
12 |
Frontend: React, TypeScript, Vite, Zustand, React Query, Glassmorphism UI
Backend: Node.js, Express, Prisma (SQLite)
AI: Google Gemini 3 API (Gemini 2.5 for fallback)
The system follows a modern client-server architecture powered by Generative AI:
graph TD
User[User] -->|Interacts| Client[React Client]
Client -->|API Requests| Server[Node/Express Server]
subgraph Backend
Server -->|Auth & Data| DB[(SQLite Database)]
Server -->|Context Construction| PromptEngine[Prompt Engine]
end
subgraph AI Cloud
PromptEngine -->|Structured Prompt| Gemini[Google Gemini 3 Flash]
Gemini -->|JSON Timeline Data| PromptEngine
end
PromptEngine -->|Parsed Response| Server
Server -->|Real-time Updates| Client
Usaid leverages the advanced reasoning capabilities of Google Gemini 3 to simulate complex human life paths.
We don't just ask "what happens next?". We build a rich context object for every request:
- User Profile: Risk tolerance, core values, life priorities.
- Current State: Age, career, location, relationship status.
- Decision Matrix: The specific choice being weighed (e.g., "Quit job to start a startup").
Gemini is instructed to generate 3 distinct timeline archetypes concurrently:
- The Optimistic Path: High risk, high reward.
- The Pragmatic Path: Balanced, steady growth.
- The Pessimistic/Safe Path: Low risk, potential stagnation.
We utilize Gemini's JSON mode to ensure determinstic, parsable data for our frontend. Every event in the timeline includes:
year: Time offsetevent: Description of the eventimpact_score: -10 to +10 quantification of impactcategory: Financial, Emotional, Career, or Relationship
Corporate strategists use "Scenario Planning" to make billion-dollar decisions. Usaid brings this military-grade cognitive tool to personal life choices.
By making the abstract future concrete and visible, Usaid reduces anxiety and helping users make faster, more confident life pivots.
- Career Counseling: Helping students choose majors.
- Financial Planning: Visualizing the lifestyle impact of savings choices.
- Life Coaching: Showing clients the trajectory of their habits.
- Node.js 18+
- npm or yarn
- Gemini API key (Get one here)
-
Clone the repository
git clone https://github.com/ritikiitg/usaid.git cd Usaid -
Setup the server
cd server npm install cp .env.example .env # Edit .env and add your GEMINI_API_KEY npx prisma migrate dev
-
Setup the client
cd ../client npm install
-
Start the server (from
/server)npm run dev
-
Start the client (from
/client)npm run dev
-
Open http://localhost:5173 in your browser
usaid/
โโโ client/ # React frontend
โ โโโ src/
โ โ โโโ components/ # Reusable UI components
โ โ โโโ pages/ # Page components
โ โ โโโ stores/ # Zustand state stores
โ โ โโโ services/ # API client
โ โ โโโ context/ # React contexts
โ โโโ public/ # Static assets
โ
โโโ server/ # Express backend
โ โโโ src/
โ โ โโโ routes/ # API routes
โ โ โโโ services/ # Business logic
โ โ โโโ middleware/ # Auth & error handling
โ โ โโโ lib/ # Prisma client
โ โโโ prisma/ # Database schema
โ
โโโ README.md
| Variable | Description |
|---|---|
PORT |
Server port (default: 3001) |
DATABASE_URL |
SQLite database path |
JWT_SECRET |
Secret for JWT tokens |
JWT_EXPIRES_IN |
Token expiration (e.g., 7d) |
GEMINI_API_KEY |
Your Gemini API key |
Built for the Hackathon 2026 by Ritik Raj
Powered by Google Gemini