AS
Back to work

Raksha — Safe Daily Decision

AI-powered safety decision app for families

FastAPIReactTypeScriptViteGroq API (LLaMA 3.3-70b-versatile)OpenWeatherMap APIscikit-learnSQLiteMaterial 3 CSS
WeatherWise Hack · Team WWH-RHV8D60-10 Live Threat Risk IndexGroq-LLaMA 3.3 Safety Context Chat

The problem

Developed for the WeatherWise Hack (Team Code: WWH-RHV8D6). In disaster-prone zones, checking scattered weather forecasts, elevation maps, and historical flood datasets is slow and error-prone.

Families need a single, instantly readable, and customized answer to the daily question: "Is it safe to go outside today?"—factoring in household vulnerabilities like children or elderly members.

Key decision

I chose a decoupled dual-model architecture: a scikit-learn Random Forest Classifier running locally in Python to evaluate mathematical risks (humidity, wind, precipitation, and elevation), paired with Groq's LLaMA 3.3-70b-versatile for generating natural language recommendations. Standard heuristics fail to communicate nuance; an LLM ensures safety advice is context-aware and clear.

How it works

The application follows a clean frontend/backend split:

  • Frontend (React + Vite): A Material 3 web app featuring five tabs: Safety, Chat, Risk Zones Map, Local Helplines, and Settings. Includes a family profile modifier toggle (adjusts threat scores by 1.4x-1.6x for children/elderly) and a dynamic color palette shifting with risk level.
  • Backend (FastAPI): Handles routing (risk calculation, OpenWeatherMap data, GPS geolocation, and chat history). Includes ml.py running the Random Forest classifier and api.py interfacing with Groq.
  • Data Store: SQLite for storing local alert history.

Results

Provides one clear, actionable safety decision every morning. Won a spot in the WeatherWise Hack (Team Code: WWH-RHV8D6).

What went wrong

The app works fine, but it told my teammate not to go out to buy snacks because of a 0.2mm drizzle. It turns out LLaMA is highly risk-averse when you toggle the family profile modifier to maximum.