Most ISS trackers tell you WHEN it passes overhead, but ours uses AI to predict if you'll ACTUALLY see it. Our machine learning model analyzes weather patterns, cloud cover, and atmospheric conditions to give you a visibility probability. Watch - it's currently 73% likely you'll see the ISS in tonight's pass!
A machine learning enhanced International Space Station tracker that doesn't just show you when the ISS passes overhead, but predicts if you'll actually see it.
Unlike traditional ISS trackers that only show location and pass times, our AI analyzes:
- Real-time weather conditions (cloud cover, humidity, wind)
- Light pollution levels (customizable by location)
- ISS elevation angle (higher = better visibility)
- Atmospheric clarity (combined weather factors)
Result: Get a 0-100% visibility probability for each ISS pass, so you know when it's actually worth going outside!
- Live ISS Tracking: See the space station moving across Earth in real-time
- Interactive World Map: Dark-themed map with animated ISS marker
- Smart Notifications: AI ranks upcoming passes by viewing quality
- Distance Calculations: Know exactly how far the ISS is from you
- Weather Integration: Current atmospheric conditions affect predictions
- Space-themed Design: Dark gradient backgrounds with glowing elements
- Responsive Interface: Works perfectly on desktop and mobile
- Real-time Updates: ISS position updates every 10 seconds
- Animated Visualizations: Smooth transitions and engaging animations
- AI Status Indicators: Live feedback on machine learning analysis
- Machine Learning Model: Random Forest classifier trained on atmospheric physics
- Multiple Data Sources: NASA APIs + weather data + orbital mechanics
- Real-time Processing: Instant predictions with sub-second response times
- Educational Value: Shows how AI can solve practical astronomy problems
- Python 3.8 or higher
- Basic knowledge of Flask and HTML/JavaScript
- Internet connection (for APIs)
# Create project directory
mkdir ai-iss-tracker
cd ai-iss-tracker
# Create folder structure
mkdir templates
mkdir static # Optional: for additional CSS/JS files
Create requirements.txt
:
Flask==2.3.3
requests==2.31.0
scikit-learn==1.3.0
numpy==1.24.3
joblib==1.3.2
Install packages:
pip install -r requirements.txt
Create app.py
with the Flask backend code provided in the artifacts above. Key components:
Core Features to Implement:
- ISS Location API: Fetch real-time ISS coordinates
- Weather Data Integration: Get atmospheric conditions
- ML Model Training: Random Forest for visibility prediction
- API Endpoints: REST endpoints for frontend communication
- Distance Calculations: Haversine formula for ISS distance
Critical Functions:
# Core ML model for visibility prediction
class ISSVisibilityPredictor:
def predict_visibility(self, weather_data, elevation_angle, light_pollution):
# Returns probability score 0-1
# API endpoints
@app.route('/api/iss-location') # Current ISS position
@app.route('/api/ai-visibility-prediction') # ML prediction
@app.route('/api/smart-notifications') # Ranked viewing opportunities
Create templates/index.html
(or ai_index.html
) with:
Essential Frontend Components:
- Interactive Map: Leaflet.js with dark theme
- Real-time Updates: JavaScript intervals for live data
- AI Prediction Interface: Visibility meter and condition display
- Responsive Design: CSS Grid and Flexbox layouts
- User Location: Geolocation API integration
Key JavaScript Functions:
// Core functions to implement
updateISSLocation() // Fetch and display ISS position
getAIPrediction() // Trigger ML visibility analysis
getUserLocation() # Get user's coordinates
getSmartRecommendations() // AI-ranked viewing times
The AI model trains automatically on first run:
Training Process:
- Synthetic Data Generation: Creates 1000 realistic training samples
- Feature Engineering: 5 input features (cloud cover, humidity, wind, light pollution, elevation)
- Model Training: Random Forest classifier with 100 estimators
- Model Persistence: Saves trained model to disk for reuse
Prediction Pipeline:
Weather API → Feature Extraction → ML Model → Probability Score → User Interface
Required APIs:
- ISS Location:
http://api.open-notify.org/iss-now.json
(Free, no key) - ISS Passes:
http://api.open-notify.org/iss-pass.json
(Free, no key) - Weather Data: OpenWeatherMap API (Free tier available)
Optional Weather API Setup:
# Get free API key from openweathermap.org
WEATHER_API_KEY = "your_api_key_here"
Note: Project works with mock weather data if no API key provided
# Start the Flask server
python app.py
# Access the application
# Open browser to: http://localhost:5000
Essential Test Cases:
- ISS Tracking: Verify real-time position updates
- Location Detection: Test geolocation functionality
- AI Predictions: Generate visibility scores for different conditions
- Smart Recommendations: Check pass ranking algorithm
- Responsive Design: Test on mobile and desktop
Demo Script:
- Show live ISS tracking
- Get user location
- Trigger AI prediction
- Explain visibility probability
- Show smart recommendations
# Clone or download the project files
git clone <your-repo-url> # Or create files manually
cd ai-iss-tracker
# Install dependencies
pip install -r requirements.txt
# Run the application
python app.py
# Open browser
# Navigate to: http://localhost:5000
ai-iss-tracker/
├── app.py # Main Flask application
├── templates/
│ └── ai_index.html # Frontend interface
├── requirements.txt # Python dependencies
├── iss_visibility_model.joblib # Auto-generated ML model
├── README.md # This file
└── LICENSE # MIT License
- Change color scheme in CSS variables
- Adjust ML model parameters (n_estimators, features)
- Add more weather conditions (precipitation, visibility)
- Implement user accounts and history tracking
- Computer Vision: Actual ISS detection in sky photos
- Mobile App: React Native or Flutter version
- Augmented Reality: Phone camera overlay showing ISS position
- Social Features: Share viewing opportunities with friends
- Telescope Integration: Automated telescope pointing
- Real machine learning implementation (not just API calls)
- Multiple data source integration
- Production-ready code structure
- Responsive, modern UI design
- Solves genuine problem (cloudy night frustration)
- Educational astronomy tool
- Real-time actionable insights
- Beautiful, engaging user experience
- First ISS tracker with ML-powered visibility prediction
- Combines space data with atmospheric science
- AI-enhanced user experience
- Perfect demonstration of practical ML applications
By recreating this project, you'll learn:
- Flask Web Development: Backend API creation
- Machine Learning: Scikit-learn model training and deployment
- API Integration: Multiple external data sources
- Frontend Development: Interactive maps and real-time updates
- Data Science: Feature engineering and prediction pipelines
- UI/UX Design: Modern, responsive web interfaces
Feel free to submit issues, fork the repository, and create pull requests for any improvements.
Areas for contribution:
- Additional ML models (neural networks, ensemble methods)
- Mobile app development
- International space station data sources
- Weather API alternatives
- UI/UX improvements
This project is licensed under the MIT License - see the LICENSE file for details.
- NASA: For providing free ISS tracking APIs
- Open Notify: ISS location and pass prediction services
- OpenWeatherMap: Weather data API
- Leaflet.js: Interactive mapping library
- Scikit-learn: Machine learning framework
This project demonstrates how AI can enhance traditional applications with intelligent predictions. Whether you're participating in a hackathon, learning machine learning, or building a portfolio project, this ISS tracker showcases modern web development with practical AI integration.
Star this repository if you found it helpful, and happy space tracking! 🛰️✨
Built with ❤️ for space enthusiasts and AI learners everywhere