This is a partial collection of side-projects that I’ve worked on.

Open source

View all projects on my GitHub page.

An automated theorem prover that implements a mechanical decision procedure to decide combinatorial properties of automatic sequences. Originally developed by Hamoon Mousavi (2013).

A decentralised art marketplace where digital art can be sold as NFTs. Users bid and artists accept it and sign over a copy of the art in any currency they like. See the project at 0x + Coinlist hackathon.

Contributed to a set of PowerShell cmdlets to help deploy Azure Site Recovery applications and manage resources including the vault, network and hypervisor.

An expressive web framework for Rust which aims to be fast and minimalist, and to give a robust foundation for web applications and APIs. It is available as a Cargo package.

An application that notifies people about events of their interest using crowd-sourced data. Created as part of a week-long hack with folks at the MIT Media Lab.

A whiteboard where multiple users can draw, share and brainstorm ideas. Written in nodejs with socket programming using socket.io.


Academic writing

Historical min/max range-sum queries

An algorithm that solves the problem of finding the min/max sum that a range of indices has seen across all versions of a dynamic array. Leverages the characteristic properties of persistent segment trees.

Sync-Diffusion: Anonymity in Bitcoin

A new anonymity-preserving protocol for transaction message propagation that aims to replace diffusion (Poisson gossip with poor anonymity properties) and compete with Dandelion.

Performance-centric resource allocation

A task placement and compute resource allocation scheme for private datacenters, improving the distributed algorithm given by Chen at al. in 2014 to handle multiple task faults of the same application.

Total k-dominating sets

A linear time algorithm for computing a minimum distance total k-dominating set in interval graphs, based on perfect elimination ordering and bicompatible ordering.