Dart Weather began with a practical question: a forecast can tell you what is happening in one place, but what weather will you encounter along the way? We wanted to connect local conditions, moving precipitation and route forecasts in an experience that feels clear at a glance and rewarding to explore.
We built the phone experience in Flutter, with shared Dart weather and route logic. A shared Kotlin rendering layer powers native Android Auto screens. This architecture lets the surfaces share weather intelligence while respecting the interaction patterns of phones, foldables and cars.
One of our biggest lessons was that consistency does not mean making every screen identical. An unfolded Galaxy benefits from side-by-side information; a car display needs concise native templates; tabletop use calls for accessible playback controls. Each surface needs its own composition while preserving the same weather story.
The hardest challenges involved continuity: keeping radar imagery geographically aligned during resizing, preserving the selected time across layout changes, handling incomplete weather data honestly, and maintaining consistent animation timing across displays. Physical testing also exposed issues that emulators alone could not reveal, including large-text clipping, thermal limits and Android Auto density changes.
Those lessons shaped the project’s central design principle: make complex weather easier to understand through thoughtful spatiotemporal presentation.


Log in or sign up for Devpost to join the conversation.