CogniCare
Nov 2024 · Team of five · Mobile + backend · by Abhiyan Khanal
A mobile app that helps people living with dementia and the people caring for them get through the day more safely. Caretakers manage medicines, appointments, notes and a safe zone around home; patients get a simple home screen, one-tap emergency contacts and a friendly voice companion to talk to.
Source on GitHubWatch the demo video



Features
- Caretaker tools for medicines, appointments, notes and emergency contacts
- Live patient location on a map with a circular safe zone and an alert when the patient leaves it
- Patient home screen with reminders and one-tap emergency calling
- Voice and text companion that listens, answers and speaks back
Two apps in one
Dementia care involves two very different users, so the Flutter app has two separate experiences after login. The caretaker side is a dashboard for managing someone else's day. The patient side is deliberately small and calm: large controls, today's medicines, appointments and notes, and a way to call for help.
Caretaker side
- Add and edit the patient's medicines (name, dosage, frequency), appointments and reminder notes, which then appear on the patient's screens.
- Set an emergency contact for the patient.
- See the patient's live position on an OpenStreetMap-based map (flutter_map), place the patient's home with a draggable marker and set the radius of the safe zone around it.
Patient side and safety
- A background service keeps reporting the patient's location while the app is closed. Each update goes to the backend's geofence endpoint, which replies whether the patient is outside the safe zone; if they are, the app plays an alert.
- Home, medicines, appointments and notes screens fetch the patient's data from the API; emergency contact calling uses the phone dialler.
Voice companion
The companion is meant to reduce loneliness and confusion. The phone streams microphone audio over a WebSocket to the Django backend, which forwards it to Deepgram for live speech-to-text. The transcript goes to a Groq-hosted language model, via LangChain, with a system prompt that keeps replies gentle and simple, and the answer is spoken back with Deepgram text-to-speech. The app also has a typed chat built on a chat UI package.
Backend
- Django 4.2 with Django REST Framework and token authentication.
- A custom user model with Caretaker and Patient subclasses; a caretaker can be linked to several patients. Patient records hold medicines, appointments and notes as JSON fields that are validated on save, along with coordinates, a home location and a safe-zone radius.
- A contacts app with photo uploads, and Django Channels WebSocket consumers for chat and speech transcription.
- The API is documented as a Bruno request collection.
Tech stack
More projects by Abhiyan Khanal
- Gantabya: Started at KU HackFest 2024 · Team project · Full stack
- Janakpur Fish House: Client project · Web · Live at janakpurfishhouse.com
- कानुन साथी (Kanun Sathi): Jan 2026 · Team of four · AI / full stack
- Evolutionary Creatures: Jun – Aug 2024 · Team of two · C++ simulation
- Hamro Bus: Oct 2024 · Team project · Web, built in a few days
- DDA Drug Registration Portal: Jan 2026, revamped Nov 2026 · Team of four · Full stack