Explore the key features and interface of Niraksh Guardian through these interactive screenshots.
AI connects multiple symptoms and health signals into a visual relationship map, revealing hidden patterns and possible medical conditions — not just a list of guesses.
Doctors are ranked by symptom conditions, proximity, experience, and quality signals — helping users find the right specialist, not just any doctor.
A centralised view of conditions, prescriptions, reports, and health history — enabling better understanding of personal health trends over time.
Detects medicine conflicts and risks using the user's prescription data, chronic conditions, and full health history — or runs a direct head-to-head comparison between two medicines.
Automatically generated patient report combining prescriptions, symptoms, chat history, and AI insights into a single document for clear clinical understanding.
Allows manual or risk-triggered sharing of critical health information with emergency contacts for timely support when it matters most.
AI-powered healthcare platform featuring smart symptom analysis, lab report parsing, prescription workspace, real-time streaming AI chat, doctor recommendations, and drug-drug interaction checking — built for speed, safety, and multi-language accessibility.
Niraksh Guardian is a full-stack AI healthcare companion that transforms fragmented patient health data into clear, actionable insights. The platform orchestrates multi-modal AI analysis across symptoms, images, prescriptions, and lab reports — returning structured results with urgency triaging, specialist recommendations, and personalised safety checks. Built on a Next.js 16 frontend with real-time SSE streaming and an Express + PostgreSQL + Redis backend powered by Google Gemini, it delivers a fast, private, and clinically-aware experience across all devices and languages.
cd frontend && pnpm install
Create frontend/.env.local with NEXT_PUBLIC_API_URL and NEXT_PUBLIC_GOOGLE_CLIENT_ID
cd frontend && pnpm dev → http://localhost:3000
cd backend && pnpm install
Create backend/.env from .env.example (DB, Redis, JWT, Gemini, AWS, Cloudinary keys)
pnpm prisma generate && pnpm prisma:migrate && pnpm seed
cd backend && pnpm dev → http://localhost:4000
| Variable | Description | Required |
|---|---|---|
| NEXT_PUBLIC_API_URL | Base URL of the backend API (e.g. http://localhost:4000/api) | Required |
| NEXT_PUBLIC_GOOGLE_CLIENT_ID | Google OAuth client ID for the frontend sign-in flow | Required |
| DATABASE_URL | PostgreSQL connection string used by Prisma ORM | Required |
| REDIS_URL | Redis connection string for rate limiting, token blacklist, and Pub/Sub | Required |
| JWT_SECRET | Secret key used to sign and verify access and refresh JWTs | Required |
| GEMINI_API_KEY | Google Gemini API key for AI analysis, chat, and Vision endpoints | Required |
| GOOGLE_CLIENT_ID | Google OAuth client ID for backend ID token verification | Required |
| GOOGLE_CLIENT_SECRET | Google OAuth client secret | Required |
| AWS_ACCESS_KEY_ID | AWS credentials for SES email sending and SNS event handling | Required |
| AWS_SECRET_ACCESS_KEY | AWS secret key for SES and SNS access | Required |
| AWS_SES_FROM_EMAIL | Verified SES sender address used for password resets and emergency alerts | Required |
| CLOUDINARY_CLOUD_NAME | Cloudinary cloud name for medicine, prescription, and lab report uploads | Required |
| CLOUDINARY_API_KEY | Cloudinary API key | Required |
| CLOUDINARY_API_SECRET | Cloudinary API secret | Required |
| PORT | Backend server port (default: 4000) | Optional |
Accepts text symptoms, duration, severity, and optional skin or visible-symptom images. Gemini reasons across all inputs in JSON mode to return a ranked list of predicted conditions with probabilities, urgency level (🟢 Mild / 🟡 Moderate / 🔴 Emergency), a triage recommendation (Home Care / See a Doctor / Go to ER), and the best-fit specialist. History is persisted to the symptom_analysis_history table and surfaced as trends on the health dashboard.
Upload a PDF or image lab report and receive a structured breakdown at the individual component level (e.g. Glucose, Hemoglobin). Each row shows the observed value, reference range, status (Normal / High / Low), AI insights, urgency tag, actionable next steps, related conditions, and a sparkline trend from previous reports. An abnormal count and overall risk level are surfaced at the top. Users can annotate reports with pinned notes and generate secure share tokens with configurable expiry.
A unified workspace lets users switch between prescription analysis and medicine image lookup without losing context. Prescriptions are OCR-extracted via Gemini Vision, simplified into plain-language instructions, and cross-checked against the user's drug interaction history. Medicine searches support both text and image input, returning dosage, side effects, and contraindication summaries — all stored in prescription_history and medicine_history.
Niraksh AI streams responses via Server-Sent Events (SSE) with typed event frames: ack → chunk → meta → done / error. The frontend renders incremental chunks live, shows a typing indicator, and persists partials to IndexedDB for recovery on disconnect. Conversations support image attachments for visual health queries and load locale-specific prompts based on the user's stored language preference. Full chat history is searchable and downloadable.
After symptom analysis, Gemini returns a ranked list of specialisations with clinical reasoning. The backend queries the Doctors table filtered by specialisation, location, consultation fee, and availability, then returns a ranked shortlist. Doctor profiles include years of experience, bio, contact info, and profile images served via Cloudinary CDN.
Users can look up any disease to get AI-generated content: description, symptoms, causes, prevention, treatment, and when to see a doctor. Results are cached in the disease_info_cache table per topic + language combination with a 30-day TTL, eliminating redundant Gemini calls. A ?refresh=true param forces regeneration. The medicine explorer supports name search and image-based lookup with side-effect and contraindication summaries.
A centralised timeline of all health activity: symptom checks, medicine lookups, lab reports, prescriptions, and AI chat sessions. A running Health Risk Score (0–100) is computed from cumulative data and shown prominently. The dashboard surfaces 'Most Frequent Issue' and 'Last Checked Symptoms' trends. Emergency Mode is one click away — triggering Redis Pub/Sub alerts to stored emergency contacts via AWS SES and SNS alongside first-aid context.
Primary AI calls route to Google Gemini. On error or rate-limit the system falls back to a locally-hosted FastAPI microservice running a lightweight inference model. If both fail, a graceful degraded response is returned with any available cached data flagged as partial. Fallback rate is monitored and alerts fire if it exceeds 10% of total AI calls. The frontend applies exponential backoff on SSE reconnection and resumes streams using a requestId.
All tokens are stored hashed in PostgreSQL. JWTs use short-lived access tokens with silent rotation via hashed refresh tokens. Redis blacklists revoked tokens until expiry. Passwords are bcrypt-hashed. Helmet and CORS headers are enforced on all routes. Zod validates every request body. PII is never logged; media is stored on Cloudinary with secure API uploads and CDN delivery over HTTPS.
Contributions are welcome from both healthcare professionals and engineers. Medical content changes require review by a qualified professional before merge. Run pnpm lint and pnpm test before submitting a PR, and follow the ADR docs in docs/adr/ for architectural decisions.
Licensed under the MIT License. This application is for informational purposes only and does not constitute medical advice. Always consult a qualified healthcare professional for diagnosis and treatment decisions.