Hello, I'm Ben
Benjamin Stevenson
Senior Computer Science student at the University of Michigan and SWE intern at eVN Inc.
About
Who I Am
I'm a computer science student at the University of Michigan, graduating in May 2027, and a software engineer intern at eVN Inc. since June 2024.
Most of my work is full-stack: designing APIs and data models, building the services behind them, and integrating with third-party systems. At eVN, that has meant leading development of a photo submission platform now running in production across 100+ automotive dealerships, carrying it from design through deployment, and through everything that surfaced afterward. I've also worked on the machine learning side there, dealing in data preprocessing, model training, and evaluation for an image-based estimation pipeline.
In open source, I contribute upstream to beets and mediafile. That work has less to do with writing features than with reading an unfamiliar codebase closely enough to find where a change belongs, then writing to a maintainer's standards rather than my own, which is most of what working in any established system actually involves.
I'm drawn to developer tooling and automation, which is where one of my recent projects came from: a self-healing CI pipeline that I use to automate my development workflow. Day to day I work in Python, C++, JavaScript, and React, with Git, Docker, and CI/CD pipelines as standard tools.
Featured Project
Self‑Healing CI
A webhook server that detects failed GitHub Actions runs and fixes them
automatically — running Ruff & Black for style issues and asking Claude
to suggest patches for real bugs. Comment /heal
on a PR to apply the AI fix in one click.
Open Source
Synced Lyrics for Beets
Contributed synchronized (LRC) lyrics support to beets, a music library manager with 15k+ GitHub stars. Partway through review, a maintainer pointed out the fix really belonged one layer down — in mediafile, the tagging library beets depends on, which had no synchronized-lyrics field to hook into at all. So that became its own PR first, and the original beets PR was rebuilt on top of it once it merged.
storage: add MP3SYLTStorageStyle for SYLT synchronized lyrics
Added a new synced_lyrics field and storage
class so MediaFile can read and write the ID3v2 SYLT frame at all —
nothing existed to build on before this.
Coursework & Work
Additional Projects
ML for Camera Parameter Estimation
Aug 2024Built an image-processing pipeline to clean and normalize raw photo data, then trained a TensorFlow model to estimate camera parameters — lens focal length, subject distance, camera angle — directly from an image. Used the trained model to reconstruct photographic metadata for deeper image analysis.
Photography Submission App
Feb 2025Built a photo submission platform that routes user uploads into Asana task workflows, with a Flask backend and React frontend. Optimized task search and data handling to cut latency, and implemented end-to-end authentication using secure, one-time nonce tokens.
Fakebook: Relational DB & Analytics
Oct – Nov 2025Designed an ER model and normalized relational schema for a large-scale social platform (users, photos, messages, events), then wrote the SQL DDL to create, constrain, and index the core tables and validated integrity against a loaded public dataset. Followed up by exporting the same data into MongoDB — modeling users, friendships, and cities as nested documents — and building aggregation pipelines to answer real analytics questions like city cohorts, friend statistics, and matchmaker pairs.