ISS Tracker Evolution: From Script to Interactive Dashboard
Project Overview
Challenge: Transform a basic ISS tracking script into an impressive portfolio piece
Solution: Enhanced Streamlit dashboard with real-time tracking, analytics, and interactive features
Learning Focus: Web frameworks, data visualization, user experience design
Technical Architecture
Core Components
- Real-time ISS position tracking
- Interactive world map visualization
- Astronaut roster management
- Visibility prediction system
- Advanced orbital analytics
Technology Stack
- Frontend: Streamlit with custom CSS
- Data Processing: Pandas, NumPy
- Visualization: Plotly (maps, charts, graphs)
- APIs: Open Notify API, Sunrise-Sunset API
- Deployment: Streamlit Cloud
Key Enhancements Made
Enhanced Features
- Interactive Maps: Real-time ISS position with predicted orbital paths
- User Location Input: Custom coordinates or preset city selection
- Visibility Alerts: Smart notifications when ISS is overhead during darkness
- Analytics Dashboard: Historical performance metrics and orbital mechanics
- Auto-refresh: Live updates every 60 seconds
Technical Challenges Solved
API Integration & Error Handling
Successfully implemented robust API call patterns with proper error handling, caching strategies using Streamlit's @st.cache_data decorator, and graceful fallback mechanisms when APIs are unavailable or deprecated.
Real-time Data Visualization
Built interactive Plotly visualizations optimized for performance and mobile responsiveness. The maps update seamlessly every 60 seconds without disrupting user interaction.
User Experience Design
Integrated the AURA tech-HUD theme with intuitive navigation and clear information hierarchy. Users can quickly find ISS position, check visibility for their location, and explore orbital analytics.
Learning Outcomes
Skills Developed
- Streamlit framework mastery for rapid web app development
- Real-time data processing with efficient caching strategies
- Interactive visualization design using Plotly
- API integration patterns with proper error handling
- User experience principles for data-heavy applications
Code Quality Improvements
- Modular function design for maintainability
- Comprehensive error handling patterns
- Performance optimization through caching
- Documentation standards for future developers
Deployment & Portfolio Integration
Streamlit Cloud Setup
Deployed to Streamlit Cloud with configuration for automatic updates from GitHub. The application runs on the free tier with excellent performance for a portfolio showcase piece.
Portfolio Showcase
- Featured project in Systems app with live demo link
- Technical documentation in DataLogs showing development process
- GitHub repository integration for code review
- Accessible at
iss.sonni.devsubdomain
Next Iteration Plans
Immediate Improvements
- Enhanced orbital mechanics calculations
- Additional space agency data sources
- User preference persistence
- Mobile app optimization
Advanced Features
- Historical trajectory analysis
- Satellite collision predictions
- Social sharing capabilities
- Educational content integration
Reflection
What Went Well
The transition from a simple script to a full-featured dashboard demonstrated growth in web development skills. The Streamlit framework proved excellent for rapid prototyping while maintaining professional quality. The AURA theme integration creates visual consistency across the portfolio.
Challenges Overcome
- Caching Strategy: Learned to use
@st.cache_datadecorator effectively (see Streamlit caching docs) - Map Visualization: Chose Scattermapbox over Scattermap for better performance
- API Deprecation: Handled deprecated pass prediction API gracefully with user-friendly messaging
Future Applications
Skills gained here transfer directly to other real-time data applications, dashboard development, and API-driven projects. The patterns established for error handling and caching serve as templates for future work.
Related System: ISS Real-Time Tracker
Related System: ISS Real-Time Tracker