One Flutter codebase, four apps: what sharing really saves
Engineering · 3 min read
The ClickToFood customer, rider, restaurant and hub apps are all built with Flutter. That does not mean they are one app with four skins. The saving comes from choosing carefully what to share.
Worth sharing
- The design system. Buttons, inputs, colours and type are built once, so every app looks like the same product.
- The API layer. One client and one set of models means an order looks the same in every app.
- The plumbing. Sign-in, notifications, error handling and analytics.
Not worth sharing
Screens and flows. A rider on a bike and a restaurant at a counter have different jobs, and forcing them through shared screens makes both apps worse.
The rule of thumb
Share what users never see, and design what they do see for each role.