Smart TV
Open Source

Smart TV Geo-Aware Weather Dashboard

DartFlutterOpenWeatherMap APIGeoJS APIdotenv

A native Flutter application engineered for Android TV. It leverages automated IP-based geographic resolution to instantly deliver localized meteorological data, utilizing a spatial D-Pad navigation matrix designed specifically for hardware remotes.

Tech Stack

DartFlutterOpenWeatherMap APIGeoJS APIdotenv

System Metrics

Zero-latency focus transitions achieved by minimizing widget rebuilds during rapid D-Pad navigation
Strict timeout constraints prevent infinite splash-screen hangs on degraded or offline network connections
Optimized layout rendering utilizing `FittedBox` and `Flex` constraints to guarantee consistent, pixel-perfect scaling across diverse 1080p and 4K television panels

Why Did I Build This?

"Standard weather applications on Smart TVs are frequently clunky mobile ports that fail to utilize D-Pad navigation correctly and require tedious manual city searching via on-screen keyboards. I engineered this native application to eliminate user friction entirely. By implementing an aggressive IP-based geo-location sequence during the splash phase, the application instantly resolves the user's specific Turkish region and city. This allows the TV to bypass setup screens and immediately display relevant forecast data without requiring a single remote control click."

Architecture & Decisions

Built with Flutter and rigidly locked to landscape orientation for TV displays. The architecture relies on a decoupled, state-driven UI where spatial focus management is handled explicitly for hardware D-Pads via `InkWell.onFocusChange` and implicit `FocusNode` trees. Network pipelines (`http`) are dispatched asynchronously, parsing raw OpenWeatherMap JSON payloads directly into localized UI states. The boot sequence features a strict 4-second timeout-bounded HTTP request to `geo.json` for IP resolution, ensuring the application fails gracefully to a default state (Marmara/Istanbul) rather than locking up the UI if the network drops.

Key Features

  • 01.Zero-click onboarding via automated IP-to-Region geographic resolution
  • 02.Spatial D-Pad navigation matrix optimized for Android TV remote controls
  • 03.Asynchronous integration with the OpenWeatherMap 5-day forecast API
  • 04.Graceful network fallback mechanisms with strict asynchronous timeout boundaries
  • 05.Hardware-accelerated UI animations (`AnimatedContainer`, `FadePageRoute`) intrinsically tied to hardware focus states
This project perfectly demonstrates how to build fluid, non-touch interfaces for the living room. Interfacing with Android TV requires abandoning mobile touch paradigms; therefore, the entire UI is constructed around focus states rather than tap events. By combining this specialized hardware navigation with instant, API-driven geographic resolution, the application provides an enterprise-grade, zero-configuration user experience tailored strictly for immediate data consumption on large displays.