A full-stack instant messaging application designed to showcase advanced backend development with Go and frontend integration with React. Includes detailed implementation of patterns and OOP approach to Go, web security (e.g. CSRF protection, session management) and concurrency patterns (e.g. Goroutines and channels).
- Go
- React (TypeScript)
- MySQL
- Docker
- Comprehensiveness Documentation of Patterns and OOP in Go
- Websockets
- Testing Practices
A self-hosted, low-code AI pipeline for scraping Instagram Reels and transforming them into structured, categorised data for research. Originally built to help organise travel recommendations from Reels, this project automates the process of extracting and storing useful information from video content (including ai transcription and agentic LLM-powered analysis).
- n8n (low-code workflow automation)
- Python (Flask microservices, Instaloader)
- OpenAI Whisper (fast-whisper)
- LLM Integration (GPT-4.1-mini, Ollama experiments)
- Docker and Docker Compose
- Nginx Proxy Manager
This educational article and accompanying project compares two approaches for building APIs in ASP.NET Core: Minimal APIs and Controller-Based APIs. Using a simple CRUD API example for managing songs and playlists, this article teaches you each approach and goes into some of the pros and cons of each method with an emphasis on how both approaches function and scale.
- C#
- ASP.NET Core
- API Development
- Entity Framework Core
- SQLite
- Integration Testing
This desktop app streamlines the laborious task of DJ library management, allowing users to download and sync Spotify and Soundcloud playlists with Rekordbox libraries utilising existing audio downloading libraries. This is a successor to PySync DJ.
- Backend: Python (Flask), SQLite (SQLAlchemy)
- Frontend: React, React Query, Websockets
- Distribution: Electron.js
- CI/CD: Github Actions
PySync DJ (Deprecated For PySync Hub)
Download and sync Spotify playlists with your Serato or Rekordbox libraries. This tool massively streamlines DJ library management allowing effortless syncing of Spotify playlists to your DJ libraries, an otherwise often extremely tedious process.
- Python
- Multiprocessing
- API Integration
- Product Documentation
- Github Actions CI/CD Pipeline
Documented investigation into visualising my Spotify library as a graph using Neo4j graph database. This project demonstrates how mapping the relationships between tracks, playlists, and artists can reveal unique patterns, groupings, and insights. It also introduces some of the fundamentals of Neo4j, graph analysis, and some of the broader applications of graph technology.
- Neo4j (Graph Database, Cypher Query Language)
- Data Visualisation (Gephi, Neo4j Desktop)
- Python and Spotify API
Chrome extension that adds "Search on Spotify/Soundcloud" context menu options speeding up music browsing.
- Javascript
- Chrome Extensions