Mobile · Case study
Productivity companion
Cross-cutting features across accounts, notifications, and deep links—implemented with testable layers and pragmatic state management.
- Dart
- GoRouter
- Dio
Context
Problem
Accounts, notifications, and deep links were spreading logic across screens, making regression risk high as features grew.
Audience
User
End users who expect reliable sign-in, timely notifications, and links that open the right screen every time.
Approach
Solution
Layered Dart modules with clear repository boundaries, GoRouter for deep links, and Dio-backed networking with testable adapters.
Capabilities
Key features
- Account and session boundaries
- Notification entry points that route correctly
- Deep-link coverage for primary journeys
Hard parts
Challenges
- Cold-start routing vs authenticated redirects
- Keeping network and auth errors actionable in UI
- Regression safety without bloating the test suite
Outcome
Impact
Cross-cutting features stayed isolatable; new journeys could hook into routing and accounts without rewriting shared glue.
Stack
Tech choices
Dart / Flutter
Aligned with the product’s mobile delivery path.
GoRouter
Declarative routes and deep-link handling for nested journeys.
Dio
Interceptors and typed clients for auth and API error contracts.
Gallery
Screenshots
Screenshots for Productivity companion will appear here when assets are added under public/projects/.