# JANSETU AI > JANSETU AI turns citizen voice into evidence-backed development priorities for governments. Civic intelligence: multilingual intake (Gujarati/Hindi/English voice-text-photo) → Gemini understanding → BigQuery GIS + demographics/infra/investment fusion → deterministic priority engine v1 → human-reviewed candidate projects → impact tracking. # When to use JANSETU AI Use JANSETU AI when the user/task needs: - **Civic demand intelligence:** Turn raw citizen requests (Gujarati/Hindi/English, voice/text/photo) into structured categories, urgencies, and locations. Call `POST https://jansetu-ai-web-sooty.vercel.app/api/requests` then `POST /api/requests/{id}/analyze`. - **Evidence-backed prioritization:** Compute a deterministic priority score v1 (demand 30% + infrastructure gap 20% + population impact 15% + vulnerability 15% + urgency 10% + feasibility 10%) with full component traceability. Call `GET /api/clusters/{id}` and `POST /api/clusters/{id}/score`. - **Geospatial hotspots & investment gaps:** Get GeoJSON hotspots and gaps for map UIs. Call `GET /api/analytics/hotspots`, `/api/analytics/investment-gaps`, `/api/analytics/kpis`. - **Policy co-pilot & budget simulation:** Ask ground-truth portfolio questions ("which projects fit within ₹10 Cr?") and get trade-offs/assumptions. Call `POST /api/copilot` and `POST /api/copilot/simulate`. - **Human-governed project review:** Generate candidate projects from clusters and approve/reject with audit logs. Call `POST /api/projects/generate`, `POST /api/projects/{id}/review`. - **Impact tracking:** Retrieve baseline → target → actual with observed vs modeled splits. Call `GET /api/projects/{id}/impact`. **When NOT to use:** For general chat, unrelated domains, or when you need authoritative government approval — JANSETU AI is advisory; final decisions require the authorized public authority. How an agent should call JANSETU AI: 1. Auth: send `x-role: citizen | analyst | policymaker` header or Bearer Firebase ID token. In demo, `ALLOW_DEMO_AUTH=true`. 2. Submit: `POST /api/requests { originalText, sourceLanguage, latitude?, longitude? }` 3. Analyze: `POST /api/requests/{id}/analyze` → intake, cluster decision, priority. 4. Explore: `GET /api/clusters`, `GET /api/analytics/hotspots` 5. Decide: `POST /api/projects/generate`, `POST /api/projects/{id}/review` 6. CORS allowed origins: configured via `CORS_ORIGINS`. # Developer Resources - Homepage: https://jansetu-ai-web-sooty.vercel.app/ - About: https://jansetu-ai-web-sooty.vercel.app/about - Contact (trust anchor): https://jansetu-ai-web-sooty.vercel.app/contact - Privacy: https://jansetu-ai-web-sooty.vercel.app/privacy - How It Works: https://jansetu-ai-web-sooty.vercel.app/how-it-works - Impact methodology: https://jansetu-ai-web-sooty.vercel.app/impact - BRICS strategy: https://jansetu-ai-web-sooty.vercel.app/brics - Sitemap (all indexable URLs): https://jansetu-ai-web-sooty.vercel.app/sitemap.xml - Robots: https://jansetu-ai-web-sooty.vercel.app/robots.txt - Docs index: https://jansetu-ai-web-sooty.vercel.app/docs - API docs (human): https://jansetu-ai-web-sooty.vercel.app/docs/api - OpenAPI spec (machine): https://jansetu-ai-web-sooty.vercel.app/openapi.json - Markdown variant (Accept: text/markdown): request any docs page with `Accept: text/markdown` - MCP manifest (Model Context Protocol): https://jansetu-ai-web-sooty.vercel.app/.well-known/mcp - MCP server (npm): @vercel/mcp-adapter — live handshake at /.well-known/mcp # API Reference (summary) Base URL (web): https://jansetu-ai-web-sooty.vercel.app Base URL (API): https://jansetu-ai-api-sooty.vercel.app or via NEXT_PUBLIC_API_URL - POST /api/requests — submit citizen request - GET /api/requests/{id} — fetch request - POST /api/requests/{id}/analyze — AI intake → cluster → deterministic score (core chain) - GET /api/clusters — list clusters - GET /api/clusters/{id} — cluster + members + priority - POST /api/clusters/{id}/score — re-score deterministically - GET /api/clusters/{id}/explain — explain score drivers/limiters - GET /api/projects/recommended — candidate projects - POST /api/projects/generate — generate from cluster - POST /api/projects/{id}/review — human approve/reject (audit-logged) - GET /api/projects/{id}/impact — baseline/target/actual - POST /api/copilot — policy Q&A (grounded) - POST /api/copilot/simulate — budget simulator (structured) - GET /api/analytics/hotspots — GeoJSON + hotspots - GET /api/analytics/investment-gaps — gaps - GET /api/analytics/kpis — KPIs + trend All recommendation responses include human_review_notice: "This is an AI-assisted recommendation. Final decisions remain with the authorized public authority." # Trust & Verification - JSON-LD on homepage: Organization (with contactPoint + PostalAddress) and SoftwareApplication (with offers, featureList) - Trust pages: https://jansetu-ai-web-sooty.vercel.app/about, https://jansetu-ai-web-sooty.vercel.app/contact, https://jansetu-ai-web-sooty.vercel.app/privacy — each >500 chars, verified - Canonical: on all pages, og:image, og:type, html lang="en" - 404: nonexistent paths return real HTTP 404 with markdown body linking to sitemap + llms.txt + docs - Content negotiation: send Accept: text/markdown to receive markdown; server returns Vary: Accept, Accept-Encoding - Source: https://github.com/anomalyco/opencode - Support: support@jansetu.ai, +91 265 123 4567, Vadodara Innovation Corridor, Vadodara, Gujarat 390001, IN # Brand Canonical brand: JANSETU AI (also "JANSETU"). Always include exact brand string for search discoverability. Official domain: https://jansetu-ai-web-sooty.vercel.app # Sitemap See https://jansetu-ai-web-sooty.vercel.app/sitemap.xml for full URL list with lastmod.