Software Engineer · Cloud, Backend & AI Systems
CS at Cal State San Marcos · open to SWE internships and part-time work
- 50 pull requests merged into 31 open-source repositories totalling 479,000+ stars, including Astro, pandas, Black, raylib and Prefect.
- 15,200+ sales and 344k Robux (~$1.3k at the DevEx rate) in the past year from 3D accessories made on my own local-GPU generation pipeline.
- 1.57x faster LLM decoding at 16k context on an RTX 4090, found with a roofline built from measured hardware ceilings.
- ~120 AWS resources provisioned with Terraform to deploy a multi-provider GenAI gateway end to end.
- A Redis-compatible database engine from scratch in Java 21: ~100K writes/s and ~130K reads/s single-threaded.
Local LLM Lab: making a 7B model faster on one GPU, then taking it apart
A measurement framework for Qwen2.5-7B-Instruct on an RTX 4090. It finds where inference time goes, fixes the bottleneck, and tests how refusal works inside the network.
- Built a roofline from measured ceilings (947 GB/s, 157.5 TFLOP/s) with no fitted parameters. It showed the attention path copying the KV cache seven times per layer.
- Wrote a grouped-query decode path that reads each cached key and value once: 1.57x faster at 16k context, 1.65x at batch 32, with no measurable fidelity loss against an FP32 reference.
- Removing one residual-stream direction takes refusal on harmful prompts from 95% to 0-2.5%. Random directions of the same size do nothing.
- Paired ABBA benchmarks, and every headline number is a recorded run stored with its hardware, versions and commit. 173 tests.
Python · PyTorch · Transformers · CUDA
kvstore: a Redis-compatible database engine
An LSM-tree key-value store written from scratch in Java 21. redis-cli, redis-py and Jedis connect to it unmodified.
- Storage engine shaped like LevelDB/RocksDB: write-ahead log, memtable, sorted SSTables, leveled compaction and bloom filters.
- ~100K writes/s and ~130K reads/s single-threaded (JMH, 100K keys). Bloom filters answer missing keys ~90x faster by skipping the disk.
- Speaks Redis's RESP protocol over TCP, with TLS, multi-user auth, pub/sub and snapshots.
- 209 tests, about 3,800 lines of Java plus 3,300 of tests.
Java 21 · LSM-Tree · RESP · Concurrency
aibackflip: a humanoid that learns to backflip
A physics engine and a reinforcement-learning algorithm, both written from scratch. There's no physics library, no animation and no scripted trajectory.
- A 2D sequential-impulse constraint solver in C++: warm starting, speculative contacts, a Coulomb friction cone.
- PPO from scratch in PyTorch: clipped objective, GAE, advantage normalisation, KL early stop.
- The trained policy lands 24 of 24 backflips, and still lands 83% when shoved with 200 N·s mid-flight.
- 64 environments share one UDP datagram per control step. 313 tests (216 C++, 97 Python).
C++ · Python · PyTorch · OpenGL
strata: a zero-setup DICOM viewer
Point one Rust binary at a folder of CT or MRI files and get a browser viewer with 2D slices and 3D GPU volume rendering.
- Slice order comes from each file's position in patient coordinates, never
InstanceNumber, which lies in real data. A regression test shuffles instance numbers to prove it. - Indexes headers only, never pixel data: a 1,026-slice study indexes in ~90 ms.
- Hand-written WebGL2 raymarching with a resolution pyramid, so a modest laptop loads 1 MB instead of 64 MB.
- 127 tests (67 Rust, 60 browser), plus 7 that run against real CT studies from the public NCI archive. MIT.
Rust · WebGL2 · axum · SQLite · TypeScript
Heart Disease Audit: a reproducibility audit of a popular ML dataset
Traces the Kaggle Heart Failure Prediction CSV back to its four UCI hospital sources and measures what that changes.
- Found that the filled-in missing values encode the diagnosis: every filled
ST_SlopeisFlatfor heart disease (111 of 111) andUpwithout it (191 of 191). - Undoing the fill drops the typical pipeline's median accuracy from 86.4% to 79.3% over 1,000 paired splits.
- A pre-registered survey of 30 public notebooks found 0 of 30 mention it. Every prediction was committed before its experiment ran, and 14 of 15 held up.
- Leave-one-hospital-out AUC is about 0.83. 77 tests, and all five notebooks run in CI.
Python · pandas · scikit-learn · pytest
Landed: pricing for card shops
Paste a TCGplayer link and get a whole-dollar sticker price for every condition, matched to what a buyer would pay online including shipping. I'm the sole engineer.
- Full stack on Cloudflare Workers, D1 and KV, with an hourly cron keeping prices current.
- Pricing engine written twice on purpose: a Python reference and the production TypeScript port, with golden tests asserting they match byte for byte.
- 371 automated tests. Deployed but not yet in service: Clerk auth and Stripe billing are wired in test mode.
TypeScript · Cloudflare Workers · D1 · Stripe · Python
Deployed AWS's multi-provider GenAI gateway reference design from an empty repository to a working, TLS-secured endpoint, as a task set by Cisco professionals at Riffyx Labs. The architecture is AWS's; the deployment was mine. It was stood up end to end and then torn down.
- ~120 AWS resources in Terraform: VPC, ECS Fargate, ALB, RDS, ElastiCache, WAF, Secrets Manager, Route 53 + ACM, remote S3 state.
- LiteLLM in front of Amazon Bedrock behind one OpenAI-compatible endpoint, with least-privilege IAM and per-key cost tracking.
- Traced a PII-masking defect in the Presidio sidecar to a dependency version, and fixed it with a controlled upgrade and regression tests.
AWS · Terraform · ECS Fargate · Bedrock · LiteLLM
50 pull requests merged into 31 repositories totalling 479,000+ stars. These are fixes in codebases I don't maintain, found by reading unfamiliar code, diagnosed by measurement and defended in review. The ten largest repositories:
| Repo | ★ | Merged | What it fixed |
|---|---|---|---|
| withastro/astro | 62.8k | 1 | Fallback route generation swapped the locale as a substring, corrupting any path segment that merely started with the locale code. |
| pandas-dev/pandas | 49.8k | 1 | qcut never validated q: a bad bin count raised the wrong error, or none at all. |
| bilawalsidhu/gods-eye-view | 43.1k | 3 | Kept node:fs out of the browser build, fixed 25 tests that failed on every Windows clone, and bounded CCTV media downloads with an idle deadline. |
| psf/black | 41.9k | 1 | Formatting from a notebook crashed because it assumed every stdout has a .buffer. |
| raysan5/raylib | 34.9k | 1 | MatrixCompose() read back vector components it had just overwritten, so most rotations produced a wrong matrix. |
| HKUDS/Vibe-Trading | 34.0k | 3 | Reference links that resolve on GitHub and for the agent, and "newest first" history that really is, fixing three tests already failing on main. |
| fmtlib/fmt | 25.8k | 1 | A test target built from format.cc never inherited the library's /utf-8, so the pedantic build did not compile under MSVC. |
| PrefectHQ/prefect | 23.9k | 1 | Jitter was drawn around the base interval instead of the backed-off one, so every caller silently lost its retry backoff. |
| kivy/kivy | 19.0k | 2 | KV bindings queued during Builder.sync were dropped, silently and forever. |
| pyinstaller/pyinstaller | 13.1k | 1 | The icon suffix was checked case-sensitively, so MyApp.ICO was rejected or silently re-encoded. |
Plus 35 more merges across OpenLayers, kornia, Unciv, node-gyp, Terser, SwiftFormat, Luau, MockK, OpenBot and 12 other repositories: full list on ethanstoner.dev.
Two worth reading in full: rakazo #322, where the reporter wrote "I cannot explain the root cause" and I narrowed it down by elimination, and trueforge #464, where a reviewer asked whether an abort was needed and I measured it instead of arguing: Promise.race frees the caller but leaves the socket open.
Landed, Founder & Solo Engineer · 2026 – Present
Built and deployed a card-pricing tool as sole engineer across product, infrastructure and testing. 371 automated tests; billing wired in test mode, not yet in service.
Roblox UGC, Independent Creator · 2025 – Present
Design and sell 3D avatar accessories made with a local-GPU generation pipeline: 15,200+ sales and 344k Robux (~$1.3k at the DevEx rate) in the past year.
Riffyx Labs, Engineering Mentee · 2025 – 2026
Deployed a multi-provider GenAI gateway on AWS end to end, provisioning ~120 resources with Terraform across ECS Fargate, RDS, ALB, WAF and Bedrock, with Guardrails and PII masking.
| Project | What it does | Stack |
|---|---|---|
| Universe Simulator | Newtonian N-body gravity from real astronomical data, with four integrators, Barnes-Hut or exact summation, and live energy diagnostics. 141 unit tests; CI runs the OpenGL self-test headlessly (41,005 checks). | C++20 OpenGL CMake |
| Pincer (private) | Closed-loop agent driving physical Android phones over ADB with a fine-tuned YOLO11 detector that labels its own training data. Per-frame capture cut from ~600 ms to ~1.3 ms. | Python PyTorch YOLO11 |
| Qorlyt | One image becomes a textured 3D model in about 90 seconds on a local ComfyUI + Hunyuan3D 2.1 pipeline, behind FastAPI with live progress. | Python FastAPI ComfyUI |
| CSUSM Campus Monitor | Counts people on live campus camera streams with an open-vocabulary grounding model, falling back to YOLOv8n without a GPU. 133 tests. | Python FastAPI OpenCV |
| yt2tiktok | Turns a YouTube video into scheduled, captioned vertical clips. | Python ffmpeg Whisper |
| Lyric Generator | Spotify link in, lyric video out, with Whisper word-level timing. | Python FastAPI Whisper |
| Hunyuan3D-2.1 Install Guide | Step-by-step Windows install for Hunyuan3D-2.1 + ComfyUI. My most-starred repo. | Docs |
- Cal State San Marcos, B.S. Computer Science · Fall 2026 – 2030 (expected)
- Anthropic: Claude API, Amazon Bedrock, Vertex AI, Model Context Protocol (Advanced), Claude Code (all certificates)
- OpenAI Academy: Agents & Workflows, AI Foundations, Applied AI Foundations
- AWS Certified Cloud Practitioner (CLF-C02): exam in progress






