Projects
A list of some of my personal projects, more to be added soon!
1. Spaceweather
Live URL: https://spaceweather.xyz/
Summary
A live, near real-time dashboard for spaceweather conditions. It shows the three primary metrics that influence aurora activity in our thermosphere - particle density, solar wind speed and the interplanetary magnetic field's Bz component.
This data is detected by sensors on DSCOVR - a satellite orbiting the Earth-Sun L1 (Lagrange) point, approx. 1 million miles from Earth in the direction of the sun.
Solar wind moves relatively 'slowly' compared to the data being sent back to earth by radio (hundreds of km/s vs. speed of light), therefore we are provided with a short-term forecasting method for spaceweather activity, an important tool for aurora hunting.
By graphing this data, we can visualise the arrival of geomagentic "storms" - direct hits or even glancing blows from flares and CH-HSS (Coronal Hole High Speed Stream) events from our sun.
Tech/Stack
Frontend/App: SvelteKit, Preline UI/Tailwind. Charts provided by Apache ECharts.
Backend/API: NodeJS/Express for ETL of NOAA spaceweather data, MongoDB for storing data.
Deployment: GitHub actions to a VM.
2. Solarcycle
Live URL: https://solarcycle.app/
Summary
A simple dashboard for displaying solar cycle information, such as progression, and solar activity (ie. current alerts, historical solar flare timeline, sunspot count and solar flux).
Tech/Stack
Frontend/App: Sveltekit for SSR, and Flowbite for the UI. Charts are rendered using ChartJS.
Backend/API: NodeJS & Express, with MongoDB for data persistence. Data is sourced from NOAA (National Oceanic and Atmospheric Administration).
Deployment: GitHub Actions; the app is deployed to Vercel, and the API is deployed to a VM.
Coming soon:
- Solar-powered Raspbery Pi satellite-receiving ground station with SDR.
- Raspberry Pi security camera with hardware motion-detection, video recording, push notification system
- Race car telemetry system (pre-OBD2) and in-car digital dashboard written in Qt5, using Raspberry Pi and Arduino