GaugeWatcher
Discover reliable river gauge flow data with GaugeWatcher, perfect for river enthusiasts, fishermen, and environmental researchers. Use your current location to find nearby river gauges or manually search and view results on an interactive map. Stay informed with near real-time river flow information through a user-friendly interface, making your river adventures more enjoyable and informed.
Features
- Near Real-Time Data: View the latest river gauge flow data from the USGS National Water Information System and the Environment Agency of Canada.
- Interactive Map: Search for river gauges by location or manually navigate the map to find the data you need.
- Favorites: Save your favorite river gauges for quick access to the latest data.
Why
I created GaugeWatcher to provide a simple and intuitive way to access river gauge data. There are other apps that provide similar data, but they are often cluttered with unnecessary features or difficult to navigate. GaugeWatcher aims to be easy to use and focused on the most important information. No fluff. Just the data you need.
I also wanted to get more experience with SwiftData, and the latest versions of MapKit/CoreLocation. I've been using Core Data for a while, but I wanted to try something new. SwiftData is a huge step forward in creating offline-first apps, and I'm excited to use it in more projects.
Technologies
- Swift: The app is written in Swift, Apple's programming language for iOS and macOS.
- SwiftUI: The user interface is built using SwiftUI, Apple's modern declarative framework for building user interfaces.
- SwiftData: The app uses SwiftData, the successor to Core Data, for managing the app's data and persistence.
- MapKit: The app uses MapKit to display an interactive map with river gauge locations.
- Core Location: The app uses Core Location to determine the user's current location and find nearby river gauges.
- WeatherKit: The app uses WeatherKit to display the current weather conditions at gauge locations.
among others.