kashav madan

I have vast experience working across the stack. I've worked on cross-platform desktop applications, full stack web applications, native and hybrid mobile apps, programming languages, graphics engines, hundreds of CLI tools and scripts, and more. I'm good at bringing teams together.

I've spent most of 2022 away from work! I worked on the Firefox browser at Mozilla until the end of 2021, and studied computer science and math at the University of Toronto before that.

I play around with the web on https://nestedparens.com. It might have blog posts or redirect to something or do nothing at all. There's an archive of old posts on the www2 subdomain.

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.


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 more hackathon-quality projects at github.com/kshvmdn.


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.
A “startup” 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.


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 scripts, scrapers, and Leetcode solutions.

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).

(Last updated late 2021.)