Personal
Built and self-hosted a portfolio style website to host my CV, showcase work, and
enable people to contact me.
-
Currently running on AWS Lightsail with CloudWatch alarms and a Lambda-based
recovery function.
-
Designed and deployed the full site end-to-end, including data polling and UI.
-
Live “fun stats” pulled from Apple Watch health stats exports, the Spotify API,
and a Letterboxd RSS feed.
Tech: HTML, CSS, JavaScript, Nginx, Docker,
Certbot/Let’s Encrypt, AWS Lightsail, CloudWatch, AWS Lambda
Digital Preservation System
2022–2025
Professional
Built an end-to-end digital preservation system that automates archivists’
workflows for long-term heritage collections, covering ingest, access, and
monitoring with fixity checks, MD5 hashing, and authenticated access.
- Designed the ingest, view, and monitor content workflow stages.
- Implemented integrity and fixity verification via hashing and scheduled checks.
-
Open-source contribution: added Archipelago as a new storage space in
Archivematica Storage Service, enabling transfers between Archivematica and
Archipelago.
Commit
Tech: Python, Docker, Linux/VMs, REST/JSON APIs, SQL
(Postgres), Drupal, HTML, open-source tooling
Shape Estimation Of A Concentric Tube Robot Using A Machine Learning Model For
Use In Bronchoscopy
2021
Student project
Dissertation
Developed a neural network model to predict optimal robot shapes with AI for
minimally invasive lung surgery, using curve parameterization and arc-length
estimation.
- Curve parameterization via arc-length reduced data while preserving shape accuracy.
- Linear regression predicted arc-length with 91.74% accuracy.
-
Neural nets predicted curve coefficients; 70% of the first 10 reconstructions
were nearly identical to the originals (trained on 400 samples).
Tech: Python, Keras, TensorFlow, NumPy, SciPy,
Matplotlib, Excel
Student project
Built a Java-based SQL interpreter that parses and evaluates queries using a
relational algebra execution model and writes results to a database.
-
Implemented bag relational algebra operators, including tuple nested join, sort,
and duplicate elimination.
- Built scan operators on a tree-structured execution plan.
Tech: Java
C to MIPS compiler
2019–2020
Student project
Built a Java C-to-MIPS compiler for a third-year university coursework project,
implementing the full frontend and code generation pipeline.
-
Implemented compiler modes for lexing, parsing, AST construction, semantic
analysis, and MIPS assembly generation.
-
Scored 100% in automated black-box university tests, with progress tracked daily
on a course scoreboard.
Tech: Java
Autonomous Parking Robot
2020
Student project
Group project using a camera for license-plate analysis and a Raspberry Pi for
driving instructions.
Tech: Python, Java, Jupyter Notebook.
Haskell Tic-Tac-Toe AI
2019
Student project
The project allows a player to play against an agent using a heuristic alpha-beta
tree search algorithm to create an AI opponent.
Tech: Functional Programming, Haskell.
Student project
Built a Java AI drone game with a browser-based UI that navigates GeoJSON map data
to collect targets using optimal routing and obstacle avoidance.
- Implemented heuristic and backtracking algorithms to search for optimal routes.
- Parsed and navigated GeoJSON map data for gameplay.
- Built obstacle-avoidance logic to keep routes valid.
Tech: Java