Experience
Research Assistant (Cyber Security)
- Attended weekly meetings
- Researched common adversarial attacks
- Implemented demonstrative tools in Python with Tkinter
- Wrote a supporting 5-page technical document
Projects
Lightning Arena 
- Led a small team to create and run online events with 800+ unique participants
- Designed bespoke algorithms for the purposes of matchmaking participants
- Migrated from multi-repo to monorepo structure
- Created complex GitHub Actions CI/CD pipelines to automatically build multi-platform Docker images
- Hosted project using Terraform
Personal websites 
- Built user-facing website designs for both personal and professional use cases
- Created Dockerfiles for TypeScript applications
- Used Terraform to define infrastructure to configure Docker, Cloudflare Tunnels, and Cloudflare Zero Trust
- Configured CI/CD pipelines to ensure reproducibility and availability
- Used Cloudflare Wrangler CLI to deploy professional website using serverless architecture
Goto 
- Go HTTP server backend using the Gin web framework
- SQLite database, migrations and queries written in SQL
- Built SPA frontend built using Vite + React
- Created a Dockerfile with a multi-stage build process
- Implemented CI/CD pipeline to build and deploy application using Docker Compose
Homelab 
- Provisioned home server running Proxmox for multiple users
- Used Infrastructure as Code tooling (Terraform) to declaratively define infrastructure configuration
- Installed services using Docker containers, served through Cloudflare Tunnels
- Developed CI/CD pipeline to apply Terraform configuration on closed pull requests
- Configured VPS running Ubuntu Server to host various services
Macro 
- Frequent interaction with client to ensure delivery of application
- Used WebSockets to interact with external software
- Designed reactive frontend with TypeScript and Svelte
Private 6 Mans
- Used JavaScript libraries such as Discord.js to interact with the Discord API
- Listened to user feedback to develop new features
- Designed algorithms to handle queueing, team and match creation, and score reporting
- Used and handled MySQL database to store player data
- Developed website using Express.js to show live data to users
- Used in over 2000+ communities before handover, currently used in 4500+ communities