Turning manual processes into software people use.

Open to

  • Software developer
  • Digital transformation
  • Automation with AI

I have just completed an MSc in Artificial Intelligence in Business at Queen's University Belfast, and am due to graduate in December 2026. My summer internship with Tetra Tech's Data & AI team was my first software job. The work I enjoy most is sitting down with a team, learning how they do a job today and building software that takes the repetitive parts off their hands, so they have more time for the work that needs them. I'm now looking for my first role in the field.

Belfast, UK, Available now

Projects


Volunteer treasurer, in use

Ledger

Monthly accounts · first live month

several evenings to under 30 minutes

Monthly report in Ledger with income and expenditure by category, figures and category names blurred

Every month

  1. 01Import the bank statement
  2. 02Categorise transactions
  3. 03Split bundled payments
  4. 04Reconcile and report

I've been treasurer for Newtownabbey Independent Christian School since March 2025, and for over a year I kept its accounts by hand in Excel, which took several evenings every month. In August 2026 I built Ledger in Python and Django to handle the repetitive parts, then entered the previous financial year into it, covering cash and cheque lodgements, credit card payments, 12 monthly reports and the annual report for the management committee. My first live month in Ledger took under 30 minutes.

PythonDjangoVue 3JavaScript

Tetra Tech internship

Bat Analytics Pro

Report charts and tables

made by hand to generated

Export page of Bat Analytics Pro listing downloadable survey tables as Excel and PNG files

The ecology team were building the charts and tables for their survey reports by hand. I mapped how they did it, helped build Bat Analytics Pro, a Laravel API and Vue app that generates them from survey and weather data, then demoed it to the team and helped them adopt it. I worked mostly on the Vue frontend. The app also sends that data to an outside AI service that writes report summaries.

LaravelVueJavaScriptJSON SchemaClaude Code

Freelance, in development

Premier Sound Solutions

Homepage of the new Premier Sound Solutions website

I used to work there as a media technician. They've asked me back to replace their old WordPress site with one that wins new clients and shows their installations. I'm building it in Vue 3 and TypeScript.

Vue 3TypeScriptPrimeVue

Experience


Summer 2026

Data and AI Intern, Tetra Tech

My first software job, in a Scrum team. Alongside Bat Analytics Pro I added tests to its CI pipeline and joined the requirements sessions with the ecology team.

Since March 2025, voluntary

Treasurer, Newtownabbey Independent Christian School

I look after a budget of around £100k a year and report to the management committee every month. Ledger came out of this role.

Before software

Media technician, electrician's assistant, delivery associate

I designed AV systems and trained more than 50 people to use them. I also worked on over 100 electrical installations and delivered 300+ parcels a day.

Skills & stack


Backend

DjangoPythonSQLLaravel

Frontend

VueJavaScriptTypeScriptPrimeVue

Tools & testing

Claude CodeGitPHPPestPHPUnitAzure Pipelines

Process & people

Process mappingAgile / ScrumUser adoptionStakeholder reportingTraining

Working with AI


I use Claude Code to write much of my code. My part is deciding what to build, reading what it writes and testing it. The harder part is deciding what AI should be trusted with.

In a product

A person checks before AI writes

Bat Analytics Pro sends survey data to an outside AI service that writes report summaries. I helped specify the rule that blocks a summary until the team has confirmed data entry is complete, so the AI never writes up half-entered data. I also helped design the JSON format it sends and the short-lived signed token the two services use to trust each other.

In my own tools

Least access, verified sources

My AI tools can reach my real GitHub and cloud accounts, so they get only the access they need and must ask before changing anything. I turned down an add-on that wanted far more access than it needed from a source I couldn't verify, and removed another that failed a security scan even though it looked harmless to me.

Education


In progressUdemy courses: Full-Stack Web Development Bootcamp; 100 Days of Code: The Complete Python Pro Bootcamp
2025 – 2026MSc AI in Business, Queen's University Belfast
2021 – 2024BA Broadcast Production, Queen's University Belfast
2020 – 2021A Levels, Digital Technology (A), Geography (A), Business Studies (B); AS Design & Technology (B)

Hiring? Let's talk.

I'm looking for software, AI / automation and digital transformation roles in Belfast, hybrid or on-site. Available now.
Email is the best way to reach me.