Back
Forecastify icon

Forecastify

Simple iOS weather app for daily weather updates with radio-style messages using on-device LLM. Simple notification app with real-time weather data.

Forecastify iOS app screenshot

Key Features

Weather Intelligence

  • • Real-time weather forecasting with temperature, precipitation, and timing
  • • Automatic location detection or manual city input with geocoding
  • • Daily scheduled notifications with customizable timing
  • • Weather alerts with severity-based categorization
  • • Offline data caching with 30-minute expiration

AI Integration

  • • AI-powered natural language weather descriptions using CoreML
  • • On-device machine learning with OpenELM-270M model
  • • Radio-style message generation for engaging notifications
  • • Fallback string templates when AI generation fails
  • • Personalized weather descriptions based on user preferences

Technical Stack

Frontend & UI

  • • SwiftUI + Combine for reactive UI architecture
  • • Modern iOS-native UI with pull-to-refresh
  • • Error handling with user-friendly messages
  • • Responsive design optimized for iOS 16.0+
  • • Modern Swift concurrency patterns

Backend & Services

  • • CoreLocation for GPS and geocoding services
  • • UserNotifications framework for scheduled notifications
  • • OpenWeatherMap One Call API 3.0 for weather data
  • • URLSession with async/await for network requests
  • • UserDefaults for local caching and preferences

Architecture

Design Pattern

  • • MVVM pattern with ObservableObject for state management
  • • Service layer abstraction (WeatherService, LocationService, NotificationService)
  • • Reactive programming with Combine for data binding
  • • Modular design with separate models, views, and view models

ML Pipeline

  • • CoreML model conversion pipeline for OpenELM-270M
  • • Handles complex weather alert severity classification
  • • Manages location permissions and authorization states
  • • Optimizes API usage within OpenWeatherMap's 1,000 calls/day limit

Technical Highlights

Performance & Reliability

  • • Efficient caching strategy reduces API calls
  • • Graceful degradation when services are unavailable
  • • Comprehensive error handling with user-friendly messages
  • • Background notification scheduling with early data fetching

User Experience

  • • Modern iOS-native UI with intuitive interactions
  • • Pull-to-refresh functionality for manual updates
  • • Comprehensive error handling with user-friendly messages
  • • Optimized for iOS 16.0+ with modern Swift concurrency

AI Integration Details

  • • Implements CoreML model conversion pipeline for OpenELM-270M
  • • Handles complex weather alert severity classification
  • • Manages location permissions and authorization states
  • • Optimizes API usage within OpenWeatherMap's 1,000 calls/day limit
  • • Provides fallback string templates when AI generation fails
  • • Implements background notification scheduling with early data fetching