Projects
Overview
DotzLink is a notification-monitoring platform: an Android application captures notifications on the device, filters out what is irrelevant, sends the remainder to a backend for classification, and pushes genuinely meaningful events back to the user.
The hard part of this problem is on the Android side rather than the model side. Reading notifications requires a special permission the user has to grant themselves in system settings, and the background process has to survive battery-saving behaviour that differs from manufacturer to manufacturer. An event-monitoring app the system kills after a few hours monitors nothing.
AI classification is handled by the backend; the Android client integrates with that service rather than training or running models on the device.
Projects
Scope of work
- Native Android application
- Operating-system Notification Listener integration
- Permission onboarding flow
- Background service and real-time notification capture
- On-device filtering before transmission
- API integration with the AI classification backend
- Push notifications
- Web interface for reviewing events
Role
Responsibilities
Android Developer / Software Engineer
- Native Android application development
- Notification Listener integration and permission onboarding
- Background processing and real-time notification capture
- Filtering logic
- API integration with the AI classification backend
- Push notifications for meaningful events
- Testing and production reliability work
Projects
Key features
Real-time notification capture
The app registers with the operating system Notification Listener and receives events as notifications appear, rather than polling.
Filtering before transmission
Most notifications on a phone are noise. Filtering sits on the device to reduce what is transmitted and what the classification step has to handle.
AI classification via backend
Filtered notifications are sent to the backend for classification. The client integrates with that service over an API — no model runs or is trained on the device.
Permission onboarding
Notification access must be enabled by the user in system settings. The app walks through it step by step and re-checks the permission state, because it can be revoked at any time.
Background reliability
The background service is handled to survive the differing battery-saving behaviour across manufacturers — the single most time-consuming part of the application.
App and web
Events are surfaced both in the app and in a web interface, so reviewing them on a larger screen does not mean picking up the phone.
Architecture & technologies
Engineering challenges
Notification access permission
A sensitive permission that cannot be granted from an ordinary dialog — it goes through system settings and can be switched off again. The app has to guide it clearly and keep re-checking the state.
Keeping a background process alive
Every Android manufacturer manages battery differently and will happily kill a background process. Keeping the service running is the hardest part and has to be tested on real devices across brands.
Volume and noise
A single device can produce a great many notifications a day. Without on-device filtering, both the network path and the classification step spend most of their work on noise.
Privacy
Notification content is personal data. The rule applied is to process only what classification needs — and no user notification content appears anywhere on this page.
Projects
Outcome
- An Android application capturing and filtering notifications in real time
- Events classified through the AI backend and pushed back to the user
- A background service running reliably across differing manufacturer battery policies
- Events reviewable in both the application and a web interface
Projects
Project images
Android application Web interface
Services
Related services
- Mobile app development
iOS and Android apps built around one job your business needs done well.
- Digital transformation
Fix the one process leaking the most time first, then expand from proof.
- Custom software development
Software shaped to how your company actually runs, with the source code yours.
