A senior-friendly Android app that remembers who wrote each message and what it was about, with a smart on-device calendar and accessibility-first UI.
Flutter Dart Riverpod Android NotificationListener Python scikit-learn SharedPreferences flutter_tts speech_to_text
- Automatic capture from WhatsApp, Telegram, and SMS (Android notifications)
- Manual message cards with voice input
- On-device gist summaries (no cloud AI required)
- Smart calendar from meeting and call phrases in messages
- Scam and spam detection with risk scoring
- Fuzzy search with typo tolerance
- Large text, high contrast, and read-aloud accessibility modes
- English and Russian UI (follows phone language by default)
- Insights dashboard and anonymized research export
- Erase-all-data privacy control
- Install the app and complete onboarding
- Enable notification access in Android Settings
- New messenger notifications appear as memory cards automatically
- Tap a card to read the gist, full text, and suggested action
- Open Calendar for scheduled calls and visits parsed from messages
- Use Settings to adjust text size, language, and accessibility options
flutter pub get
flutter runAndroid: Settings โ Notification access for this app.
All message data stays on the device. Gists use the bundled ML model only. Research export anonymizes names and phone numbers.
During this project I built a full mobile pipeline from notification capture to NLP classification:
- ๐ฑ Flutter app: accessibility-focused UI, Riverpod state, local persistence
- ๐ค On-device ML: TF-IDF + logistic regression trained in Python, shipped as JSON assets
- ๐ NLP calendar: rule-based time parsing plus a schedule classifier head
- ๐ก Safety layer: scam heuristics, evidence spans, and gist correction analytics