DEVLOPN Audit

SOLID in Flutter — principles written into CI, not into a wiki

An app that survives three years in production is not about the latest framework but about respected boundaries. SOLID applied concretely in Flutter.

Spoiler: the only truly SOLID thing in my projects is my principles.

People often ask me about the latest trendy tech. I look first at whether the architecture stands up. An app that lasts three years in production isn't about a recent framework. It's about respected boundaries.

Your architecture should be SOLID — Clean Architecture that survives three years in production

In my Flutter projects, concretely

  • S — Each Bloc manages one state, not three. One class, one job. Debugging at 11pm, you know where to look.
  • O — I add a feature without reopening the business core. Open to evolution, closed to regressions.
  • L — My implementations honour their contracts. A repository that lies about what it returns is a time bomb.
  • I — Precise ports on the domain side, not a catch-all interface nobody dares to touch.
  • D — The business logic knows neither the network nor the database. It depends on abstractions, and get_it wires them at startup.

The rule lives in the pipeline

So this doesn't stay wishful thinking, a script checks these boundaries in CI. The rule isn't in a document nobody reads. It's in the pipeline, and it breaks the build if you cross it.

What about you — where are your principles written: in a wiki, your agents, or your CI?