~/about.txt
About
I am a systems officer at the Archaeology Data Service in York, where I look after the servers behind a digital archive. That covers the unglamorous half of infrastructure — patching, TLS, backups, disaster recovery, edge rules — and the half I enjoy more, which is finding the manual routine nobody has questioned in years and replacing it with something that runs on its own.
I came into IT role sideways. I studied Computer Science at York St John, then took a masters in digital archaeology, and the combination made me harder to place than either would have been alone — so I took a digital archives role and used it to prove I could write code and provide tooling the team needed. The Python tools I built for archiving digital assets are what turned a data-entry job into a systems one.
Before that I spent a year in the University of York's Digital Education Team, taking academic departments through the migration to Blackboard Ultra. Running workshops and drop-ins for staff who did not choose the change taught me more about explaining technical decisions than any amount of documentation would have. That work was recognised with a Making the Difference award.
Digital preservation turns out to be good training for infrastructure work. Both disciplines ask the same question: will this still be here, and still be readable, long after the person who set it up has gone.
/opt/talks
Talks and conferences
AI in archaeology: training data, bias and where human expertise stays
May 2026Archaeological Data, AI and Human Expertise — MAIA Stakeholder Workshop
Panellist and speaker · Lisbon, Portugal
MAIA COST Action (CA23141), funded by the European Union
Write-up of the event →Gave a presentation and took part in the roundtable at an EU-funded stakeholder workshop bringing together researchers, heritage professionals and data specialists. I spoke to how the organisation currently uses AI and where it could be used well.
The discussion kept returning to the same point: AI is only as good as the data behind it. Archaeological data carries its own biases, and a model trained carelessly amplifies them rather than correcting them. Alongside that, the session covered dataset construction and standardisation, shared infrastructure, the skills gap across the heritage sector, licensing and IP, and where human archaeological judgement has to stay in the loop.
HS2 and UNPATH'D Waters, with respect to FAIR principles
2023CAA (Computer Applications and Quantitative Methods in Archaeology), Amsterdam
Author and speaker · Amsterdam, Netherlands
Wrote and delivered a paper in person on two major archive projects and how they measure against FAIR principles — findable, accessible, interoperable, reusable.
3D modelling and XML ontologies workshops
2022Workshops, Pisa
Attended, representing the Archaeology Data Service · Pisa, Italy
Represented the organisation at workshops on 3D modelling and XML ontologies for cultural heritage data.
/opt/education
Education
MSc Digital Archaeology
University of York
2019–2020
Where spatial data, metadata standards and digital preservation stopped being separate subjects — and where I first ran a project far enough to find out it would not work.
- GIS mapping (ArcGIS Pro and ArcGIS Online)
- Spatial analysis in GIS
- Dublin Core, CIDOC-CRM and FAIR metadata standards
- 3D modelling (3DS Max) and virtual reality modelling
- Geophysical survey
- Pre- and post-excavation practice
Dissertation
Technology at the 'Trowel's Edge': exploring the digitisation of single-context sheets
Archaeological excavation records a lot of structured data on paper single-context sheets, which then gets typed up afterwards. I built a digital alternative on ESRI's cloud stack — ArcGIS Online holding the data, a map system published from ArcGIS Pro, and Survey123 forms feeding records in from a device in the field, with Collector tying it together. There was no database of my own behind it; the data lived in ESRI's hosted layers.
It did not fully work, and the reason is the interesting part. Single-context recording depends on the Harris matrix — the stratigraphic sequence describing how every context relates to every other — and that is graph data, not spatial data. The platform was built for the second kind. I could capture the sheets; I could not represent the relationships between them, which is the part archaeologists actually need.
The conclusion was therefore negative: this stack gets you digital forms in the field, and stops short of the thing that would make it worth adopting. Establishing where a promising approach hits its ceiling is a legitimate result, and finding it took building the thing.
modules (8) ▸▾
- Analysis & Visualisation
- Gathering Field Archaeology Data
- Virtual Reality Modelling
- Geographic Information Systems
- Digital Knowledge Production in Archaeology
- Geophysical Survey
- Mesolithic Funerary Archaeology
- Spatial Analysis in GIS
BSc (Hons) Computer Science
York St John University
2016–20192:1 (68%)
Where the programming came from, and where the two Microsoft certifications below were taken.
- Operating systems
- Network systems management and administration
- Cyber security and cryptography
- Databases, SQL and information management
- Software engineering
- Compiling techniques
modules (10) ▸▾
- Programming
- Mathematics and Statistics
- Computer System Fundamentals
- Databases
- Networking
- Human Computer Interaction
- Internet of Things
- Cyber Security
- Advanced Web Development
- Major Project
/opt/certifications
Certifications
Microsoft Certified: Azure Fundamentals
AZ-9002024Cloud concepts, core Azure services, and the pricing and governance model.
Microsoft
Verify credential →Agile Software Development
Dec 2023Iterative delivery practice, taken alongside the VLE transformation work.
University of Minnesota, via Coursera
Verify credential →Data Engineering with AWS, Part 1
Dec 2023A short course, and the first AWS work I did — two years before building the archive's S3 mirror.
LinkedIn Learning
id ba9e6160e72957e13132c2cf6d690596a8a7816d365aa83842fd3f08f97be419
TTNTC Python Level 1 Programming Course
Nov 2020Introductory Python, taken while moving from the masters into archive work.
Teach the Nation to Code — certified training in association with the National Cyber Security Centre
View certificate →MTA: Introduction to Programming Using HTML and CSS
MTA 98-3832018Taken during my Computer Science undergraduate degree.
Microsoft
Verify credential →MTA: HTML5 Application Development Fundamentals
MTA 98-3752018Taken during my Computer Science undergraduate degree.
Microsoft
Verify credential →
/usr/local/bin
Skills
Levels are self-assessed and deliberately uneven — the low numbers are as informative as the high ones.
Systems
- linux75%
VPS estate maintenance, patching, service configuration
- bash75%
Backup automation and the glue holding scheduled work together
- windows70%
Estate support, Windows 11 migration, Windows Server and remote desktop deployment
- tls55%
Certificate lifecycle and configuration across public-facing services
- networking55%
VPN paths, routing and where the latency actually comes from
Languages
- python70%
Archive tooling, partner data transfer to S3, general automation
- php55%
The language behind the partner-facing API
- react50%
Front end for the metrics dashboard, and this site
- apps-script40%
Spreadsheet and survey automation for research teams
- typescript35%
Enough to build and ship Tabby plugins; still the language I reach for least confidently
Data
- sql70%
Years of daily metadata work against a live archive database
- postgresql55%
Backup automation and routine administration
- mysql55%
Backup automation and routine administration
- gis50%
Preservation formats, GML 3.2 conversion and metadata validation for archived spatial data
- oracle45%
Backup automation against existing instances
- openrefine45%
Reconciling and cleaning catalogue data at volume
- sqlite45%
Small, correct stores — user provisioning for the partner API
Tooling
- git70%
Branching, pull requests and reviewing colleagues' code — and the CI that runs off it
- mkdocs50%
Documentation sites built and maintained through git
- github-actions50%
Continuous deployment to a VPS, and dependency pipelines with auto-merge guardrails
Platforms
- docker65%
Daily driver — containerised services, local environments, deployment
- symfony55%
Framework for the bearer-authenticated data API
- cloudflare55%
WAF rules and edge protection for public services
- aws50%
S3 mirror of a 26.7 TB archive, with scheduled transfer and daily reconciliation
- nodejs50%
Express APIs behind internal tooling
- caddy40%
Reverse proxy with automatic certificate issue and renewal
- lucee30%
Enough to read the logs and find what is leaking
- azure25%
AZ-900 fundamentals — concepts and services, not production hours