whoami

I like breaking things (CTFs) and building things that don't break.

I'm a second-year Computer Science student at King's College London and treasurer of KCL's Cyber Security Society, interested in site reliability, software engineering and security.

Most of what I build is useful little tools running on my own server, alexandria. I built the pipeline that deploys to it and the monitor that tells me when something on it breaks.

Open to work

Looking for summer 2027 internships, 2027/28 placements, and anything else that needs fixing (or is bound to). On-site, hybrid or remote, London area.

Studying
King's College London
Computer Science
Year 2
Average
79.6%, predicted First
Society
Treasurer, KCL Cyber Security Society
Last internship
Infrastructure / Cloud, Elecosoft

Projects

Three I'd most like to talk about, then everything else I've built, most recent first.

ledgr

Double-entry personal finance

Live demo on Fly.io2026

A personal finance system built the way accounting software is: every transaction becomes balanced, permanent ledger entries. It reads my real bank statements, checks each one against its own printed totals, and stages every transaction for me to categorise before it posts, then shows where the money went. There’s a live demo.

  • Double-entry ledger in FastAPI and SQLAlchemy that enforces a balanced-entry invariant at write time.
  • Posts are idempotent via an external ID, so re-importing the same statement never duplicates money.
  • Entries are immutable: corrections are reversals, never updates or deletes.

s3ntry

Deploys and monitoring for my homelab

Running on alexandria2026

The deployment pipeline and monitoring for alexandria. A push to main is tested and deployed with no manual steps, and a Go health daemon watches every service and alerts Slack and Discord when one goes down or recovers.

1337

Spaced repetition for interview prep

In daily use2026

A spaced-repetition tracker for the NeetCode 150. It schedules each problem for review after a day, a week and three weeks, paces me toward a deadline, and emails a digest every morning. Mostly built with Claude, and a tool I use daily rather than a portfolio piece.

  • Four-stage review cycle (solve, +1 day, +1 week, +3 weeks). “Struggled” resets a problem to a next-day review instead of advancing it.
  • Gaps count from the day a review actually happens, so being late shifts later reviews out instead of piling them up, like Anki.
  • Deadline-based pacing is recomputed on every load and flags the goal as unrealistic past 8 new problems a day.

Everything else

  • re::curse

    2026

    Daily interview-prep emails

    Generates a daily set of interview questions with Gemini, stores it in SQLite, and emails the questions at 11:00 and the solutions at 23:00.

    Node.js, Gemini, SQLite, Resend, pm2
  • Sherpa

    2026

    Google Student AI Hackathon

    Built by a team of six at the 2026 Google Student AI Hackathon in London, where 50 students were selected from nearly 1,000 applicants. Sherpa is an AI career dashboard for students: a Gemini-powered guidance chat, CV scoring with rewrite suggestions, and internship application tracking.

    React, Vite, Tailwind, Express, Gemini, FirebaseSourceTeam of 6
  • EduChain

    2025

    EasyA x Algorand London Hackathon

    Instant credential verification for international students, whose visa paperwork can take weeks. Students manage and share verified credentials on the Algorand blockchain. Built in 36 hours at my first in-person hackathon.

    Algorand, Smart contractsTeam project
  • Hedge fund factor analysis

    2026

    AAM data science challenge, part 2

    Multilinear regression of hedge fund returns against 18 systematic risk factors, with a written report.

    Python, pandas, statsmodels, matplotlibSource
  • GitHub scraper chatbot

    2026

    AAM data science challenge, part 1

    Scrapes a GitHub user’s public repositories, exports them to a spreadsheet, and loads them into a Gemini chatbot you can question about that person’s work.

    Python, BeautifulSoup, CustomTkinter, GeminiSource
  • Asthma

    2026

    Air pollution visualiser

    A JavaFX app for exploring air pollution statistics on a map, built by a team of four at KCL.

    Java, JavaFX, JUnit 5Team of 4
  • Arduino in assembly

    2026

    ATmega328P, no C

    Programmed an ATmega328P in raw assembly to show Morse code and binary patterns on LEDs.

    AVR assembly
  • Reinforcement learning in Unity

    2025

    DQN vs PPO vs NEAT, from scratch

    My A-Level Computer Science project (full write-up): agents learn a game of tag in Unity using three reinforcement-learning algorithms I implemented without any ML libraries.

    C#, UnitySource
  • Neural network from scratch

    2024

    C# and NumSharp only

    A neural network written and tested from scratch in C#, later expanded and rebuilt for the Unity RL project.

    C#, NumSharpSource
  • RF-controlled glider

    2024

    It flew. Not always where intended.

    Two Arduinos: a joystick controller that encodes and transmits inputs over RF, and a receiver on the glider that drives its servos.

    Embedded C, Arduino
  • StudyQuest

    2024

    Gamified revision app, graded A

    Pathway to Bath project (writeup): a social learning app that turns revision into quests. Designed in Figma and prototyped as a C# command-line app.

    C#, FigmaSource

Homelab

alexandria is where my projects actually run. Every change reaches it through a pipeline I built (s3ntry), and a monitor I wrote tells me when something breaks.

  1. 1git pushto main on GitHub
  2. 2Self-hosted runnerGitHub Actions job runs on alexandria itself
  3. 3CI gatebuild and checks must pass, or nothing ships
  4. 4Deployas the non-root s3ntry user, over SSH deploy keys
  5. 5Runningservices up behind nginx, with a rollback path
