Let’s talk
About

I build systems for the places where information degrades in transit.

I am a computer science student at Northeastern University with a mathematics minor, currently on co-op as a software engineer at Chewy in Boston. My work concentrates on a specific class of problem: the points where information loses fidelity as it moves between people and systems, and where the loss is invisible until something downstream depends on it.

Three questions have held my attention long enough to become projects. How does a distributed team locate the disagreement its thread never made explicit? What is the correct accounting path when a billable stream terminates before it reports final usage? How does a person, or an agent acting for them, establish that stored context is still true before relying on it?

Those questions became Ringi, Phantom, and Kizuki. The interfaces differ — a Slack agent, an inference gateway, a local-first CLI — but each addresses the same structural problem: preserving the evidence behind a claim so the claim remains checkable after the moment that produced it has passed.

Working across the full depth of a system.

At Chewy I work on labor and capacity planning, spanning the Snowflake pipelines that generate the forecast, the AWS infrastructure they run on, and the interfaces that deliver the output to fulfillment teams. Rewriting the labor-planning pipeline reduced its runtime from roughly 60 minutes to 10. In open source I have contributed to Prisma ORM, fixing millisecond DateTime precision loss in the SQLite driver adapter with regression coverage attached, alongside a documentation correction.

I work deliberately across those layers, because the information each one produces is difficult to obtain from the others. An interface exposes assumptions the schema left implicit. A production failure describes the data model more precisely than the data model does. A change in the workflow can eliminate a problem that appeared to require an engineering solution.

Exploratory work.

LeagueIQ reads a League of Legends match through its decision points — objective contests, rotations, and participation across the timeline — on the premise that the scoreboard records the outcome while the timeline records the reasoning. For a music course I used Python to generate a visual listening score for Le1f’s “Wut”, rendering rhythm, texture, and structural repetition as a single readable artifact. Both apply the same method to different inputs: take a record that is already complete and find the representation that makes its structure legible.

BASED IN
Boston, Massachusetts
EDUCATION
Northeastern University
BS Computer Science · Mathematics minor
Expected May 2028
CURRENTLY
Software Engineer Co-op at Chewy
June–December 2026
WORKING WITH
TypeScript, Python, SQL, React,
Node.js, PostgreSQL, and AWS
Download my résumé
04 — Exploratory work

Smaller projects, built to answer a single question.

Match data and music, treated as systems worth reading carefully.