Inspiration

We wanted to create a weather app that doesn’t take itself too seriously. The classic “Weather Stone” gag has always been a fun way to poke fun at traditional forecasts, so we combined that wit with real weather data to keep it both whimsical and informative.

What It Does

WeatherPebble uses a “magic stone” to reveal current conditions in the most delightfully silly way possible:

  • Displays fun, random forecasts (like “Stone is wet => It’s raining!”).
  • Optionally, fetches live weather data from a real API to replace the stone’s forecast with actual conditions.
  • Animates the stone when it’s windy, showing a swinging rock to simulate the breeze.
  • Lets users switch between whimsical and real forecasts at the tap of a toggle.

How We Built It

  • Flutter: We developed a cross-platform mobile app ensuring smooth UI experiences on both iOS and Android.
  • WeatherAPI.com: For live weather updates, we integrate with their API to fetch real-time conditions based on the user’s location.
  • Geolocator: Used to get the user’s current position on mobile devices (with fallback to a default city if permissions are denied).
  • Dart: Shared business logic for mapping real weather conditions (e.g., “rain,” “snow,” “clear”) to funny stone forecasts (like “Stone is wet => It’s raining!”).

Challenges We Ran Into

  • Blending Real & Silly: Striking a balance between amusing forecasts and accurate data without confusing users was trickier than expected.
  • Location Permissions: Handling different OS permissions on Android and iOS required extra care to avoid crashes or user frustration.
  • Animation Tuning: Ensuring the stone’s swinging animation felt smooth and not overly distracting took some trial and error with Flutter’s animation APIs.

Accomplishments That We’re Proud Of

  • Polished UI: The stone’s swinging animation adds playful character while maintaining a slick user interface.
  • Seamless API Integration: Toggling between random Stone forecasts and real-world data is instant and intuitive.
  • Offline-Friendly: Even without an internet connection, the WeatherPebble app remains entertaining via random predictions.

What We Learned

  • Flutter Animations: We explored how to integrate AnimationController and Transform to rotate or oscillate widgets in fun ways.
  • Better UI/UX: We discovered small details—like “press in” animations on buttons or boxes—can significantly improve the feel of the app.
  • Location Handling: Location permissions differ between mobile platforms, and planning for graceful fallbacks is essential for a smooth user experience.

What’s Next for WeatherPebble

  • Additional Skins: Allow users to customize their stone’s appearance (e.g., “Poochy Stone,” “Fancy Rock,” or “Pixel Pebble”).
  • More Forecast Conditions: Expand comedic lines for unusual weather events (like hail, heat waves, or “Stone is floating => Flood!”).
  • Social Sharing: Let users share silly forecasts or real conditions with friends.
  • Community Contributions: Invite others to submit new “Stone” jokes or skins, turning WeatherPebble into a crowdsourced comedic weather platform.

Built With

Share this project:

Updates