Legacy Lens: My Project Journey

Inspiration

Years ago, I was a university student when something happened that left me with nothing—except this one path: study, work hard, and prove myself. That incident broke me from the inside. It took months to recover. Honestly? I'm still not sure I'm completely out of it. But I want to be.

I chose to focus on my studies, building projects, and my career. I decided that success would be my answer to everyone who doubted me.

Through this journey, I realized I don't want anyone else to feel that alone or broken. I kept thinking:

What if I could talk to my past self? Could I prevent the pain I went through?

Then it hit me:

What if we could all talk to our future selves? What if wisdom gained through struggle could guide others before they make the same mistakes?

This thought became Legacy Lens: a place to have real conversations with your future self, and to write letters sharing your wisdom with your children, family, or the world.


What I Learned

  • Struggle teaches lessons that no book can.
  • Reflection on past choices gives clarity on what truly matters.
  • Technology can make personalized guidance possible.
  • Hard work and iteration lead to meaningful results, even when starting from scratch.

Mathematical logic came in while designing the Impact Simulator. For example, if each choice $c_i$ has a probability $p_i$ of leading to a certain outcome, we modeled cumulative impact as:

$$ \text{Impact} = \sum_{i=1}^{n} c_i \cdot p_i $$

This formula helped visualize how small decisions ripple through decades.


How I Built the Project

I built this solo, with almost no prior web development experience.

Tech Stack

Technology Purpose
Streamlit Python web framework for the UI
Python Core programming language
OpenRouter API AI backend (GPT-3.5 Turbo)
DeepSeek API Backup AI backend
Plotly Interactive visualizations
Pandas Data manipulation
Requests API communication
python-dotenv Environment variable management

Process

  1. Started in Google Colab, testing a single API call.
  2. Focused on prompt engineering to make the AI sound like a real person. 20+ rewrites later, it started feeling authentic.
  3. Built the UI piece by piece: chat interface → letter generator → visualizations.
  4. Everything is in a single file: app.py — simple enough for non-technical people to read.
# Core system prompt
system_prompt = f"""You are my future self from the year {future_year}. 
I am currently {user_context['age']} years old, and you are {user_context['age'] + 30}.
My name is {user_context['name']}.
Core values: {', '.join(user_context['values'])}.

Speak as me, 30 years older, with wisdom and warmth.
Share insights about how today's choices shape tomorrow.
Ask reflective questions to guide legacy thinking."""

## Features

- 💬 **Future Self Chat:** Conversational AI as your 30-years-older self  
- 📜 **Legacy Letters:** Write and download personalized letters  
- 🌍 **Impact Simulator:** Visualize how your choices ripple through decades  
- 📊 **Humanity's Timeline:** See your place in the broader human journey  
- 🔄 **Dual API Support:** OpenRouter and DeepSeek fallback  

---

## Challenges Faced

### 🔴 402 Error Crisis
Suddenly, all API calls returned "payment required." Free credits expired without warning. Implemented OpenRouter as a backup to prevent downtime.

### 🟠 Making AI Sound Human
Early responses were robotic and formal. 20+ prompt rewrites were necessary to make it sound authentic, using memories, questions, and admissions of uncertainty.

### 🟡 Moment It Clicked
The AI answered a test question about a life-changing decision at 30, repeated mistakes, and nearly lost relationships with specificity. That was the breakthrough.

### 🟢 Building Alone
No team, no feedback loop. Hard but gave complete creative freedom.

### 🔵 Compiler Issues on Windows
Old GCC compilers broke Pandas and NumPy installs. Resolved with pre-compiled wheels:

```bash
pip install --only-binary :all: pandas numpy

### 🟣 Knowing When to Stop

One more feature, chart, or prompt tweak always tempted me. Learning to stop was key.

---

## What's Next

### 🔜 Short Term
- Persistent memory for conversations  
- Better prompts based on feedback  
- More impact visualizations  
- Bug fixes from testing  

### 📱 Medium Term
- Voice synthesis to hear your future self  
- Mobile-friendly design  
- Share legacy letters inside the app  
- More templates  

### 🌎 Long Term
- Community features for anonymous wisdom sharing  
- Timeline branching for alternative life paths  
- API for others to build future-self experiences  
- Multilingual support  

### 💭 The Dream
A world where no one faces struggles alone. Wisdom reaches people before mistakes happen. Legacy becomes about **who you help**, not just what you leave behind.

Built With

Share this project:

Updates