A simple Android app that detects if Mt. Rainier is visible from Seattle today
"Is The Mountain Out?" is a fast and snappy Android app built with Kotlin that answers the age-old Seattle question: Is Mount Rainier visible today?
The app provides:
- Simple Yes/No answer - Quick visibility status
- Live webcam image - Latest view from a local Seattle webcam
- Fast, responsive UI - Built with Kotlin for optimal performance
- Donation support - Buy Me a Coffee integration for supporter contributions
- Real-time mountain visibility detection
- Displays latest webcam footage
- Material Design UI
- Pull-to-refresh functionality
- Donation/support link
- Language: Kotlin
- UI Framework: Android SDK with Material Components
- Architecture: MVVM (Model-View-ViewModel)
- Async Operations: Kotlin Coroutines
- Video Rendering: ExoPlayer
- Networking: OkHttp
- Android Studio Arctic Fox or later
- Android SDK 24 or higher
- Kotlin 1.9.0+
-
Clone the repository:
git clone https://github.com/agorevski/IsTheMountainOut.git cd IsTheMountainOut -
Open the project in Android Studio
-
Sync Gradle files
-
Build and run on an emulator or device
# Build debug APK
gradlew assembleDebug
# Install on connected device
gradlew installDebug
# Run tests
gradlew test- Implement ML-based image recognition for actual mountain detection
- Add weather integration
- Historical visibility tracking
- Push notifications for clear days
- Widget support
Donation-based "Buy Me a Coffee" style support
This project is open source and available under the MIT License.
For detailed technical information, please see the docs directory:
- Architecture - System architecture and design patterns
- Build Guide - Detailed build instructions and requirements
- Testing Guide - Testing strategy and instructions
- Quick Test Start - Quick testing reference
- UI Design - UI/UX design specifications
IsTheMountainOut/
├── app/ # Android application module
│ ├── src/
│ │ ├── main/ # Main source code
│ │ ├── test/ # Unit tests
│ │ └── androidTest/ # Instrumented tests
│ └── build.gradle # App-level build configuration
├── docs/ # Documentation
│ ├── architecture.md # Architecture documentation
│ ├── build.md # Build instructions
│ ├── testing-guide.md # Testing documentation
│ ├── test-quick-start.md
│ ├── ui-design.md # UI specifications
│ └── images/ # Documentation images
├── gradle/ # Gradle wrapper
├── .editorconfig # Code formatting rules
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # MIT License
└── README.md # This file
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.