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.

David McClung, build recordBelfast, UKSheet 01
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

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.

LaravelDjangoSQL

Frontend

Vue on the internship app. Vue 3 and TypeScript on the Premier Sound Solutions site.

VueTypeScriptPrimeVue

Tools & testing

Claude Code day to day. Pest and PHPUnit tests, run through Azure Pipelines.

Claude CodeGitAzure Pipelines

Projects


Tetra Tech internship

Ecology reporting app

Dashboard of the ecology reporting app showing bat survey totals, a species composition pie chart and monthly bat calls

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.

LaravelVueJSON SchemaClaude Code

Freelance, in progress

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

Volunteer treasurer, in use

Ledger

Sign-in screen of the Ledger financial reporting app

Every month

  1. 01Import the bank statement
  2. 02Categorise transactions
  3. 03Split bundled payments
  4. 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.

PythonDjangoVue 3

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 - presentMSc 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)

Let's work together.

I'm looking for a graduate software or AI role.
Email is the best way to reach me.