Raaha

Clarity, not commands. A decision companion that helps you see your own way through the choices that scare you, and never walks the path for you.

"Raaha" (राह) means "the path" in Hindi. Every hard decision is a fork in the road where you can't see far down either side. This is the tool we wished we had while standing there.


Inspiration

Has this ever happened to you?

You're stuck between two choices that both matter, and the second you start weighing one, the details of the other fall out of your head. So you go in circles. You make a list, lose the list, make it again. And when you're tired enough, you pick whatever felt safest in that one anxious moment, not what was actually right for you. A week later the fear has faded, and the regret has moved in.

We've all been here. The student trying to decide whether to take a drop year, accept a college they're not sure about, or do a partial drop while everyone around them "moves on." The person sitting with the question of whether to quit a stable job for something uncertain. These choices are big, personal, and loud with emotion. And the tools we reach for let us down at exactly the wrong moment.

A chatbot will just tell you what to do, which means handing your life decision to something that has never met you. A pro/con list flattens everything into bullet points and quietly ignores the one thing that actually makes the decision yours, which is how much each thing matters to you.

We didn't want to build something that decides for you. We wanted the thing we always wished we had at 2 a.m. Something that holds the whole decision in front of you at once, remembers every detail so you don't have to, and gently shows you when your gut and your reasoning are pulling in different directions.

So we built Raaha.


What it does

In one word: clarity.

You type the decision the way it actually sounds in your head. Messy, anxious, unfinished. Raaha takes that and turns it into a structure that you stay in control of:

It does this So that
Remembers everything You never lose the details of one option while thinking about the other
Compares on your preferences The ranking reflects what you value, not what's popular or "safe"
Separates emotion from fact It reads your words and reflects back whether you're leaning on feeling or on reasoning, then lets you confirm or correct it
Surfaces what you missed It names a factor you never mentioned but that often matters most for someone in your spot, as a question you can accept or reject
Shows what it all rests on It tells you the one assumption your decision hinges on, and how small a change it would take to flip your answer

It's also smart about scale, because not every decision deserves the same ceremony. "Which laptop should I buy" gets a quick fact check. "Should I quit my job" gets the full, slow walk-through. And if it senses you're genuinely struggling, it stops scoring entirely and becomes a calm, supportive space instead.

The final screen never says "do this." It says, "here's what comes out on top, given the weights you set." Next to it sits the runner-up's closeness, the assumption it depends on, and one concrete thing you can go check this week.


What it doesn't do

Raaha will never tell you what to do. It doesn't predict your future. It doesn't hand you a verdict. It doesn't pretend to know your life better than you do. It only helps you figure out what you actually feel, and what you actually value.

This isn't a limitation we're apologizing for. It's the whole point. Your values can't be scraped from data about other people. They're the one input no model has any business owning. So Raaha does the open-ended thinking you can't easily do alone, and then it hands the decision back to you, where it belongs.


How we built it

Raaha is a hybrid system with a hard line drawn down the middle. The AI does all the language. A separate, transparent layer does all the numbers. That split is the whole architecture, and it's the reason you can trust it.

  YOUR MESSY INPUT
        |
        v
  LLM LAYER  (language, never numbers)
     reads the real decision under the noise,
     builds options you didn't even name,
     distills the few things you actually care about,
     notices the emotion you're leaning on,
     writes a "here's how this could go wrong" pre-mortem
        |  strict, validated JSON
        v
  YOU  (the human in the loop)
     approve the options, set every weight,
     confirm or correct your own gut
        |  your numbers
        v
  DETERMINISTIC LAYER  (pure Python, tested)
     the ranking, the dominant factor,
     "what would flip it", the decision journal

The AI never produces a single number. Every score, weight, and ranking comes from either your allocation or a unit-tested Python module that never calls a model. The math is plain and you can audit it. Each option's score is simply:

V(r) = \sum_{k} \hat{w}_k \cdot \hat{s}_{r,k}

In plain words, an option's score is just the sum, across everything you care about, of how much you weight each thing times how that option did on it. And because the score is a simple sum, we can work out the exact tipping point: the smallest change in your priorities that would flip the winner. That becomes the honest headline, something like "shift about 2 points from security toward growth, and your answer changes."

