Live
StudyTomato
emilio.to/studytomato
Everyone online studies for 25 minutes, then plays Minesweeper together. The timer is derived from UTC, so there's no shared state to sync. FastAPI and WebSockets.
Projects
- 2026TurtleneckA twin-stick shooter where your shell is a factory that powers your abilities. Built in Godot, with a headless test harness and a scripted playthrough that checks the whole game.Godot, GDScript
- 2026rtr-iso20022Rust types for Canada's Real-Time Rail payments, generated from the ISO 20022 schemas and checked with round-trip tests. Found a spec mismatch and reported it to Payments Canada.Rust, serde, typify
- 2025HTTP/1.1 serverAn HTTP/1.1 server in Rust on Tokio, built to find the least RFC 9110 and 9112 require for a server to count as compliant.Rust, Tokio
- 2026wtf_is_cSmall C experiments on what's underneath: glibc heap padding, file descriptor numbering, and poll vs. epoll across 1,000 pipes.C, Linux, gdb
Work
2025 – nowTechnical Merchant SupportShopify · RemoteTraces escalated incidents to the root cause in the code, then ships the fix or partners with the responsible team, depending on scope.Ruby on Rails, React, GraphQL, SQL
- Debugged escalated incidents across the Rails back end, the React front end, GraphQL APIs, DNS, TLS and payments, using source code, logs and SQL.
- Owned fixes end to end when the change was within scope, and partnered with the responsible team on broader changes, bringing a reproduction and the exact cause.
- Supplied the key diagnosis in a search incident, which led to a platform-wide change in how catalogs are indexed.
- Verified diagnoses, including AI-written ones, against the code and data before acting, so fixes went to the real cause.
- Wrote internal documentation for Technical Merchant Support and Support Advisors, checked against the source code.
2024 – 2025Software Developer, AI trainingOutlier · RemotePromoted to Senior Reviewer in 8 months, rated 4.9/5 across 200+ code reviews.Python, Rust, PostgreSQL, MySQL
- Promoted from Contributor to Senior Reviewer in 8 months, with a 4.9/5 rating across 200+ code reviews.
- Debugged and rewrote LLM-generated Python, Rust and SQL: logic errors, memory-safety issues, slow PostgreSQL and MySQL queries.
- Wrote reference solutions and test suites to expose edge cases in AI-generated APIs and data pipelines.
2020Front-End Engineering InternTravelPal · RemoteBuilt the Angular front end for a hotel guest app MVP.Angular, TypeScript
An MVP for hotel guests: book a room, see room layouts, reserve activities, order room service, find their way on a hotel map.
- Built the Angular components for the guest app.
- Connected the front end to the back-end REST APIs.
- Wrote unit tests for new and existing features.
2017 – 2018Software Engineer InternRocSystems · Puerto Vallarta, MexicoWrote parking-gate software for 12 entry points and removed a 4-second wait at every gate.Python, Raspberry Pi, PHP, JavaScript
- Wrote the software for an IoT parking-gate system across 12 entry points, on Raspberry Pi.
- Stopped cars backing up at the gates: the gate waited ~4 seconds for an audio clip to finish before opening. I moved the audio to a background thread so it opens right away.
- Built an automated sales-report system in PHP.
Old stuff
- 2019GalaxerA 2–4 player strategy game in Unity and C#, shipped to Google Play in 2019.C#, Unity
- 2019MarkovTweetsA Python Twitter bot that writes tweets with Markov chains. Published on PyPI.Python
- 2013SteamCMD fixAt 12, I tracked down why SteamCMD quit silently on my Garry's Mod server and made a tutorial about the fix. About 2,000 views.Windows, SteamCMD
