Skip to content

feat: add Clear Skies sample app for Shorebird FlutterCon live demo#30

Merged
AbhishekDoshi26 merged 19 commits into
mainfrom
feat/shorebird_weather
Jul 9, 2026
Merged

feat: add Clear Skies sample app for Shorebird FlutterCon live demo#30
AbhishekDoshi26 merged 19 commits into
mainfrom
feat/shorebird_weather

Conversation

@AbhishekDoshi26

Copy link
Copy Markdown
Member

Description

This PR introduces Clear Skies, a beautifully designed, premium weather application built entirely from scratch to serve as a high-impact live demo for Shorebird at FlutterCon USA.

The app features an immersive glassmorphic UI, dynamic time-of-day background gradients, and zero-click onboarding utilizing native reverse-geocoding. Most importantly, this baseline release contains intentional, highly-visual bugs tagged with TODO(Demo) specifically meant to be patched live over the air during the Shorebird stage presentation.

✨ Key Features

  • Premium Glassmorphic UI: Built with heavy use of BackdropFilter and refined typography (google_fonts Outfit and Inter).
  • Dynamic Backgrounds: The UI automatically shifts between a vibrant daylight gradient and a deep midnight blue based on local weather time.
  • Zero-Click Onboarding: Integrates geolocator and geocoding for native GPS coordinate retrieval and reverse-geocoding to display actual city names automatically.
  • Popular Destinations Fallback: Elegant chips for instant 1-tap weather forecasts if location is disabled.
  • Persistent Favorites: Save most-visited cities to a horizontal scrollable list, persisted locally via shared_preferences.
  • Robust Architecture: Highly optimized, 60 FPS widget tree utilizing flutter_bloc for scalable state management.

🐛 The "FlutterCon" Bugs

Note: These bugs are intentional and meant to be shipped in the baseline APK.

  • The Toxic Gradient: The daytime background gradient is currently a jarring, horrible mixture of Neon Green, Toxic Yellow, and Bright Red (app_colors.dart).
  • The Typos: The app name and welcome strings say "Unclear Skies - Discover the world's worst weather" (app_strings.dart).
  • The Antarctica Bug: Tapping the "Tokyo" popular destination chip actually requests the weather for Antarctica (welcome_hero_widget.dart).

During the demo, the presenter will simply search for TODO(Demo), revert these 3 files, and run shorebird patch android to fix the production app live in front of the audience.

🛠 Tech Stack

  • flutter_bloc & bloc
  • geolocator & geocoding
  • shared_preferences
  • http (fetching from Open-Meteo API)
  • google_fonts

🧪 Testing

  • The app includes a robust suite of over 70+ automated widget and unit tests ensuring stability across the bloc layer and the UI.
  • All tests currently pass, mimicking a scenario where visual/logical bugs slip past CI/CD undetected.

…eractive destination chips to the welcome screen
@AbhishekDoshi26 AbhishekDoshi26 merged commit 2159a15 into main Jul 9, 2026
12 checks passed
@AbhishekDoshi26 AbhishekDoshi26 deleted the feat/shorebird_weather branch July 9, 2026 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants