Project Info
This project did not submit a demo video on Devpost.
Inspiration
One of our team members' grandmothers suffers from dementia. While we saw that there were already a lot of resources designed to help people with dementia, we wanted to expand on them and apply artificial intelligence to assist with memory and communication.
What it does
It utilizes an AI voice assistant to increase the amount of conversational interactions, which is proven to assist memory retention and behavioral retention in dementia patients. We also implemented a caregiver system to better connect dementia patients and their caregivers.
How we built it
We built this using React for the frontend and Tailwind CSS for the styling. For the backend and database, we used Node and Firebase.
Challenges we ran into
We ran into challenges when trying to link a patient account to a caregiver account. Implementing the Vapi API for the voice assistant was also a challenge because the UI formatting to see what the user was saying and what the AI was saying was quite stubborn.
Accomplishments we're proud of
We're proud of the clean and simple UI we were able to make, as well as the various different features such as daily wrap up and memory log. We believe these various features give users a more customizable experience with the app.
What we learned
We learned how to work better as a team and work under time pressure. We effectively split up the work to make ourselves more efficient.
What's next
We want to implement an AI agent using Fetch.ai to make the refill perscription and call doctor features fully functional.
ReMindr - Memory Assistant for Dementia Care
A comprehensive voice-powered assistant app designed specifically for people with dementia and their caregivers. The app features role-based authentication, location services for emergency situations, and separate interfaces optimized for patients and caregivers.
Features
Authentication & Role Management
- Role-Based Login: Separate interfaces for patients and caregivers with email/password authentication
- Patient Interface: Voice-first design with memory assistance and emergency features
- Caregiver Interface: Dashboard to monitor multiple patients with location tracking
- Secure Session Management: Persistent login with secure logout functionality
Patient Features
- Voice Interface: Large, accessible voice interaction button with real microphone recording
- Memory Journal: Record and save important thoughts and memories with persistent storage
- Emergency Contacts: Manage and call emergency contacts with persistent storage
- Smart Reminders: Medication, appointment, and task reminders with persistent storage
- Daily Tasks: Simple task management with visual progress tracking and persistent storage
- Emergency Caregiver Contact: Non-emergency button to contact nearest caregiver with location sharing
Caregiver Features
- Patient Dashboard: Monitor multiple patients from a single interface
- Real-time Location Tracking: View current location and status of each patient
- Activity Monitoring: Track patient activity, medication compliance, and app usage
- Emergency Notifications: Receive alerts when patients need assistance
- Direct Communication: One-touch calling and messaging with patients
Data Persistence
- Local Storage: All user data (contacts, memories, reminders, tasks) is saved locally
- No Fake Data: Clean slate for new users - no pre-populated dummy data
- Automatic Saving: Data is automatically saved when added or modified
Accessibility Features
- Large, Clear Interface: Minimum 18px fonts with high contrast colors
- Simple Navigation: Bottom navigation with clear icons and labels
- Voice-First Design: Real microphone access for voice recording
- Visual Feedback: Clear state changes and loading indicators
- Consistent Layout: Predictable interface reduces cognitive load
Technology Stack
- Frontend: React 18 + TypeScript + Vite
- Styling: Tailwind CSS with custom accessibility-focused design
- Icons: Lucide React for consistent iconography
- Voice Recording: Web APIs (MediaRecorder, SpeechRecognition)
- Data Storage: localStorage for persistent data
- Location Services: Browser Geolocation API
Demo Credentials
Patient Login
- Email: patient@remindr.com
- Password: patient123
Caregiver Login
- Email: caregiver@remindr.com
- Password: caregiver123
Setup Instructions
Prerequisites
- Node.js 18+ and npm
Installation
-
Clone and Install
npm install -
Start Development Server
npm run dev
Voice Recording Implementation
The app now includes real microphone recording functionality:
- MediaRecorder API: Records actual audio from the user's microphone
- SpeechRecognition API: Provides live transcription during recording
- Permission Handling: Properly requests and handles microphone permissions
- Error Handling: Graceful fallbacks when microphone access is denied
Data Storage
All user data is stored locally using localStorage:
- Contacts: Emergency contacts with names, phone numbers, and relationships
- Memories: Text and voice memories with timestamps
- Reminders: Scheduled reminders with times and types
- Tasks: Daily tasks with priorities and completion status
Emergency Features
- Emergency Button: Direct 911 calling from the header
- Caregiver Contact: Non-emergency assistance button with location sharing
- Location Services: GPS tracking for emergency situations
AI Integration Placeholders
The app includes placeholders for AI integration:
Vapi AI Integration (Voice Processing)
- Voice recording infrastructure is in place
- TODO: Integrate with Vapi AI for speech-to-text and text-to-speech
- TODO: Implement voice command recognition
Fetch AI Integration (Action Processing)
- Task creation system is implemented
- TODO: Connect to Fetch AI for automated actions
- TODO: Implement phone calling, appointment scheduling, etc.
File Structure
src/
├── components/ # React components
│ ├── LoginScreen.tsx # Email/password authentication
│ ├── PatientApp.tsx # Patient interface wrapper
│ ├── CaregiverApp.tsx # Caregiver dashboard
│ ├── EmergencyButton.tsx # Emergency caregiver contact
│ ├── Header.tsx # App header with emergency button
│ ├── VoiceInterface.tsx # Voice recording component
│ ├── MemoryJournal.tsx # Memory recording with storage
│ ├── EmergencyContacts.tsx # Contact management with storage
│ ├── Reminders.tsx # Reminder system with storage
│ ├── DailyTasks.tsx # Task management with storage
│ └── Navigation.tsx # Bottom navigation
├── contexts/ # React contexts
│ ├── AuthContext.tsx # Authentication state management
│ ├── LocationContext.tsx # Location services
│ └── VoiceContext.tsx # Voice recording management
├── utils/ # Utility functions
│ └── api.ts # AI service integrations (placeholders)
├── App.tsx # Main app component with role routing
└── main.tsx # App entry point
Contributing
When contributing to this project, please consider:
- Accessibility First: All changes must maintain accessibility standards
- Simple Design: Keep interfaces simple and clear for users with cognitive challenges
- Voice Priority: Prioritize voice interactions over touch/click interactions
- Error Handling: Provide clear, gentle error messages and recovery options
- Privacy by Design: Consider privacy implications of all new features
- Data Persistence: Ensure all user data is properly saved and loaded
License
This project is designed for accessibility and care support. Please use responsibly and consider privacy implications when handling personal health data.
Analysis
View
Metric
- 1
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FirebaseIn code
- HTMLIn code
- JavaScriptIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Node.jsClaimed
7 of 8 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
217 KB
Source files
40
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
ishanroyyuru/ReMindr
53 files · 440 KB · @ 9b5dd59
Structure
Interface
18 files · 34%Screens, components and styles rendered to the user.
Application logic
25 files · 47%Domain rules, services and shared utilities.
+1 more
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript96%
- Markdown3%
- JavaScript0%
- HTML0%
- CSS0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 21- @vapi-ai/web
- date-fns
- firebase
- lucide-react
- react
- react-dom
- recharts
- +14 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.