Projects
Software projects and technical achievements
Interactive Solar System
A browser-based education tool, rendering efficiently even on low-spec systems. Interactive 3D solar system with realistic physics and educational content.
Achievements:
- Optimized for low-spec systems
- Realistic orbital mechanics
- Interactive planetary exploration
- Educational content integration
- Accessible design principles
Drone Swarm Simulation Software
Scalable Distributed Drone Swarm Logic capable of forming various shapes, built into a Simulation Software to verify the accuracy of collision avoidance algorithms.
Key Features:
- Scalable distributed drone swarm logic
- Dynamic shape formation algorithms
- Advanced collision avoidance systems
- Real-time simulation verification
- Performance optimization for large swarms
Forum for Glasgow University Drone Society
Full Stack Application using Golang with Gin framework and PostgreSQL on the backend, and React with TypeScript and Tailwind CSS on the frontend for the Glasgow University Drone Society.
Technical Stack:
- Backend: Golang, Gin framework, PostgreSQL
- Frontend: React, TypeScript, Tailwind CSS
- User authentication and authorization
- Real-time forum discussions
- Responsive design for all devices
Mobile Rhythm Game
Developed a mobile rhythm game in React Native that utilized Digital Signal Processing (DSP) to automatically generate rhythm beatmaps from any audio track.
Key Features:
- Automatic beatmap generation using Digital Signal Processing
- Cross-platform compatibility with existing rhythm games
- Beatmap conversion from larger rhythm games
- Real-time audio analysis and rhythm detection
- Mobile-optimized gameplay experience
CV in Terminal
Developed a Terminal UI application in Golang, simulating a webpage for presenting a CV. Deployed on a secure AWS Lightsail instance.
Features:
- Terminal UI application simulating a webpage interface
- Deployed on secure AWS Lightsail instance
- User access jailed to prevent malicious use
- Optimized for low resource usage
- Handles user interactions within terminal environment
CUDA Programming Projects
I'm reading the massively informative Programming Massively Parallel Processors, and in addition to working on the exercises in the book, I am trying to apply what I'm learning to other code, such as using the GPU to improve the speed of a CNN model I've made
Implementations:
- Matrix multiplication optimizations
- CNN model GPU acceleration
- Memory coalescing techniques
- Shared memory utilization
PyTorch Snake AI
Deep Q-Network AI agent designed to play Snake using reinforcement learning. Specifically implementing the Bellman Equation for optimal action-value function approximation.
Technical Details:
- Deep Q-Network (DQN) implementation
- Experience replay buffer
- Epsilon-greedy exploration strategy
- Custom game environment
Embedded Telemetry System
Real-time telemetry system for Formula Student racing car, transmitting vehicle data worldwide with sub-second latency for remote monitoring and analysis.
Capabilities:
- Real-time data transmission (0.5s latency)
- Multi-sensor integration
- Remote visualization software
- In-wheel display systems