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.

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?