Health daemonGo, one goroutine per service, every 10s, plus host checks
Slack and Discordalert on down, and again on recovery

Failure drill

I stopped the live 1337 container five times at random points in the poll cycle and timed how long the Discord alert took to arrive, using a test script and each message's timestamp.

Trials
5
Up/down changes caught
8/10
Mean time to alert
5.7s
Poll interval
10s

The 2 misses: one recovery and the next failure landed 5.1 seconds apart, inside a single 10-second poll, so neither was ever seen. Periodic polling can’t catch a flap faster than its interval; only event-driven monitoring would.

  • alexandriaHomelab server

    Ubuntu Server, named after the library: if you’re going to hoard knowledge, commit to the bit. Runs 1337, s3ntry and re::curse, plus a Dockerised *arr stack (Sonarr, Radarr, Prowlarr) and Jellyfin, behind nginx.

  • valhallaLaptop

    Razer Blade 14 ’23, dual-boot. The speakers took a year to fix, then the aux port broke. Worth it.

Experience

  1. Jul 2025

    Infrastructure / Cloud Intern

    ElecosoftAylesbury, UK (hybrid)

    • Designed private IP addressing and subnetting for Azure VNets, with subnet delegation across environments.
    • Deployed VNets and configured subnet delegation with the Azure CLI, replacing manual Portal workflows.
    • Configured public and private DNS zones with VNet integration, so VMs resolve each other by name across environments.
    • Built a Microsoft 365 Enterprise mock tenancy from scratch (accounts, security groups, shared mailing lists, SharePoint sites), cutting onboarding setup time by about 20%.
  2. 2023 – 2024

    Work experience

    Shell & MicrosoftLondon & Reading

    • Shell (Jul 2024): three days of talks across AI, geosciences, exploration, strategy, fuels and lubricants, carbon capture, and legal and derivatives.
    • Shadowed AI, geosciences and cybersecurity teams.
    • Presented “Green Sustainability in the Age of AI” at Microsoft.

Education

  1. Sep 2025 – present

    Computer Science, Year 2

    King's College LondonLondon, UK

    • 79.6% average, predicted First.
    • Societies: Cyber Security Society (treasurer), King’s Tech Crew, KCLTech.
  2. 2018 – 2025

    A-Levels and GCSEs

    Langley Grammar SchoolSlough, UK

    • A-Level: Maths A*, Further Maths A, Physics A, Computer Science A.
    • GCSE: 11 subjects including Further Maths, graded 9999998888.

Leadership and activities

  1. May 2026 – present

    Treasurer

    KCL Cyber Security SocietyLondon (hybrid)

    • Manage the society’s termly budget, in the hundreds of pounds.
    • Compete in inter-university CTFs, including SIGINT. Motto: pwn others and don’t pwn yourself.
  2. Nov 2025

    Lighting operator

    King’s Tech CrewLondon

    • Ran about 120 lighting cues across 3 shows.
    • Rigged and troubleshot the lighting rig and hazer.
  3. Dec 2021 – Jun 2025

    Lead technician

    Langley Grammar SchoolSlough

    • Ran lighting and sound for about 14 productions, for a total audience of 1,000+.
    • Led teams producing other school events independently.
    • Trained younger students to use professional audio and lighting equipment safely.
  4. Sep 2020 – Jun 2025

    Digital leader & esports mentor

    Langley Grammar SchoolSlough

    • Staffed the Apple educator showcase at BETT, advising 200+ international educators on student iPad and AI adoption.
    • Gave ad-hoc technical support to students and IT staff across hardware, software and network issues.
    • Mentored the school esports team, growing participation by about 40%.

Awards and hackathons

  • 2026Selected for the Google Student AI Hackathon50 chosen from nearly 1,000 applicants. Built Sherpa.
  • 20251st place, KCL Informatics PuzzledDistrict Line team, of 200–300 undergraduates. Submitted 20 seconds before the deadline.
  • 2025–26Top 5, UCL vs KCL CTFCapture the flag
  • 2025–26Top 5, KCL Welcome CTFCapture the flag
  • 2023Regional Finalist, Uber Global HackathonMiddle East & North Africa

Hackathons

Skills

Languages
  • Python
  • Go
  • Java
  • C#
  • C / Embedded C
  • TypeScript
  • Bash
Backend
  • FastAPI
  • Flask
  • SQLAlchemy
  • SQLite
Infrastructure
  • Linux
  • Docker
  • nginx
  • systemd
  • GitHub Actions
  • Self-hosted runners
  • Azure
  • Azure CLI
  • Git
Security
  • CTF tooling
  • Wireshark
Also
  • Unity
  • Figma
  • Arduino
  • Microsoft 365
Certifications

Outside of code

  • Hiking
  • Formula 1
  • Modded Minecraft (curating technical packs like Nomifactory)
  • Live music and concerts
  • Astronomy
  • Mechanical keyboards

Writing

  • Rebooting modul0

    My site is back, with a blog attached and the terminal tucked away.

Contact

Email
iamzainrizwan@gmail.com
LinkedIn
linkedin.com/in/iamzainrizwan
GitHub
github.com/iamzainrizwan