Building software,
together.
I am a Freelance Software Engineer & Product Designer with a BSc in Computer Science, and I enjoy taking end-to-end ownership of complex problems. I build web applications, mobile apps, desktop software, and handle the graphic design and UX/UI to ensure everything feels incredibly premium.
I leverage modern frameworks and tools to avoid unnecessary complexity, allowing me to iterate quickly and focus on crafting highly polished interfaces. Through my creative project, Set Apart Pixel, I continually explore how to blend high-end aesthetic vision with rigorous technical execution.
The Stack
Academic Background
BSc Computer Science
Keele University
Bridging the gap between academic theory and industry-standard software engineering. Took end-to-end ownership of complex university projects, encompassing everything from advanced algorithm design and backend architecture to highly polished user interfaces.
Core Disciplines
- Software Engineering & Architecture
- Data Structures & Algorithms
- Full-Stack Web & Mobile Dev
- Artificial Intelligence
- Cybersecurity
Key Modules
Full-stack development
I love building things from scratch. Whether it's designing the database, setting up the backend, or polishing the frontend so it feels just right, I enjoy getting my hands dirty across the entire stack.
AI-powered products
I've been diving deep into AI lately. I build a lot of features using language models and RAG, but my main focus is always making sure they actually feel good to use rather than just being a shiny tech demo.
Developer tooling
If I find myself doing something tedious twice, I'll probably write a script for it. I really enjoy making small, simple tools that save people time and just work without a fuss.
Interface craft
I'm a bit obsessive when it comes to the small details. I spend way too much time tweaking animations, playing with typography, and making sure the final product feels incredibly premium.
Performance is a feature
Nobody likes a slow website. I care a lot about speed, so I try to stick to server-rendering and keeping my code as lean as possible. If it feels sluggish, I'm not happy with it.
Keep it simple
I try to keep things simple. Sometimes writing the same code twice is better than building a massive, complicated abstraction. I usually stick to boring, reliable tech that I know won't break.
Defensive coding
I always try to code defensively. The real test of an app isn't the day you launch it, it's how it handles crashing at 2am. I like to make sure things fail gracefully instead of blowing up.
Developer experience
I strongly believe that if code is painful to work with, the final product will suffer. Good error messages, fast feedback, and a clean codebase make everyone's life easier down the line.
Spaces Explored
Signal
Roll the dice to advance your signal.
Prefer to skip the game? Get in touch directly →
Have a problem worth solving?
I'm always open to discussing AI products, full-stack work, or ambitious side projects. Let's talk.