A bunch of collected writings, best-of lists, and little coding snippets.

Essentially a pure-python (so that I can use PyPy!) static-blog generator, with a pure-python pseudo-markdown parser.

A lot of friends moved away. When we wanted to have a quick teleconference-type meeting, all existing solutions (Skype, Hangouts, Facebook, etc.) failed us. Also, I hate most of the companies running them. So I made a little virtual chatroom for us.

It uses Haskell/websockets on the server-side; TypeScript, Mithril.js and WebRTC on the client-side.

Montreal has a great bike-sharing program called Bixi. Finding out where nearby bike stations are located, and whether have parking slots or available bikes, is a cinch with its mobile application, or with other apps like Transit. However, I'm not such a huge fan of apps, and I try to avoid installing them if they are used for very little. There's also the official website, which has a map in it, but it's completely unusable (especially in small form-factor phones like the SE).

This uses the Bixi API, Leaflet.js, a very restricted subset of OpenStreetMap tiles (served via HTTPS from my server, to ensure the connection is secure so that it would work on Safari/iPhone), TypeScript, and a bit of native OSX/macOS tooling tomfoolery to convert SVG to PNG (because ImageMagick via homebrew was being annoying).

My first project in programming! Still gets near daily use from me. A programmable interval timer for working out in sets.

Safari on iOS does not play sounds from the browser, unless the app is "installed" as a Progressive Web App. I learned a whole bunch about those, to be able to use this one on the go.

web developer

Websites I've made for people, or otherwise worked on:



A minimalist cost-splitter. A few friends and I participated in a hackathon hosted by MasterCard in Fall 2015 and, with a far more polished version of this core, we won an all expenses paid trip to San Francisco, where we faced-off with a dozen teams from all over the world.

Uses Mithril.js.


Tiny utility to help practice japanese. Allows easily following the lyrics in a song, and easily switching between arbitrarily numerous representations of them.

Grid Game
Physics Game
Weight Tracker



I'm based in Montreal. Came from Peru to study mechanical engineering at McGill, stayed for the city. Now I mostly do software.

I used to train boxing. I'm working on handstand pushups. I speak spanish, french, and a little bit of japanese.

Here's my resume. If you want to hire me for a project, get in touch!