$ whoami

ECE @ UT Austin · prev. SDE Intern @ AWS · building edge-AI, embedded & ML.

I build at the boundary of software and hardware — from STM32 firmware to agentic AI developer tools.

kaitlyn@portfolio — zsh

about

Hello!!! I'm Kaitlyn, an ECE student at UT Austin. I work in the overlap between embedded systems and machine learning — close enough to the hardware to care about clock cycles, close enough to the models to care about what they get wrong. Lately that's looked like a machine-learning steering controller for an autonomous car, a face-recognition system that can tell a live person from a photo held up to the camera, firmware for a hyperloop pod, a stint as a software engineering intern at Amazon building agentic AI tooling, a hackathon win where a panel of Amazon L8 senior leaders picked our build as the best of 190+ engineers, and, for no defensible reason, a working Fruit Ninja game on a microcontroller — running on a custom PCB I designed, printed, and soldered myself!

I love watching code I wrote reach out and move something in the real world, and I'm just as curious about pushing AI down onto that same hardware, where it has to be small, fast, and right the first time. I tend to chase ideas all the way to something that actually works: an offline translation tool I built ended up with real users requesting features, which is still the most fun kind of feedback I've gotten. Being a first-gen student taught me to reverse-engineer systems nobody explained to me, which is conveniently most of engineering. I'm just as comfortable training a model in Python as I am a few layers below where most software stops — in the firmware, in the signal, in the part where it either works on the bench or it doesn't.

Off the clock, catch me at more concerts than is reasonable, playing sudoku and learning more patterns to solve them faster, hiking, or working on my steady rotation of Raspberry Pi and Arduino projects :D!

experience

Amazon (AWS) SDE Intern · GenAI Developer Tools

Summer 2026 · Seattle, WA

TypeScript · Java · MCP · AWS Lambda · DynamoDB · Bedrock · CDK

  • Architected a self-augmenting agent runtime that lets a coding agent install a capability and use it mid-session with no restart — a proxy that spawns and lifecycle-manages child MCP servers as live subprocesses with namespaced routing, crash detection, and cleanup.
  • Built an end-to-end agentic-AI toolchain (3 services, ~200 tests) so coding agents can autonomously discover, install, and operate tools from a ~4,000-server enterprise registry, with BM25 + fuzzy retrieval that serves warm queries in under 10ms.
  • Hardened the agent against prompt injection and tool poisoning via untrusted-output handling, input allowlisting, shell-free execution, an audit log, and least-privilege tool scoping under a GenAI threat model.

Texas EcoCar Connected & Automated Vehicles Team

Spring 2026 · Austin, TX

C/C++ · MATLAB/Simulink · Python · Gaussian Process Regression

  • Engineered a data-driven EPS steering controller using Gaussian Process regression to replace a gain-scheduled PID — eliminating manual calibration while matching lane-tracking performance at 0.23 m RMSE.
  • Designed a real-time fault detector using GP prediction variance as a confidence metric, catching out-of-envelope operation via an 11,600× variance spike and triggering automatic fallback to proportional control.
  • Built a system-identification pipeline generating 678k data points across 24 operating conditions; validated GP uncertainty bounds with 100% coverage within 2σ.

Texas Guadaloop Hyperloop Engineering · Embedded

Spring 2026 · Austin, TX

C · STM32 · ADC · DMA · UART · CAN

  • Developed a multi-channel STM32 sensor-acquisition system using ADC with DMA circular buffering for real-time Hall-effect speed measurement, plus a voltage-to-Gauss calibration pipeline from datasheet characterization.
  • Documented the pod-wide embedded architecture — 9 distributed STM32 nodes, CAN bus routing topology, and a LoRa telemetry link to the ground station — as the team-wide interface reference.

projects

🏆 1st place at Amazon's internal hackathon — 190+ engineers competing, cleared a cohort-wide peer vote, then a panel of Amazon L8 senior leaders named ours the best build in the field.

Amazon flies in hundreds of interns to cities where they know nobody, then seats them on heads-down teams for ten weeks. We built the bridge, and deployed it on real AWS behind Amazon's internal SSO instead of leaving it on localhost. We surveyed 45+ interns first: 70% had never met peers sitting nearby and 58% ate lunch alone weekly, which pointed the work at the last mile — not scoring matches, but getting two people to actually sit down. A 16-question survey feeds a recommender that scores candidates by Gower similarity, auto-weights each question by its entropy so questions everyone answers identically carry no signal, hard-gates out your own team, then applies Gumbel-top-k sampling and MMR re-ranking so your slate is genuinely varied instead of five clones of you. Serverless throughout: Lambda, API Gateway, single-table DynamoDB, a Bedrock foundation model writing icebreakers, and a 93-chunk RAG onboarding bot on Titan embeddings that's guaranteed to cite a real doc. Mine specifically — the two-sided invite protocol (strict sender/recipient role separation and cross-device sync, so neither side can accept its own invite), read receipts that only fire when a human actually opens the thread, the calendar-booking flow, searchable org/city/building pickers, the match-filtering layer, and 138 of the 157 tests. After the win I added crowdsourced map spots: server-side geocoding via Amazon Location Service, signed with SigV4 I hand-rolled in pure Node crypto because the build sandbox blocks network access and the AWS SDK client wasn't available, behind an admin approval queue so nobody can invent a place.