A few words on the stack:

  • Frontend. Next.js with Tailwind, plus live streaming so you can actually watch the AI think in real time instead of staring at a spinner.
  • Backend. FastAPI as a step-server, with four routed pipelines (quick, light, full, support) sharing one common foundation for routing, memory, safety, and search.
  • Reasoning. A local model (qwen3:8b via Ollama) that shows its real thinking, plus a cloud rotation (Groq, Gemini, OpenAI) that automatically falls back from one provider to the next, then to local, then to a fully offline mode. The demo never hard-stops, online or off.
  • Memory. A rolling summary, so each new question is asked after it has heard your last answer.
  • Storage. A simple SQLite decision journal.

Challenges we ran into

The hardest problem we hit was sending each decision to the right depth. Not every sentence wears its stakes on the surface, and early on the classifier kept getting it wrong in ways that really mattered.

It over-reacted. Normal but scary decisions like "should I quit drinking," "should I end this relationship," or "I'm burned out and want to leave" were being sent to the crisis path, dropping a perfectly capable person into a support screen they didn't need. It also went the other way, dragging "which laptop should I buy" into the full life-decision treatment.

The tone detector had a hair trigger too. Ordinary decision-anxiety, like "I feel sick about picking wrong," was being read as real distress, and it kept killing the session in the middle.

Fixing this took patience. We narrowed the crisis path so it only triggers on explicit signals of self-harm, gave the router concrete everyday examples to learn from, and rebuilt the safety logic so a single fuzzy reading no longer flips everything. Genuine distress still escalates right away, but ordinary emotional talk now has to persist before anything changes. We tested it across dozens of real scenarios until the healthy, hard decisions ran cleanly and real distress was still always caught.

Underneath all of that sat the quiet, constant challenge: getting a small local model to return reliable structured data, and making absolutely sure it never wrote a number that reached your score. We solved that in the architecture itself, with schema checks that strip out numbers, a retry-and-repair loop, and a separate math endpoint, and we backed it with a test that brute-forces the "what flips it" math to prove it's exactly right.


Accomplishments that we're proud of

  • Dividing into paths. One tool that handles "what's for breakfast" and "should I leave my career" gracefully, by sending each question down a path sized to its stakes and letting you confirm the route before anything commits.
  • Tone detection. A two-layer safety net, an instant offline keyword check plus a more nuanced tone read, watching how you're actually doing on every single turn.
  • Escalation that protects you. If it picks up on real distress, the session shifts into a no-scoring support space, because nobody in that state should be asked to "allocate 100 points."
  • A responsible-AI promise we can actually keep. No AI-generated number ever reaches your decision. That's not a line in a writeup, it's enforced in the architecture and proven in our tests.
  • It runs fully offline. Every path completes start to finish with no internet, no GPU, and no API key, so the experience never depends on a connection holding up.

What we learned

People don't need someone to tell them what's right or wrong. They need to be understood.

The thing that surprised us most was how uncomfortable honest design feels. A tool that sounds certain earns your trust right away. A tool that says "here's how fragile this answer actually is, and here's what it rests on" costs you that easy trust. We went with honesty anyway, because building blind confidence in someone facing a decision they can't undo is the real harm.

We also learned that the magic moment isn't the ranking at all. It's the instant you nudge a weight and watch the winner flip, and you realize the decision was never really about the options. It was about which value you were willing to put first. Raaha doesn't answer that for you. It just makes sure you can finally see the question clearly.


What's next for Raaha

  • The 30-day revisit loop. The journal closes the circle. Raaha checks back in a month to ask what actually happened, so you slowly build an honest record of how your own judgment holds up.
  • Pre-mortems for every path, not just the leading one, so you can see how each future might go wrong before you commit.
  • Voice and more languages, so the people who most need a moment of calm can reach it in their own words.
  • Shared decisions for couples, co-founders, and families weighing one choice together, each setting their own weights.
  • A mobile companion for the decisions that keep you up at 2 a.m., right when clarity matters most.

Raaha. Because the goal was never to choose for you. It was to help you walk your own path, like yourself.

Built With

Share this project:

Updates