Skip to case study

APPLICATION ARCHITECTURE / CI/CD

Puulse Marketing

A maintainable customer application and delivery workflow.

A Flutter Web customer application for a Canadian ISP, with shared architecture, automated tests, crash monitoring, and CI/CD ownership.

RESPONSIBILITY
Senior Flutter Developer
CONTEXT
Canada · Remote · Mar 2023–Jul 2024
Flutter WebRiverpodFreezedGoRouterDioFirebaseGitHub ActionsSentry

01 / CONTEXT

Build the application and its maintenance path.

I worked on the customer application within a remote product team, coordinating with API developers and designers to deliver functionality and maintain performance.

My scope included application architecture, testing, crash monitoring, and the deployment pipeline.

02 / ARCHITECTURE

Consistent state, navigation, and API access.

The application used Riverpod, Freezed, GoRouter, and Dio with code generation. Firebase supplied authentication and analytics, while application requests integrated with Cloud Run APIs.

My ownership was the application and its delivery workflow; the Cloud Run services were API dependencies.

ARCHITECTURE

Application integration boundaries

  1. APPLICATION
    • Flutter WebRiverpod · Freezed · GoRouter · Dio
    Identity and API integration
  2. SERVICES
    • FirebaseAuthentication · analytics
    • Cloud Run APIsProduct backend integration
The Flutter application consumes existing APIs while Firebase provides authentication and analytics.

03 / QUALITY

Testing and deployment belong in the same scope.

Unit, widget, and integration tests supported the application, with mockito and mocktail for dependencies and Sentry for crash monitoring.

I owned the GitHub Actions CI/CD workflow, reducing deployment effort by approximately 90% compared with the prior manual process.

04 / COLLABORATION

A contribution measured in team delivery.

The work involved collaboration across frontend, API, design, and project management. Shared architecture and automated delivery helped the team maintain the application.

Discuss the engineering.

Interested in the architecture, implementation decisions, or working together?

Get in touch