Available for projects & course applications · Newcastle, UK

Full stack developer,
learning in public.

I build web apps and internal tools with Python and Django. I'm actively learning data science and AI engineering, and I'm interested in software for regulated environments.

Python · Django · React · PostgreSQL Learning data science & ML Applying for AI engineering Interested in regulated software

Full stack web development

I build complete web applications — from database models and backend logic through to the interface people use. My current focus is Python and Django.

Web apps & internal tools

Full-stack Django applications with user authentication, data models, views, and clean UIs. From quick internal tools to multi-user platforms.

Django PostgreSQL Python

Front-end & interfaces

Responsive, accessible HTML/CSS and JavaScript interfaces. Clear layouts, good interaction design, and performance that doesn't need a framework to be fast.

HTML/CSS JavaScript Responsive React

Sites & backends

Marketing sites and client-facing builds where practicality and speed come first. React for component-driven interfaces, Flask for lightweight backends.

Flask GitHub Pages Heroku

Upskilling into AI & data

I'm actively learning data science and applying for an AI engineering course this summer. Here's where I am honestly.

Now

Learning data science fundamentals

Working through the core Python data stack — Pandas, NumPy, data visualisation, and the basics of machine learning with scikit-learn. Building small projects as I go.

Pandas NumPy scikit-learn Matplotlib
This summer

AI engineering course application

Applying to a structured AI engineering programme to formalise what I'm learning and build applied ML experience on top of my full stack foundation.

ML fundamentals Applied AI Engineering

Also interested in regulated software

I find the constraints of regulated environments — audit trails, access control, data integrity — genuinely interesting design problems. I'm building familiarity with GMP/GxP thinking, though this is an area I'm learning rather than one I currently deliver in.

See Skedaddle →

Build small, ship early, iterate

I prefer working code over speculative plans. Here's how I approach a project from first conversation to live deployment.

01

Understand the problem

What actually needs solving? Who uses it and in what context? What does "good" look like?

02

Define scope clearly

Agree what's in and out before writing code. Lightweight requirements and clear acceptance criteria.

03

Build and show progress

Small working increments, real feedback, test coverage. You see it as it develops.

04

Deploy and hand over clean

Production-ready code, docs, and a handover that means you can actually run it yourself.

Get in touch

Whether it's a project, a collaboration, or a course enquiry — tell me what you're working on.