
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.

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