Kashav Madan

I'm a software engineer at Airtable in San Francisco. I worked at CircleCI and Cohere in 2022, and at Mozilla until the end of 2021. Before that I studied computer science and math at the University of Toronto.

I used to have a tech blog at nestedparens.com. Some of my open source work is at github.com/kashav.

Some things I’ve worked on:


Patches and backouts. Also here.
Test cases, scripts, bugs, patches.


A dynamic static site generator. Can be used to clone, build, and view any checkout of a static site repository, all through the browser. WIP, see this issue if you’re curious.
A CLI to search for files using a SQL-inspired syntax. It got a lot of stars.
A CLI to share files between machines on a local network, inspired by AirDrop.
A CLI to find dead links in source files.
A URL shortener. It uses `http-equiv=“refresh”` with static sites hosted on GitHub Pages.


A web tool built by reverse engineering Github's avatar algorithm to lookup user ids that have a specified avatar pattern. (Their user id field appears to be autoincrement so it's theoretically possible to side channel your way to any avatar you're interested in, if you're into that.)
I monitored network requests for NBA.com web apps and built a Node library around the endpoints that I found.
Web APIs for public data from around the University of Toronto. Built with friends; read Qasim’s motivation for starting the project: https://qas.im/cobalt-and-the-case-for-open-data/.
uofthacks2017, uofthacksv, uofthacksvi (2016-2019)
Three years of UofTHacks websites and scripts. We built everything from scratch each year because of how fast JavaScript and React were changing.
Brampton Transit API
A scraper and web API for Brampton Transit bus times.
Many, many, many iterations of my previous websites. Some interesting JavaScript in a few of these.
And many other hackathon quality projects at github.com/kshvmdn.

Mobile (Android, iOS, React Native)

An Android app to stream SMS over WebSocket. Allowed me to text from my laptop while my phone was across the room.
I enjoyed sitting in on random lectures, so I made this to explore ongoing classes from around campus.
NBA Player Tracker
I built this to dogfood NBA.js. It displayed player stats, game data, news, etc.
Unnamed iOS game
In 2012 I made an iphone game that was inspired by the tap-tap music games. I don't have the source or any screenshots but included this because I think it was the first significant project I worked on.


A spec-compliant sqlite client. It was kind of terrible, but it worked for basic SQL operations. For a grad school Databases course.
A set of web scrapers for public data from around the University of Toronto. Included courses, textbooks, buildings, restaurants, gym schedules, etc. These served as the data source for Cobalt.
Many one-off scripts and scrapers.

School / Assignments

I used a single repository for all of my assignments during my time at UofT. It has 532 commits; the first happened on October 1, 2015, and the last on April 5, 2019.
Lambda Calculus ↔ C ↔ x86 compiler (Racket)
For a Compilers assignment. Probably my favourite assignment and my favourite course.
For an OS assignment. We implemented various commands from scratch for the ext2 filesystem: cp, ln, mkdir, rm, restore.
Distributed KV Store
For an Advanced OS assignment. With an accompanying paper and graphs and everything. Basically a clone of Memcached (and just as good too, I promise).


A set of mobile and web application for event hubs to share photos and videos. We had built (and deleted) many iterations of this since high school. This was its final form. See also chapsule.com.
I wrote about bugs and some other stuff while I was off from work. I may start again some day.

(Last updated mid 2022.)