Skip to content

About

My GitHub profile README

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Ethan Stoner

Software Engineer · Cloud, Backend & AI Systems
CS at Cal State San Marcos · open to SWE internships and part-time work

Portfolio Resume LinkedIn Email

Highlights

  • 54 pull requests merged into 34 open-source repositories totalling 511,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.

Tech Stack

Python, TypeScript, JavaScript, Java, C++, Rust, React, Next.js, FastAPI, Node.js
PyTorch, AWS, Terraform, Docker, Cloudflare, PostgreSQL, SQLite, Linux, GitHub Actions, Git


Selected Projects

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

Tempo: a neural-network chess engine (live on Lichess)

A chess engine written from scratch in C++20, with an NNUE evaluation trained in PyTorch on its own self-play games.

  • Rated 2976 (95% CI 2933-3019) from 300 games against Stockfish 19 capped at 2800-3190, on Stockfish's own scale at 10s + 0.1s. The first version rated 2688.
  • The network trained on 120M self-play positions beat the hand-written evaluation by +175 ± 32 Elo, and every retrain after it had to pass an SPRT match to ship.
  • Lazy SMP search gains +269 Elo at 8 threads. Move generation matches all 32 published perft counts (610M nodes, ~113M nodes/s).
  • Plays rated blitz on Lichess as a BOT account, currently around 2600.

C++20 · PyTorch · NNUE · CMake

bytepair: GPT-4's tokenizer, rebuilt in Rust

A byte-level BPE tokenizer with a Rust engine behind PyO3 bindings, and a pure-Python reference kept alongside it as the oracle.

  • 1.6-2.2x faster than tiktoken on one thread, with zero mismatches over 7.46M tokens on cl100k and o200k, plus a 1M-string fuzz.
  • Trains a vocabulary 3.2-4.9x faster than Hugging Face tokenizers, with merges identical to the Python reference.
  • Hand-written pre-tokenizer splitters replace the regex engine and run 15.5-20x faster than it.
  • Refuses a literal <|endoftext|> in user text, which Hugging Face's GPT-4 port turns into the special token. 151 tests (138 Python, 13 Rust), CI green.

Rust · Python · PyO3 · maturin

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_Slope is Flat for heart disease (111 of 111) and Up without 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

GenAI Gateway on AWS: cloud deployment

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


Open Source

54 pull requests merged into 34 repositories totalling 511,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.9k 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.9k 1 qcut never validated q: a bad bin count raised the wrong error, or none at all.
bilawalsidhu/gods-eye-view 44.3k 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.2k 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.
FreshRSS/FreshRSS 16.2k 1 The feed preview page skipped the URL-rewriting hook that subscribing ran, so extensions like RSS-Bridge were bypassed on the page that confirms a subscription.

Plus 39 more merges across PyInstaller, OpenLayers, Simon Willison's llm, kornia, Unciv, node-gyp, Terser, SwiftFormat, Puma and 15 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.


Experience

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.


More Work

Project What it does Stack
aibackflip A humanoid learns to backflip on a 2D physics engine and PPO both written from scratch: 24 of 24 flips land, and 83% still land when shoved mid-flight. 313 tests. C++ Python PyTorch
strata One Rust binary turns a folder of CT or MRI files into a browser viewer with hand-written WebGL2 volume rendering, ordering slices by scanner geometry rather than file index. 129 tests. Rust WebGL2 TypeScript
Universe Simulator Newtonian N-body gravity from real astronomical data, with four integrators, Barnes-Hut or exact summation, and live energy diagnostics. 160 unit tests; CI runs the OpenGL self-test headlessly (41,005 checks). C++20 OpenGL CMake
NeuroRacer Neuroevolution racing cars as a generalisation lab, with every claim pre-registered in git. The champion laps 43/43 clockwise test tracks and 0/42 counter-clockwise; training both ways makes 5/5 seeds lap all 100 in both directions. Includes a TypeScript track editor parity-tested against the trainer's NumPy checks, live in the browser. Python NumPy TypeScript
RAG From Scratch 18 RAG techniques in plain Python, scored on 300 MultiHop-RAG queries with paired bootstrap CIs. A reranker lifts exact match from 0.563 to 0.667; CRAG and Self-RAG both hurt. Python Ollama pytest
Pincer (private) Closed-loop agent driving physical Android phones over ADB with a fine-tuned YOLO11 detector that labels its own training data. Python PyTorch YOLO11
Qorlyt One image becomes a textured 3D model in about 90 seconds (median of 64 runs) 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
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

Education & Certifications

  • Cal State San Marcos, B.S. Computer Science · Fall 2026 – 2030 (expected)
  • Great Oak High School, Temecula, CA, Diploma · June 2026
  • Anthropic: Claude API, Amazon Bedrock, Vertex AI, Model Context Protocol (Advanced), Agent Skills, Claude Code (all certificates)
  • OpenAI Academy: Agents & Workflows, AI Foundations, Applied AI Foundations
  • AWS Certified Cloud Practitioner (CLF-C02): exam in progress

About

My GitHub profile README

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages