Welcome To
My Software Portfolio
I am Sean, a hobbyist software engineer and musician studying MEng Computer And Electronic Systems at the University of Strathclyde. As a highly motivated and aspirational individual, I relish in the challenge and satisfaction that is had through building inventive and practical software solutions to solve the problems I encounter and to explore the things that inspire me.
This portfolio showcases a selection of the projects that I am most proud of, chronicling my growth as a software engineer where I have honed and expanded my skills in the areas of desktop, web and game development.
Projects
Click the project cards to learn more...
Desktop Apps
Music Analyser
An application designed to provide a technical analysis of the musical elements present in an audio track. Through the use of audio processing and DSP, key harmonic features of the music - the notes, chords and key signature - are extracted in real-time and displayed intuitively to the user.
- C#
- .NET
- WinForms
- DSP
- NAudio
Maps Area Capture Tool
A simple tool to help plan out large area captures in Google Maps. Select the area you want to capture and the tool will determine the individual captures that should be made at a desired quality level.
- C#
- .NET
- WinForms
- Geolocation
- Maps
Web Apps
FourierSketch
FourierSketch is a web app that uses the principles of Fourier analysis to construct an interactive sketch of any image. Users upload an image which gets processed to extract edges and construct a sketch.
- React
- JavaScript
- p5.js
- Bootstrap
- Firebase
AutoDJ
A dynamic web app that allows groups of users to join custom music sessions, where any user in the group can add songs to a queue and vote for which songs should play next. This web app is perfect for parties and social occasions (both online and in-person) as it allows all users in a session to participate and add their favourite songs to the queue.
- Javascript
- C#
- ASP.NET
- SignalR
- Bootstrap
- Azure
Game Development & Modding
Improved Radio (Cyberpunk 2077 Mod)
Allows full control over the in-game radio. Features include disabling individual songs on each radio station, skipping the current song and creating custom playlists of songs from any station that can be shuffled and saved.
- Lua
- REDEngine API
- CyberEngineTweaks API
Tesla
A 3D platformer video game where the player must traverse a level by shooting monsters using items scattered around the map.
- C#
- Unity
- Chronos Time Control
- Blender
Music Analyser
"As a keen musician, I have a strong fascination with uncovering the musical theory and technicalities that are behind my favourite songs. Music Analyser lets me explore this fascination, while also satisfying my passion for all things maths and signal processing related."
Started: Jun 2019Last Updated: Jan 2022 (Version 0.8.3)
Features:
- Analyse any MP3 or WAV audio file for musical features in real-time with playback.
- Musical analysis comprises note detection and chord/key signature prediction.
- A modular and fully customisable DSP pipeline for performing musical analysis.
- Optimised analysis presets using various DSP algorithms (FFT, Harmonic Product Spectrum (HPS), Constant-Q Transform (CQT)).
- Control the tempo and pitch of audio playback (and analysis) independently.
- Ability to record audio from a capture device to subsequently playback and analyse.
- A draggable peak filter to highlight any frequency in the audio playback.
- A spectrogram viewer to present an overview of the analysed track over time.
- Integrating external libraries
- UI/UX design
- Asynchronous programming
- Algorithm design and optimisation
- API design
- Digital signal processing
- C#
- .NET
- WinForms
- DSP
- NAudio
Languages & Technologies
With 8+ years experience coding in languages such as C# and Java, and 2+ years experience with web development and web technologies, I consider myself a very well versed and capable software engineer.
Desktop Technologies
Proficient with- C#
- Java
- Python
- Visual Studio
- .NET
- Git
- C
- C++
- Theano
- TensorFlow
Web Technologies
Proficient with- Javascript
- React
- ASP.NET
- Bootstrap
- Angular
- Django
- PHP
- MySQL
- Azure
- Firebase
Personal Accomplishments
5+
Open Source Projects
25+
Github Stars
2000+
Downloads