An all-in-one AI copilot for everyday life in India — fifteen specialist AI agents that spot scams, decode documents, claim government benefits, save on health, make sense of money, file taxes, plan your work, fight unfair treatment, protect your crop, stand up for women's safety, write your homework, make educational videos, launch a business, run a compliant mine, and get you hired. By voice or text, in English and Hindi, on web and Telegram.
Real AI (Google Gemini 2.5 Flash, key-rotating + Groq fallback), a premium responsive UI, and deterministic on-device maths where correctness matters — agents that act, not a generic chatbot.
- 15 specialist agents, each with a photoreal face, its own console + dashboard, and real tools.
- Agentic workflows — one ask runs a chain of agents (e.g. decode → draft complaint → schedule), with an AI planner that auto-picks the chain.
- Floating AI assistant that understands your problem and routes you to the right agent.
- Telegram bot with the same brain — chat, get full answers, and deep-link back into the app.
- "Already affected?" emergency mode on every agent — calm worst-case next steps + real helplines.
- Searchable helpline directory (22 official Indian numbers, tap-to-call).
- Bilingual (English / हिन्दी) — the UI and the AI answers flip language.
- Voice input everywhere (Web Speech API); Pragyan narrates with a choosable voice.
- Agentic Smriti — one free-text ask is decomposed into the right chain (e.g. check weather → crop plan → government schemes → reminder), runs each specialist, and does more than asked.
- Email + calendar reminders — "Email me when it's done" sends a real email (Gmail SMTP) with a calendar
.icsattached; dated tasks become reminders automatically. - Agents that act, not just answer — every deliverable carries one-tap actions: Save PDF · Email · WhatsApp · SMS · Remind me (real email +
.ics). It's a copilot that does the task, not a chatbot that describes it. - Autonomous on critical triggers — in "Already affected?" emergencies, agents take initiative and produce the finished work themselves (e.g. the drafted complaint email, a recovery budget/plan) under "Done for you — ready to use", ready to send — no need to ask.
- Catalyst (Disha) — a full skill-assessment suite: JD↔resume skill match & gap, an adaptive SkillLens interview, scores with radar + bar charts, a personalised learning plan, curated resources, and a visual PDF report.
- Emergency SOS — set a private emergency contact (saved only in your browser) and alert them in one tap via SMS / WhatsApp / Call with your live location; the Telegram bot can text them too (after a "shall I text them?" confirm). Every helpline number is tap-to-call.
- Resilient AI — rotates multiple Gemini keys, then falls back to Groq (Llama 3.3 70B) when quota is exhausted, then to realistic mocks so a live demo never breaks; a clear "fallback initiated" notice shows what happened.
| Agent | Role | What it does |
|---|---|---|
| Disha | Career Copilot (Catalyst AI) | The direct Redrob ecosystem hook. Catalyst AI skill assessment: paste/upload a JD + résumé → extracts & matches skills (Strong/Moderate/Critical gap), runs an adaptive SkillLens interview (dynamic difficulty + per-answer scoring), computes a readiness score (skill-match 40% · assessment 40% · confidence 20%) with radar + bar charts, a personalized learning plan + curated resources, and a downloadable PDF report. Plus live job search (Remotive/Arbeitnow) & a Resume Tailor (text + LaTeX → PDF/.tex/Overleaf). |
| Abhay | Scam Shield | Forward any suspicious SMS / WhatsApp / call / email → instant fraud verdict, risk score, red flags, what to do. Crime map, fraud-network graph, voice-spoof & counterfeit checks, and a live scam-news ticker (RSS). |
| Vidya | Document Decoder | Paste or photograph a bill, insurance, legal notice or govt letter → plain language + hidden charges flagged. |
| Haq | Scheme Finder | Share a short profile → central + state schemes you likely qualify for, with how-to-apply steps. |
| Asha | Health Saver | Decode a prescription → cheaper generic equivalents + Jan Aushadhi savings; symptom guidance; vitals & visit-prep. |
| Nidhi | Money Autopilot | Make sense of spends, find leaks, budget (50/30/20), and live EMI / SIP calculators. |
| Lekh | Tax Filing Copilot | FY 2025-26 (new regime) tax computed exactly on-device; Form-16 PDF parsed client-side (keyless) with AI vision fallback for scans/photos; 87A rebate, old-vs-new compare; PDF export. |
| Smriti | Chief of Staff | Dump tasks by text/photo/voice → plan, prioritise, schedule focus blocks, forecast deadlines, Pomodoro, goals & habits, calendar/ICS export. |
| Adhrit | Grievance Autopilot | Describe a problem → the right authority, a ready complaint, the escalation ladder, and a rights library. |
| Bhupati | Kisan Saathi | Snap a crop photo → diagnosis, action plan, farm schemes, timely advisory. |
| Nirbhaya | Women's Safety | Describe any unsafe situation (harassment, stalking, an unsafe commute, domestic or workplace abuse) → a calm risk read, ordered safety steps, the right Indian helplines (112 · 1091 · 181, NCW, cyber 1930), your legal rights (POSH, PWDVA, Zero-FIR, NALSA), and a tap-to-call helpline directory. |
| Acharya | Study & Homework | Set a topic and a deadline → a properly structured, human-sounding essay / journal / report / speech / notes / presentation, exported as PDF, Word (.docx) or PowerPoint (.pptx) in Times New Roman 12pt, then handed to Smriti with an .ics reminder so the submission is never missed. |
| Pragyan | Educational Videos & Podcasts | Turn any topic (a concept, a how-it-works, or a trending Economic Times story) into a short educational video or podcast: choose a voice (Natural / Female / Male / Cheerful), then it writes the script + subtitles, pulls matching Pexels images (keyless Pollinations fallback), and narrates it in-browser — with downloadable script/.srt, hashtags & a shareable link. Built-in news provider (ranked ET feed). Works on Telegram. |
| Udyam | Business & MSME Launchpad | Turn a business idea into reality — the exact Udyam, GST & licence steps and the MSME schemes & loans (Mudra, PMEGP, CGTMSE) you qualify for, with official portals. |
| Khanan | Mining Compliance & Ops Copilot | A location-aware compliance + predictive-operations copilot for mine owners: an Owner Copilot ("Am I ready for a DGMS inspection?") with readiness score, gaps, who to contact and ready-to-send reports/emails; an inspection checklist; a royalty/DMF/NMET calculator; a permit/licence expiry tracker (with .ics); a legal-notice explainer + reply draft; predictive forecasts + fleet maintenance; and one-tap hand-offs to Smriti / Haq / Adhrit / Lekh. |
Every agent also has an "Already affected?" tab: describe the worst case (you were scammed, got a notice, lost a crop…) and it returns urgent next steps, exactly who to contact (real helplines), a ready script, and what the agent will do for you.
- Agentic workflows (the AI-native workflow layer) — the Workflows tab runs a multi-agent chain where each agent's output feeds the next, visualised live as each step runs: Weather → Crop → Schemes → Budget → Plan (live Open-Meteo weather → Bhupati → Haq → Nidhi → Smriti — the biggest chain), Write homework → Schedule submission (Acharya → Smriti), Decode → Complaint → Schedule (Vidya → Adhrit → Smriti), Check scam → Act → Report (Abhay → Emergency → Adhrit), Tailor résumé → Interview → Plan (Disha → Disha → Smriti), Analyse spends → Plan savings, Decode Rx → Refill reminders. An AI planner picks the right chain from a free-text problem, and finishing a chain fires a completion reminder.
- Orchestrator (the Talk to Saarthi / Start with any tool CTA) — a node-graph view with
Smriti at the top of the hierarchy managing the team. Describe any goal in plain words and she
proactively decomposes it into the right agent-actions, checks live weather first for
outdoor work (warning on hazards), and watches control flow live down the edges to exactly the
agents she picks. When done she auto-creates a calendar
.ics+ email reminder for any dated task — you never have to ask. If a request fits no specialist, Smriti answers it herself. - Build your own workflow — a drag-and-drop canvas: drag agents + sources (Weather, Photo/PDF) + outputs (PDF/Word/PPT, Reminder) onto the board, link them into a chain with rules (Smriti & outputs are final steps; no loops), then run it and see the result on the page.
- Smriti as manager — Smriti reviews your task board, delegates each task to the right specialist agent, brings back the finished deliverable (e.g. Adhrit drafts the email), and shows it under Completed by your team; tasks with deadlines export to .ics with alarms.
- AI assistant (floating chat) — bottom-right on every page. Describe your problem; it classifies it (Gemini router + an instant offline keyword fallback) and offers "Talk to {agent}". Supports voice input.
- Helplines — the navbar phone button opens a searchable modal of 22 official Indian
helplines (1930, 112, 1098, 1078, 1915, 14416 Tele-MANAS, …), tap-to-call. Phone numbers inside
any agent's answer are also turned into tappable
tel:links (and URLs into links). - Emergency SOS contact — in Smriti's results and every agent's "Already affected?" tab you can
save a private emergency contact (browser-only
localStorage) and alert them in one tap via SMS / WhatsApp / Call, with your live location attached if you allow it. - Deep links —
?agent=kavachopens that console,?q=…opens the chat pre-filled (used by the Telegram bot to hand off into the web app). - Live data feeds (keyless) — the Weather workflow source & the Kisan cycle chain pull real forecasts from Open-Meteo; Abhay's ticker streams live scam-news via RSS; Disha's Job search pulls real openings from Remotive (Arbeitnow fallback). (The app falls back to sample data if a feed is unreachable.)
- Deterministic engines — tax, EMI/SIP, the scam classifier, Smriti's forecasts/ICS, and Khanan's royalty/DMF/NMET maths run on-device for reproducible, defensible numbers; the LLM is used for understanding, extraction and language.
- Works even with no/low AI quota — Lekh parses a text-based Form-16 entirely in the browser (pdf.js + regex) and all the maths above are on-device, so tax computation, calculators and the checklist keep working with zero API calls. When Gemini quota is hit, keys auto-rotate and a clear "fallback initiated" notice appears instead of silent wrong data.
- Premium, responsive UI — floating glass navbar (hamburger menu on phones), smooth page/route transitions, language cross-fade.
The same agents, in Telegram (server/telegram.js):
/start→ welcome + tappable quick-start buttons and a "Browse all agents" menu.- Free text → auto-routes to the best agent and replies with a complete answer (English/Hindi auto-detected), plus an "Open in app" deep link.
- Pick an agent (
/agentsor the menu) → reply to talk directly to that specialist. - Emergency SMS — set a contact with
/sos +91…; when a message looks urgent the bot asks "Shall I text your emergency contact?", offers a 📍 Share location button, and on Yes sends a real SMS with the situation and a Google-Maps location link via a free provider — Fast2SMS (setFAST2SMS_KEY) or a TextBelt free fallback. - Powered by one Gemini
assistcall that routes and writes the full answer; falls back to mock replies if no key is set.
Try it: @saarthi_support_bot — or see Deploy below to connect your own.
Browser (React 19 + Vite + Tailwind + Framer Motion)
│ POST /api/<feature> (text, optional image, language)
▼
Express app (server/app.js) ──► Google Gemini (structured JSON output)
│ • API key stays server-side, never shipped to the browser
│ • graceful mock fallback if no key / API error → demo never breaks
│
├─ /api/telegram ◄── Telegram webhook (same agents)
└─ deployed on Vercel as a serverless function (api/index.js)
Telegram ──► /api/telegram ──► Gemini ──► reply + deep link back to the web app
- Structured output — every feature defines a strict
responseSchema; Gemini returns typed JSON the UI renders directly (no fragile parsing). - Multimodal — Vidya, Asha, Lekh, Bhupati, Smriti, Khanan accept a photo/PDF via Gemini vision.
- One deploy — frontend (static
dist/) + the Express API (serverless) live on one Vercel URL.
Full details in ARCHITECTURE.md.
1. Install
npm install2. Add your Gemini key (free at https://aistudio.google.com/apikey)
cp .env.example .env # then edit .env and paste your key
# GEMINI_API_KEY=AIza...Skip this and the app still runs in demo mode with realistic sample data.
3. Start (API + web app together)
npm run devOpen the printed URL (e.g. http://localhost:5179).
Build
npm run build # builds the web app to dist/
npm start # runs the local API server (server/index.js)| Var | Required | Purpose |
|---|---|---|
GEMINI_API_KEY |
for live AI | Google AI Studio key (else demo/mock mode) |
GEMINI_API_KEY_2/3… |
optional | extra keys — auto-rotated when one hits its free-tier quota (or use GEMINI_API_KEYS=k1,k2,k3) |
GEMINI_MODEL |
optional | defaults to gemini-2.5-flash; set gemini-2.5-flash-lite for a higher free daily request limit |
GROQ_API_KEY |
optional | automatic fallback when Gemini quota is exhausted (fast, generous free tier — console.groq.com/keys) |
GROQ_MODEL |
optional | defaults to llama-3.3-70b-versatile |
PORT |
optional | local API port (default 8787) |
PEXELS_API_KEY |
optional | nicer Pragyan stock images (keyless Pollinations fallback) |
TELEGRAM_BOT_TOKEN |
for the bot | from @BotFather |
APP_URL |
for the bot | deployed URL for deep links, e.g. https://getsaarthi.vercel.app |
SMTP_HOST / SMTP_PORT |
for email | e.g. smtp.gmail.com / 587 |
SMTP_USERNAME / SMTP_PASSWORD |
for email | Gmail address + App Password (2-Step Verification) |
SMTP_FROM_EMAIL |
for email | the "from" address (usually same as username) |
FAST2SMS_KEY |
for SMS | Fast2SMS auth key so the Telegram bot can text an emergency contact (India) |
TEXTBELT_KEY |
optional | paid TextBelt key; without it a free shared key (~1 SMS/day) is used |
Frontend and the /api Gemini backend deploy together — the Express app is wrapped as a
Vercel serverless function (api/index.js, routed via vercel.json).
- Push the repo to GitHub and Import Project on Vercel (auto-detects Vite).
- Add Environment Variables (Settings → Environment Variables):
GEMINI_API_KEY(optionallyGEMINI_MODEL,GEMINI_API_KEY_2/3…,GROQ_API_KEY,PEXELS_API_KEY),TELEGRAM_BOT_TOKEN&APP_URLfor the bot,SMTP_HOST/SMTP_PORT/SMTP_USERNAME/SMTP_PASSWORD/SMTP_FROM_EMAILfor "email me when it's done", andFAST2SMS_KEYfor the bot's emergency SMS. - Deploy. The site is live; agents / chat / helplines all work via
/api/*.
- In Telegram, open @BotFather →
/newbot→ copy the token. - Add
TELEGRAM_BOT_TOKENandAPP_URLto Vercel env vars, then redeploy. - Register the webhook once (replace
<TOKEN>and your domain):It should returnhttps://api.telegram.org/bot<TOKEN>/setWebhook?url=https://<your-app>.vercel.app/api/telegram{"ok":true}. Verify the endpoint: openhttps://<your-app>.vercel.app/api/telegram→{"ok":true,"bot":"Saarthi Telegram webhook"}. - Message your bot. (Remove later with
…/bot<TOKEN>/deleteWebhook.)
Never commit secrets.
.envis gitignored — set keys only in the Vercel dashboard. If you ever paste a token publicly, revoke it via @BotFather.
api/
index.js Vercel serverless wrapper (exports the Express app)
server/
app.js Express app + all /api routes (+ telegram webhook, notify)
index.js local dev server (listens on PORT)
gemini.js Gemini client wrapper (structured JSON, multi-key rotation)
prompts.js per-feature system prompts + JSON schemas (the "brains")
mocks.js demo-safe sample responses
telegram.js Telegram bot webhook (buttons, agent menu, routing, /sos SMS)
notify.js email (Gmail SMTP) with .ics attachment
sms.js emergency SMS (Fast2SMS / TextBelt)
docgen.js PDF / Word / PPTX generation (lazy-imported)
workflows.js multi-agent chains + planner; news.js / jobs.js live feeds
src/
App.tsx view switching, deep links, scroll restore
app/AppContext language + health context, i18n helper
components/ Nav, Landing, FloatingChat, SosAlert, NotifyMe, ActionBar,
Helplines, Select, Logo, AgentAvatar, LanguagePicker, ui
features/ per-agent tools + console/ (dashboards) + disha/Catalyst + kavach/ sehat/ kar/ khanan/ pragyan/
lib/ api client, features metadata, i18n (en/hi), route classifier,
linkify (tel: links), form16 (keyless PDF parse), reminders (ICS), text
hooks/ useVoice
vercel.json build + /api routing + function config
- Land on the hero → switch language to हिन्दी (top right); UI + AI output flip.
- Abhay → Try an example (digital-arrest scam) → risk ring hits 94, red flags, 1930 helpline.
- Vidya → snap a hospital bill → flags a duplicated charge, explains "TPA".
- Haq → profile a woman farmer in Maharashtra → PM-KISAN, Ayushman Bharat, Atal Pension + how to apply.
- The floating assistant → type "I got an OTP and money was debited" → it routes to Abhay; open "Already affected?" for emergency steps + 1930.
- Telegram → send the same message to the bot → full answer + "Open in app" link.