Joe Thornton - Senior Software Engineer
I'm Joe - a senior software engineer and team leader from the UK currently working in Japan on satellite ground systems.
Learn MoreProjects
Here's what I've done.

ImaGENation
An exploration into wrapping a cloud-based image generation model in a REST API using FastAPI with automatic rate limiting.
Objectives:
- Learn FastAPI
- Experiment with Image Generation Models
- Python
- FastAPI
- Image Generation

Mission Countdown
A simple mission countdown app with milestones to use during satellite launch and early operation.
Objectives:
- Simple mission situational awareness.
- Fireworks for fun and entertainment.
- ReactJS
- Javascript
- FireworksJS

Satellite Orbital Simulator & Tracker
A fully 3D orbital simulation with forward/backward propagation and ground-station pass calculation.
Objectives:
- Forwards and backwards orbit propagation.
- Calculation of ground-station passes.
- ReactJS
- Javascript
- CesiumJS

IdleSat
A satellite themed 'Idle' Game created in the Unity engine.
Objectives:
- Exploring game mechanics in Unity.
- Creating graphics/UI elements.
- Understanding Unity project layout.
- Learning how Unity connects objects.
- Unity
- C#
- Game

Python Gold
The gold medal for python on Hackerrank.
Objectives:
- To revise the fundamentals of python.
- Practice Algorithms & Data Structures.
- Python
- Challenges
- Hackerrank

Genki Flashcards
A react webapp companion to the genki textbooks for Kanji/Kana.
Objectives:
- A fully featured flashcards app.
- User's lesson selection persists between sessions.
- Compatible with Github Pages.
- Mobile friendly.
- React.js
- JSON
- Node

React Portfolio
A personal portfolio in React.
Objectives:
- Single page and elegant design.
- Tutorial - An example to build upon and customize.
- Mobile friendly.
- Compatible with Github Pages.
- React.js
- Next.js
- Node

Go vs CUDA Neural Network Inference
A university project to compare inference performance between CUDA on a GPU and Go running in parallel on the CPU.
Objectives:
- Improve CUDA knowledge.
- Improve Golang knowledge.
- Explore Go parallelism.
- To write NN inference for the MNIST dataset from scratch.
- CUDA
- C++
- Golang
- ML
Technologies
Here's what I've used.
Front-end
Experience with
- React.js
- HTML/CSS
- Flask
- Tailwind
- Winforms
- DevExpress
Back-end
Experience with
- Python
- C# .Net
- Go
- Java
Tools/Platforms
Experience with
- Windows
- Linux
- Docker
- AWS ECS, EC2, S3, CloudWatch, Secrets Manager
- Git
- SVN
- Visual Studio/VS Code
About Me
I have a variety of interests including reading, space, and musical theatre.
2017
Completed BSc Computer Science - 1st Class (Hons)
2018
Completed PGCE in Computing (Teacher Training)
2018
Started work at LabLogic Systems as a C# .Net Developer
2020
LabLogic - Designed, Managed & Completed a .Net Core REST API
2021
Created Personal Portfolio using React.js & Next.js
2021
Created Genki Flashcards using React.js
2022
Got First Gold Badge on Hackerrank (Python)
2023
Moved to Japan to Work as a DevOps Engineer on Satellite Ground-systems
2023
Promoted to Senior Software Engineer for Satellite Ground-systems
2024
Promoted to Team Leader for Satellite Data Acquisition and Delivery