Welcome To
My Software Portfolio

I am Sean, a hobbyist software engineer and musician. 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...

Graphics Programming & Game Development

DX12 Engine


A custom real-time rendering engine built to explore low-level rendering APIs.

  • C++
  • DirectX 12
  • HLSL

Space Invaders in OpenGL


An authentic replica of the famous arcade game Space Invaders made from scratch.

  • C++
  • OpenGL
  • Miniaudio

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

Legacy & Other Projects

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

DX12 Engine


""


Started: Jan 2025Last Updated: Ongoing Development


Features

  • A deferred rendering pipeline was implemented for physically based lighting (PBR). Custom shaders were written to implement shadow mapping and screen space reflections.
  • Handles resource management efficiently - data is synchronised between the CPU and GPU using descriptor heaps and resource barriers. Command lists are populated to send instructions to the GPU.
  • The rendering pipeline is modular and flexible, allowing additional features such as post processing effects to be easily implemented in the future.
  • A bespoke physics system was built which allows kinematic physics to be applied to any objects in the scene, enabling them to collide and interact.
Biggest Achievement
Skills Developed
  • 3D Graphics engineering
  • Physics and 3D mathematics
  • Algorithm design and optimisation
  • API design
  • Working with complex libraries
Technologies Used
  • C++
  • DirectX 12
  • HLSL

Personal Accomplishments

5+

Open Source Projects

50+

Github Stars

20000+

Downloads