1st of 190+ engineers. 50 of the team's 109 commits and 138 of its 157 tests — the most of anyone on either count.

  • React
  • AWS Lambda
  • DynamoDB
  • Bedrock
  • Titan embeddings
  • API Gateway
  • CDK
  • SigV4
  • RAG
  • Vitest
Case study + demo

Face recognition that knows when it's being fooled — a liveness model that tells a real face from a photo or a phone screen, and gates recognition behind it.

I wrote the first version as a webcam face-recognition tool and it worked, until I held up a photo of myself and it greeted me by name. The matcher wasn't wrong; "is this the right face" and "is there a person here" are just different questions, and answering only the first produces a system that feels secure and isn't. So the project changed shape. It now trains a small PyTorch model to detect presentation attacks, scores it with the ISO/IEC 30107-3 metrics the PAD literature reports (APCER per attack type, BPCER, ACER, EER), and reports a face as trusted only when it is both recognized and verified live. Liveness runs before recognition, so a rejected face is never embedded — enforced by a test with a call counter — and the UI never prints "SPOOF, matched Kaitlyn", which would tell an attacker their spoof found the right target. Trust fails closed: with no liveness model loaded the tool reports UNVERIFIED, never TRUSTED, because a liveness check that defaults to pass is worse than none at all. Three correctness bugs came out of the rewrite. dlib is gone, so there's no CMake or C++ toolchain to install and CI proves a clean install across Linux/macOS/Windows × Python 3.10 and 3.13. A train/serve preprocessing mismatch had enrollment using an aligned crop while the live path used an unaligned one, so embeddings landed in different regions of the space and matching quietly degraded with nothing ever erroring. And --seed silently didn't work: augmentation built an unseeded RNG per call, so two runs at the same seed produced different models — which makes every metric unverifiable, including to me. Augmentation is now seeded from (seed, epoch, index) and two runs produce bit-identical weights.

Liveness at 0.44 ms median (p95 0.46 ms) on ONNX Runtime CoreML, 226K params in a 1.0 MB model — about 2% of the frame budget, where detection is the real cost at 18 ms. 5,600 lines, 304 tests. Accuracy on real PAD data is deliberately not published yet: the synthetic fixture is trivially separable and reports 0.00% on everything, so quoting it would be meaningless.

  • Python
  • PyTorch
  • ONNX Runtime
  • CoreML
  • OpenCV
  • Anti-spoofing
  • Edge AI
GitHub

Texas EcoCar

Data-driven steering controller for an autonomous vehicle, built on Gaussian Process regression.

Trained a GP model on a 678k-point system-identification pipeline to control steering, and used the GP's own variance estimate as a live fault detector — flagging when the model was operating outside its trusted region.

0.23 m RMSE tracking error.

  • C/C++
  • MATLAB/Simulink
  • Python
  • ML

Offline speech-to-text + translation pipeline.

End-to-end transcription and translation that runs locally. Open-sourced and picked up by real external users.

  • Python
  • Vosk
  • Argos
GitHub

edgedoctor

in progress

Open-source tool that diagnoses why ML models break or slow down when deployed to edge hardware.

Profiles a model against a target device and surfaces the real bottlenecks — quantization mismatches, unsupported ops, memory pressure — instead of leaving you to guess.

  • Python
  • Edge AI
  • ML Tooling
GitHub

Astrarium

Full-stack LLM app serving generated content with safety guards.

FastAPI + PostgreSQL backend serving LLM-generated content, with structured-output validation and fallback guards so a bad model response never breaks the experience.

  • Next.js
  • FastAPI
  • PostgreSQL

skills

AI / Agentic

  • MCP (Model Context Protocol)
  • LLM agents
  • Prompt engineering
  • Evals / benchmarking
  • Structured-output validation
  • RAG

Embedded / Hardware

  • STM32
  • ARM Cortex-M0
  • CAN bus
  • I2C / SPI / UART
  • ADC / DMA
  • Real-time systems
  • FSM design
  • Timers / interrupts
  • GPIO
  • PCB layout
  • Datasheet bring-up
  • Raspberry Pi
  • MATLAB / Simulink
  • KiCad
  • LTSpice

ML / Perception

  • PyTorch
  • ONNX Runtime
  • CoreML
  • OpenCV
  • Quantization (INT8)
  • Gaussian Process regression
  • Real-time video inference
  • Anti-spoofing / PAD
  • System identification
  • Vosk (STT)
  • Argos (NMT)

Languages

  • C / C++
  • Python
  • MATLAB
  • JavaScript / TypeScript
  • Assembly (ARM Cortex-M0, LC-3)
  • LaTeX

Systems / Software

  • Linux
  • Git
  • GDB
  • CMake
  • Valgrind
  • Concurrency / multithreading
  • FastAPI
  • PostgreSQL
  • REST APIs
  • Next.js
  • Logic analyzer
  • Oscilloscope

awards

  • 1st Place — Amazon Internal Hackathon: winning team among 190+ competing engineers, cleared a cohort-wide peer vote and selected by a panel of Amazon L8 senior leaders
  • NCWIT Aspirations in Computing — National Honorable Mention & Houston Affiliate Winner
  • Engineering Honors Scholarship
  • National First-Gen Recognition

contact

I'm looking for software / ML / embedded / edge-AI internships. The fastest way to reach me is email.

or fill in the blanks — it opens in your mail app, promise:

Hi Kaitlyn — I'mfrom. I'd love to talk about . You can reach me at.

opening your mail app…