Hi, I'm David

I'm an engineer who feels most at home in cloud and infrastructure — scalable services, automated workflows, keeping costs reasonable — because the best systems are the ones you forget are there.

I didn't start here. I came to CS from premed kinesiology and spent the first stretch mostly on my own, until compsigh and a few great mentors turned curiosity into a career.

See what I've built below, find me on LinkedIn, or ask me about my photography!

Projects

Relic

BuildingJul 2026GitHub

Gameplay and brain state, fused on a single clock. What does my brain actually do during a long survival mission, versus cracking a void relic for a 1% chance at the gold reward? Answering that means putting brainwave data from an EEG headset and Warframe telemetry on the same timeline — a sparse stream of discrete game events alongside a continuous high-frequency signal.

Getting there starts with the game side. A Go operator tails Warframe's engine log and ships each line to Kinesis, which fans out two ways: Firehose archives every raw line to S3, while a Lambda parses events into DynamoDB for a near-real-time dashboard.

The split is the point. The cold path keeps an untouched, replayable record; the hot path is a TTL'd cache that can be rebuilt from it. Delivery is at-least-once, with a session and sequence pair as the idempotency key so duplicates are harmless. The full roadmap is on the repo README.

Go · Kinesis · DynamoDB · Data Engineering · Streaming · Game Telemetry · EEG

Radiant

Nov 2025GitHubWriteup

Upload several minutes of Valorant footage, get back an edited montage — plays found, cuts made, transitions applied, commentary dubbed over the top. I stopped playing much once grad school started, so I made the game my final project instead.

A custom Rekognition model scans the footage at 1 fps for kill events, the timestamps merge into intervals, and FFmpeg cuts to them. Bedrock writes the commentary; Polly speaks it. Step Functions orchestrates the four Lambdas that do the work.

Lambda gives you 512 MB of /tmp, which is not much room to edit video in. The whole pipeline had to run in memory with no intermediate writes to S3 — a constraint that shaped the design more than any of the services did.

AI Infrastructure · Content Delivery · Video Editing · Machine Learning · Lambda Orchestration

Blueprint

Apr 2025GitHub

Our department handed out CS-only course paths, which were genuinely useful and also only part of the picture — you still had to reconcile them against everything else the university offered. Put all the courses in and the advising problem turns into a graph problem: prerequisites are edges, and the question is what order satisfies them.

Blueprint makes that graph something you can actually look at and plan against. It won "Most Innovative" at DonsHack '25 and a $500 micro-grant.

Python · PostgreSQL · React · Next.js

EKS Blue/Green Deployment Pipeline

Apr 2025 – May 2025GitHub

A blue/green deployment pipeline: three FastAPI services promoted through QA, UAT, and Prod, with Argo Rollouts handling the cutover so deploys never upgrade in place. The services run on EKS and EC2, all of it provisioned with Terraform. Cert Manager handles TLS, secrets come through Cluster Secret Store, and GitHub Actions runs CI/CD.

This was my DevOps final — a class I took because the ML section was full. I went in with no direction and came out with a career.

FastAPI · GitHub Actions · Kubernetes · Helm · Argo Rollouts · Bash

Blink

Jan 2025 – May 2025

Blink is our senior team project at USF: a browser game that teaches system design by making you build the systems, with the tower defense genre as inspiration.

None of us had built a game before. Our sponsor showed us Juice It or Lose It partway through, and I led the tweening from there: how level selection feels to move through, and how dropped requests land.

Godot · WASM · GDScript · Tweening

Veil

Nov 2024GitHub

I was camera-shy, and my feed was full of videos of people who clearly hadn't agreed to be in them. Blurring a face is easy if you already edit video and a non-starter if you don't — so we built Veil to do it for you: object detection finds the faces, the app blurs them.

It took 2nd place at the USF Deploy/24 Hackathon and a $500 micro-grant.

Python · OpenCV · Flask · React · Next.js · Video Processing