Home

Me

Andrew Peterson
Andrew Peterson
Software DeveloperSouthern California

Intro

Recent UC San Diego Computer Science graduate. I spent two and a half years as a Research Intern at the Qualcomm Institute (CALIT2), building quantum-secured video communications, quantum search algorithms, and machine-learning classification pipelines.

Outside the lab, I co-founded San Diego CTF and theQuantum Computing Student Association at UCSD, served asPresident of ACM Cyber through COVID lockdown, and built a MERN-stack platform serving 2,400 monthly users for RIT Esports.

I care about making technical ideas usable and understandable — whether that means translating research-level specifications into working software, or writing documentation that lets people solve problems without asking for help.

Experience & Projects

2025
Project
LaTeX Resume Editor

Full-stack document editor with a REST API, SQLite persistence, and server-side LaTeX compilation.

20+ REST endpoints, JSON-Schema validatedzero-backend live demo runs the real editor, no servere2e + unit deterministic, backend-mocked test suite
Svelte 5ExpressSQLiteCloudflare AccessXeLaTeX
Try it →Source
2024
Project
Quantum ML Classifier Platform

Extensible machine learning platform benchmarking quantum-enhanced classifiers against classical baselines.

92.4% / 100% MNIST / Iris — predicted in your browser6+ model architectures per dataset425 tests
PyTorchQiskitSSEFlask
Try it →Source
2024
Project
Quantum Nonogram Solver

Grover-accelerated constraint satisfaction solver with real IBM quantum hardware support, built at Qualcomm Institute.

32.3% correct state on real IBM hardware (6.25% by chance)in-browser classical solver runs client-side, zero backend1,778 backend tests
QiskitGroverFlaskSocket.IOIBM Quantum
Try it →Source
2024
Project
Quantum Video Chat

End-to-end encrypted video chat secured by quantum key distribution, built at Qualcomm Institute.

BB84 QKD: sift → QBER → Cascade → Toeplitz> 11% QBER trips eavesdropper detection → re-key94 tests (server + client)
WebRTCBB84 QKDAES-128-GCMPython
Launch ↗Source
2022 – 2024
Research Intern
Qualcomm Institute (CALIT2) · San Diego, CA
  • Built a frame-level encryption pipeline for live video with sub-millisecond latency overhead, enabling real-time AES-128-GCM encryption (FFmpeg, WebRTC Insertable Streams).
  • Simulated a noisy quantum channel (Poisson photon source, fiber attenuation, detector modeling) to validate protocol correctness — used to verify eavesdrop detection via error rate anomalies.
  • Presented algorithmic research to IBM's VP of Quantum during campus visit.
2021 – 2024
Co-Founder / President
Quantum Computing at UC, San Diego (QCSD)
  • Co-founded to fill a gap in undergraduate quantum computing education at UCSD. Restructured processes and formalized handoffs before graduating — org survived complete leadership turnover and is now nationally chartered as QCSA.
2020 – 2023
President / Competition Committee
ACM Cyber at UCSD
  • As President, maintained org engagement through full COVID lockdown when most student orgs lost momentum.
  • Centralized documentation for the 500-member org in Notion with role-based least-privilege access controls.
2020 – 2022
Web Developer
RIT Esports · Remote
  • Built and deployed a MERN-stack platform via Docker serving 2,400 monthly active visitors across 6 varsity esports teams with 99.9% uptime.
2020 – 2022
Co-Founder
San Diego CTF
  • Co-founded San Diego's largest annual cybersecurity competition — hundreds of competitors across 20+ countries, running for two annual iterations.
  • Built the Discord bot submission interface (Discord.JS) used by all competitors across both years — zero onboarding friction.
2020 – 2021
Tutor / IT Lead
Mathnasium · Southern California
  • Sole IT resource for transitioning the center to remote operations during COVID-19, keeping ~25 client families and ~15 active students connected.

About

The longer version

How I got here

I got into computing through security clubs rather than coursework. I was runningACM Cyber at UCSD when campus closed in 2020 — a 500-member org that existed almost entirely through in-person meetings. Keeping it alive meant rebuilding how it ran: documentation people could actually find, and role-based access so officers could do their jobs without waiting on me. Around the same time a few of us startedSan Diego CTF, which grew into a competition with hundreds of players from more than twenty countries. I wrote the Discord bot everyone submitted through, on the theory that the fastest way to get people competing is to meet them where they already are.

The research years

From 2022 to 2024 I was a research intern at theQualcomm Institute (CALIT2), working on quantum-secured communication. The centerpiece was a browser-native encrypted video system whose symmetric keys come from a BB84 quantum key-distribution exchange rather than classical Diffie–Hellman. The whole protocol runs in the browser over a WebRTC DataChannel: basis reconciliation and sifting, QBER estimation from a public sample, Cascade error correction, then Toeplitz privacy amplification down to a 128-bit key. That key drivesAES-128-GCM encryption of the media frames through WebRTC Insertable Streams (RTCRtpScriptTransform, in a Web Worker), so frames are re-keyed with no SDP renegotiation and the latency cost stays low enough that a call still feels like a call.

Claiming a channel is secure is easy; showing it is not. So I built a simulated quantum optical channel with the parameters that actually matter — Poissonian photon statistics, ~0.2 dB/km fiber attenuation, single-photon detector efficiency — and an intercept-resend eavesdropper. Eve can't measure a qubit without disturbing the ones she forwards, which pushes the quantum bit error rate past the ~11% threshold where a secure key can no longer be distilled; the protocol sees the spike, throws the key away, and re-exchanges. Alongside that I worked on Grover-based quantum search for constraint problems — validated on real IBM hardware, where a 2×2 nonogram reached 32.3% correct-state probability against 6.25% by chance — and PyTorch classification pipelines. I presented the algorithmic work to IBM's VP of Quantum during a campus visit, and co-foundedQuantum Computing at UCSD to give undergraduates somewhere to start.

Why everything here runs in your browser

Every demo on this page works with nothing running on my side. The nonogram solver's classical path is a real solver ported to JavaScript. The digit classifier runs a trained network's forward pass locally, on weights exported from the same model the backend serves. The quantum results are real measurements, computed once and committed. That was a deliberate constraint: a portfolio that only works while a server happens to be awake isn't a portfolio, it's a recurring bill. The live backends still exist for the parts that genuinely need them — they sit behind one gateway, scale to zero, and wake only for someone I've handed a link to.

How I work

A few habits, most of them learned the hard way. Do the structural fix rather than patch around it — the shortcut is nearly always more expensive by the second time you touch it. Write the test at the seam where two components meet: one of the worst bugs I've chased was a handoff where one module called a method the other side never defined — each module was individually correct and individually tested, and nothing caught it because no test put them together. Treat security as a default rather than a feature — credentials stay server-side, every input that reaches a solver or a trainer is bounded, and a static site under a strict Content-Security-Policy beats one that trusts a CDN. And write the documentation that lets someone finish the job without asking me — the same instinct that got me into this: making technical ideas usable, not just correct.

What I'm after

Work where correctness is checkable and the result has to survive contact with real users. I'm most useful somewhere between research and production — taking something that currently only works in a paper, a notebook, or one person's head, and turning it into a system other people can rely on. Each project above has a ? button with the full writeup, and the source is on GitHub if you'd rather just read the code.