Aspiring software developer, using AI to automate manual work.
I'm studying for an MSc in AI in Business at Queen's University Belfast. I chose it to get ahead of where AI was heading. Then my internship at Tetra Tech put me on a software team for the first time, and I found out this is the work I want to do.
| No. | Built | Detail | Where |
|---|---|---|---|
| 01 | Reporting app for an ecology team | Laravel + Vue | Tetra Tech internship, 2026 |
| 02 | Ledger, used for a full financial year | Django + Vue 3 | Volunteer treasurer |
| 03 | New website for a former employer | Vue 3 + TypeScript | Premier Sound Solutions |
| 04 | Current study | MSc AI in Business | Queen's, 2025 to present |
Reporting app for an ecology team
Laravel + Vue
Tetra Tech internship, 2026
Ledger, used for a full financial year
Django + Vue 3
Volunteer treasurer
New website for a former employer
Vue 3 + TypeScript
Premier Sound Solutions
Current study
MSc AI in Business
Queen's, 2025 to present
I use Claude Code to write much of my code. My part is deciding what to build, reading what it writes, and testing it.
Skills & stack
Backend
Laravel from the internship, Django self-taught for Ledger, both on SQL databases.
Frontend
Vue on the internship app. Vue 3 and TypeScript on the Premier Sound Solutions site.
Tools & testing
Claude Code day to day. Pest and PHPUnit tests, run through Azure Pipelines.
Projects
Tetra Tech internship
Ecology reporting app

The ecology team were building the charts and tables for their survey reports by hand. I helped build a Laravel API and Vue app that generates them from survey and weather data. The app also sends that data to an outside AI service that writes report summaries. I designed the JSON format it sends, the short-lived signed token the two services use to trust each other, and a check that blocks a summary until data entry is complete.
Freelance, in progress
Premier Sound Solutions

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.
Volunteer treasurer, in use
Ledger

Every month
- 01Import the bank statement
- 02Categorise transactions
- 03Split bundled payments
- 04Reconcile and report
I'm treasurer for Newtownabbey Independent Christian School, and its accounts were kept in Excel. I taught myself Python and Django to build a replacement. It has now been used for a full financial year, covering cash and cheque lodgements, credit card payments, 12 monthly reports and the annual report for the management committee.
Experience
Summer 2026
Data and AI Intern, Tetra Tech
My first software job. I worked on the ecology team's reporting app, added tests to its CI pipeline, and joined the sessions where we worked out what the team needed.
Ongoing, 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.
Education
| 2025 - present | MSc AI in Business, Queen's University Belfast |
| 2021 - 2024 | BA Broadcast Production, Queen's University Belfast |
| 2020 - 2021 | A Levels, Digital Technology (A), Geography (A), Business Studies (B); AS Design & Technology (B) |