This is a cross-platform satellite tracking application created using EXPO.
Managed using GitHub Projects and Discord.
Our project is a cross-platform satellite tracking mobile application created using EXPO.
Skypath is designed to help researchers from the Rattenbury Research Group track satellites in real time and learn about upcoming passes. Our goal for this project is to solve the mobile accessibility issues from their preexisting Taiaho Dashboard and create a better user experience when tracking satellites.
- React Native (0.81.4)
- Drizzle ORM (0.44.5)
- Expo SQLite (16.0.8)
- EXPO (54.0.7)
- TypeScript (5.9.2)
- JavaScript
- Async Storage (2.2.0)
- Satellite.js (6.0.1)
- TLE.js (5.0.1)
- React Native Select (2.1.8)
- Satellite.js : Used for SGP4 satellite propagation.
- CelesTrak : Source for all satellite data.
- TLE.js : Used for displaying TLE data.
- React Native Select : Used to display platform agnostic dropdown menus.
- Taiaho Dashboard : Used as a references for features to implement.
- N2YO : Used to ensure the accuracy of our path calculations and referenced in our app.
- Nicholas Rattenbury & Joe Ashby : The clients for this project. They provided guidance regarding the physics of satellite tracking, and what features to implement in the app.
-
Install dependencies
npm install --legacy-peer-deps
-
Create Migration (if needed)
npx drizzle-kit generate
-
Start the app
npx expo start
In the output, you'll find options to open the app in a
- Development build
- Android emulator
- iOS simulator
- Expo Go, a limited sandbox for trying out app development with Expo.
Demonstration videos of our project can be found in this Youtube playlist.
Screenshots of the application are available in this Google Drive folder.
- Weather-aware planning: integrate cloud cover/precipitation/wind and surface a simple “viewability” score.
- Visible-only mode: filter passes to when the satellite is sunlit and the observer is in darkness (one-tap toggle).
- UI polish: refine hierarchy/spacing/transitions; add loading skeletons, empty states, and clear error toasts.
- In-app guidance: add concise “i” panels for advanced features (e.g., prediction accuracy, min-elevation) with brief “why it matters.”
| Role | Member |
|---|---|
| Project Manager | Geoff Ribu |
| Technical Lead | Karanbir Singh |
| Dev-Designer | Keane Co |
| Dev-Designer | Matthew Fabro |
| Developer | Vlex Androv Ponsaran |
| Developer | Cameron Benson |
