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/.