Case study · Mobile
Multi-role Flutter app
Release candidate on sandbox (documented)
HomePro SG gives homeowners one place to find, request and book local home-service pros, and gives those pros a workspace for leads, jobs, schedules and repeat customers. Platform staff qualify and route requests. The release candidate covers the full request-to-job-to-appointment journey on a cloud sandbox.


- 98screenscustomer 38 · provider 38 · admin 8 · platform 1 · shared 13
- 20feature modulesdata, domain and providers layers
- 18CDK domain stacks103 Lambda-resolved operations
Overview
A Flutter app for web and mobile with four role domains (consumer, provider, admin, platform) and 98 typed routes. The data layer follows clean architecture: 20 feature modules with DTO, mapper and repository seams, Riverpod providers, and a single typed error seam so no raw wire strings reach the UI.
Authentication uses Cognito; authorisation is account-scoped through custom token claims minted by a pre-token-generation trigger. A runtime data-plane switch, fail-safe and remotely configured, moved the client from the original managed GraphQL API to a dedicated CDK-built one on the same user pool, with no re-login, keeping the original as a rollback plane.
A token-based design system and slotted screen layouts unify 98 screens. Delivery ran as four contract-gated workstreams under a coordinator, ending in a documented release candidate on the sandbox backend.
Visual evidence




