Full Feature Set
Authentication & Security
Email + password login, JWT sessions in Android Keystore, biometric lock (fingerprint/face), bcrypt password hashing, OTP password reset.
Profile Photos
Upload your profile photo via camera or gallery. Long-press to remove. Doctors' photos appear on all link and search cards.
Document Upload
Upload PDFs or photos. Shoot directly with camera or pick from gallery/files. Upload up to 10 files at once. Assign to yourself or a family member.
AI Processing
OCR extracts all text (including structured tables). Gemini AI generates plain-English summaries. Supports Regenerate Insights on any document.
Document Expiry Alerts
Blood test results flag as expiring after 6 months, prescriptions after 3 months. Home screen banner + coloured badge on the document card.
Smart Organisation
Filter by category, multi-select filter sheet, filter by family member, full-text search across all document content.
Smart Clusters
AI automatically groups documents by visit episode (±6 days apart), condition (all Thyroid records across all years), document type + month, and calendar month. Browse in the Clusters screen with four tabs.
Document Validation
Every upload is checked: (1) is this a health record? (2) does the patient name match your profile? Non-medical docs and name mismatches show an immediate warning after upload so you can act right away.
Family Profiles
Create profiles for family members. Documents can be assigned to each person and viewed separately.
Health Trends
Visual charts of numeric values extracted from documents (e.g. blood pressure, glucose). Tap the chart icon on the home screen.
Reminders & Vaccination
Set document-related reminders with local push notifications. Full WHO/India vaccination schedule (16 doses) with age-based reminders.
Doctor Network
Search and link with registered doctors. Share specific documents securely. Request a second opinion. Doctors view shared files from their patients.
Appointment Reminders
Set appointment reminders with push notifications for each linked doctor — accessible from your doctor's card.
Doctor Notes
Write private notes for each linked doctor (symptoms, questions to ask). Never shared with the doctor — visible only to you.
Share & Export
Share any document via WhatsApp, email, or any app. Export a full Health Summary PDF with all documents and AI insights.
Feature Details
🔐 Authentication & Biometric Lock
- Register with email and password. Passwords are never stored in plain text — hashed using bcrypt.
- Sessions use JWT tokens stored in Android's hardware-backed Keystore — inaccessible to other apps.
- The app locks automatically when minimised. Fingerprint or face recognition is required to reopen.
- If biometrics are not set up on the device, you'll see the option greyed out with instructions to enable it in device Settings.
📄 Document Upload
- Tap the + button on the home screen to upload.
- Choose from: Camera, Gallery, or Files.
- Multi-upload: select up to 10 files at once from gallery or file picker.
- Camera scan: shoot a document directly in the app — files over 10 MB are rejected with a clear error.
- Supported formats: PDF, JPG, PNG.
- Set a title, document type (Lab Report, Prescription, Invoice, Insurance, Imaging / X-Ray, Scan, Certificate, Other), and assign to a family member.
- Each document card shows a person name pill ("Self" or the family member's name) so you always know whose record it is at a glance.
- Processing happens in the background — you'll receive a push notification when the AI is done.
- Non-medical documents (receipts, certificates) are still accepted and flagged as "Non-Medical Document" in the AI summary.
🤖 AI Processing Pipeline
- Step 1 — OCR: Google Cloud Vision API extracts all text from your document image/PDF, with English language optimisation for accurate results.
- Step 2 — AI Summary: Google Gemini reads the extracted text and writes a plain-English summary including patient info, a structured table of lab results (with reference ranges & status), imaging/scan findings, and prescription details with dosage and frequency.
- Step 3 — Categorisation: AI automatically assigns the document to a category (Lab, Prescription, Imaging, etc.).
- Step 4 — Record Extraction: Key data points are extracted as structured records (dates, values, names, dosages).
- Step 4 — Validation: AI checks (a) whether this is a genuine health record — non-medical documents (receipts, invoices, certificates) are flagged immediately after upload, and (b) whether the patient name on the document matches your profile name — a mismatch shows the extracted name so you can decide what to do.
- Step 5 — Smart Clustering: The document is automatically assigned to all applicable clusters: episode (±6 days = same visit), condition (all Thyroid / Diabetes records across all years), type + month (all Blood Tests in March 2024), and calendar month.
- Regenerate Insights: On any existing document, tap the ⋮ (overflow) menu → Regenerate Insights. This also rebuilds clusters for that document.
- Wide tables (e.g. full lab panels) are horizontally scrollable on small screens.
- If old documents don't have a category, tap "Re-analyze Documents" on the empty category filter state.
🗂️ Document Management
- Home screen shows all documents as cards with thumbnail, title, date, category badge, and a person name pill showing who the document belongs to.
- Category filter chips (top of list) — tap to filter by Lab, Prescription, Imaging, Invoice, Insurance, Other. Tap the filter icon for a multi-select filter sheet to combine categories.
- Family switcher (top bar chips) — switch between "Mine" and each family member's documents.
- Search (magnifier icon) — searches across all AI-extracted text content, not just titles.
- Tap any search result to go directly to that document's detail page.
- Delete a document from the detail page — permanently removes the file, extracted records, and AI data instantly.
👨👩👧 Family Profiles
- Tap the account icon (top-right) → Add Family Member.
- Enter name and relation (Spouse, Parent, Child, Sibling, Grandparent, Other).
- During document upload, choose which family member the document belongs to.
- Switch between family members using the chips below the search bar on the home screen.
💉 Vaccination Reminders
- Access via ⋮ menu → Vaccination Reminders on the home screen.
- Add person profiles (yourself, children, parents, elderly relatives) — each with a name and date of birth.
- Contains a full WHO/India schedule with 16 standard doses — BCG, Hepatitis B, OPV, DPT, Hib, Rotavirus, PCV, IPV, Measles, MMR, Varicella, and more.
- Each vaccine shows the recommended age (e.g. at birth, 6 weeks, 9 months, 5 years).
- Tap any vaccine to set a local push notification reminder for the due date.
- Reminder data is stored securely on our servers, scoped to your account only — syncs automatically and is deleted when you delete your account.
⚠️ Document Expiry Alerts
- Blood test results are flagged as expiring after 6 months from the upload date.
- Prescriptions are flagged as expiring after 3 months.
- The home screen shows an orange "Attention Needed" banner listing documents that are expiring soon or already expired — tap any row to go directly to that document.
- A coloured badge also appears on the document detail screen.
- These are reminders to renew/update — the app does not prevent access to any document.
👨⚕️ Doctor Network
- For patients: tap the stethoscope icon (top bar) → My Doctors.
- Search for doctors by name, specialty, or clinic — tap Link with Doctor to send a request.
- Once the doctor accepts, the link becomes Active and you can share documents.
- Share a document — open any document → tap Share with Doctor → pick your linked doctor → add an optional message.
- Toggle "Request Second Opinion" to flag the document for a second medical view.
- For doctors: register via Account → Doctor Profile. Tap the stethoscope icon → Doctor Hub to view patient links and shared files.
- Doctors can browse all documents shared with them, categorised by patient.
📅 Appointment Reminders
- From My Doctors screen, tap the Appointment chip on any active doctor card.
- Pick a date and time — a local push notification is scheduled for that appointment.
- Each doctor can have multiple reminders. Manage them from the same screen.
- Reminders are stored locally and never sent to the cloud.
🗒️ Doctor Notes
- From My Doctors screen, tap the Notes chip on any active doctor card.
- Write private notes — symptoms, questions to ask, things to remember for your next visit.
- Notes are never visible to the doctor. They are entirely private to you.
- A preview of your latest note is shown on the doctor card.
- Notes are stored locally on your device only — they are never uploaded to our servers.
🖼️ Profile Photos
- Tap the account icon (top-right) to open the Account sheet — your avatar circle is at the top.
- Tap the avatar to choose: Take Photo (camera) or Choose from Gallery.
- Long-press the avatar to remove the photo and revert to the default icon.
- Doctors upload their photo via Account → Doctor Profile — the avatar picker is at the top of the form.
- Doctor photos appear on their card in your My Doctors list and in the doctor search results.
- Photos are stored securely in Google Cloud Storage — never public.
📄 Health Summary PDF
- Tap the account icon → Export Health Summary PDF.
- Generates a full A4 PDF with your document list, AI insights, and health stats.
- Share via WhatsApp, email, or save to your device.
- Useful for taking a summary to a doctor's appointment or keeping an offline backup.
🧠 Smart Clusters
- Access via the cluster (grid) icon in the home screen top bar → Smart Clusters.
- Four tabs: All, Condition, Type, Episode.
- Episode clusters: documents with dates within ±6 days of each other are grouped as the same visit or treatment course.
- Condition clusters: every document tagged with the same disease (Thyroid, Diabetes, Hypertension, Anaemia, etc.) is grouped across all years. This is the "show my doctor my entire Thyroid history" view.
- Type clusters: all documents of the same type (Blood Test, Prescription, Imaging) within a month are grouped — useful for tracking progression over time.
- Month clusters: all documents dated within the same calendar month are grouped for a chronological view.
- A document can belong to multiple clusters simultaneously.
- Tap any cluster to see all its documents. Tap the timeline icon (top-right) for a full chronological timeline across all clusters.
- Clusters are built automatically — nothing to configure.
✅ Document Validation
- Every uploaded document is automatically validated on two criteria immediately after OCR.
- Health record check: AI determines if the file is genuine medical content. Invoices, receipts, certificates, and other non-medical files are flagged with a warning dialog right after upload — the file is still saved but marked for review.
- Name match check: AI extracts the patient name from the document and compares it to your registered full name. If they don't match, a warning dialog shows the extracted name so you can verify or delete it.
- Both issues appear as a coloured banner on the document's detail screen with an explanation dialog.
- The home screen shows an amber "N documents need your review" banner when any documents are flagged — tap it to go to those documents.
- Why this matters: accidentally uploading someone else's document or a non-medical file won't pollute your medical history or smart clusters.
✏️ Your Profile Name
- Your full name is required for document validation — it's how AI knows whether uploaded documents belong to you.
- Set it during registration (the first field: "Full name as on your health records").
- Existing users who registered before v1.6.0 will see a one-time prompt on first login asking for their name.
- Change it anytime: tap the account icon → Edit Name.
- Use the exact name as it appears on your medical records (e.g. "Rambabu Kokkiligadda", not a nickname or abbreviation).
Security Architecture
| Layer | Technology | Details |
|---|---|---|
| Auth tokens | Android Keystore | Hardware-backed secure storage, encrypted, app-isolated |
| Passwords | bcrypt | Never stored in plain text, salted hash only |
| API transport | HTTPS / TLS 1.2+ | All network traffic encrypted in transit |
| File storage | Google Cloud Storage | Private bucket — no public URLs, signed URLs only |
| Database | Google Cloud SQL (PostgreSQL 15) | Encrypted at rest, isolated per user at DB level |
| Backend | Google Cloud Run | Serverless, auto-scaling, Mumbai region (asia-south1) |
| Data isolation | Row-level security | Users can only ever access their own records |
Infrastructure
- Mobile App: Flutter 3.x (Android)
- Backend API: Node.js + TypeScript on Google Cloud Run (Mumbai — asia-south1)
- Database: PostgreSQL 15 on Google Cloud SQL
- File Storage: Google Cloud Storage (private bucket)
- OCR: Google Cloud Vision API
- AI Summaries: Google Vertex AI (Gemini)
🗑️ Delete Account & Data
You have full control over your data. Delete individual documents instantly from the document detail page, or delete your entire account via Account → Delete Account — all data is removed immediately and irreversibly.
📄 See the full breakdown of what gets deleted and the email request option on the Data Deletion page →
Known Limitations (v1.9.6)
- iOS version not yet available — Android only
- Smart Clusters are built at upload time — existing documents uploaded before v1.6.0 won't have clusters until regenerated (⋮ menu → Regenerate Insights on each document)
- Name matching uses word-overlap — very short names (<3 characters) may not match reliably; use your full name as it appears on your records
- Trends require at least 2 documents with numeric values to display charts
- AI processing requires an active internet connection
- Very large PDFs (>20 MB) may take longer to process
- Camera scan files over 10 MB are rejected — use gallery or compress the image first
- Vaccination reminder notifications require the exact alarm permission to be granted on Android 12+ (the app will prompt you)
- Profile photos require camera permission to take a photo (the app will prompt you on first use)
- Expiry thresholds are based on upload date — not the date printed on the document
- Doctor Network requires both patient and doctor to use the app; doctors must complete their profile first