CopperVM is an experimental bytecode virtual machine for an opinionated subset of JavaScript, written in modern C++. It will feature a complete JavaScript runtime with an async task queue, event loop and async task thread pool.

Initially, my goal was to just build a virtual machine, and I didn’t really care about designing a programming language. So I went with JavaScript. Halfway through the project however, the idea that this would be able to run just JavaScript started seeming really boring. So, I decided to design my own programming language and build a brand new virtual machine using what I learned from Copper. So, that’s coming up soon! Think statically-typed Python without the off-side rule running blazing fast.



A beautiful, cross-platform REST client written in JavaFX that aims to be a lighter alternative to the popular Electron-based alternatives. Everest allows you to compose and requests, stores your history, comes with support for Basic Auth, Digest Auth and OAuth 2.0 (work in progress). It also comes with lightweight mock API servers.


Articles, Reviews and Mentions:

Everest will come with a synchronization server, Summit, which will sync your projects, requests, history and mock servers across your devices. Summit will be written in Go.

Everest made it to #2 on GitHub Java Trending for a week, consequently pushing me to #13 on the list of trending Java developers the same week. It is also being by the University of California at San Diego for an online course they offer as an example for learning how to navigate a codebase, find things, add new features, etc. Check out a video by the course instructor, June Clarke, here.


AmbiQuick is an ambulance aggregation service, developed as a university project. It is written in the Python-based Django web framework along with Bootstrap and Socket.IO. Led a team of 4 to successfully develop this web application over a semester.


OAuth 2.0 Bin


A test server for the OAuth 2.0 Authorization Framework. OA2B is an RFC 6749 compliant implementation. OA2B is written in Go and uses Redis for persistence. It is a work in progress and will be available on oauth2bin.org free for use. It is open-source, MIT-licensed and also available as a Docker image.


DOM Manipulation Engine


A simple command-line program for parsing HTML files and building a DOM tree which can then be accessed and manipulated from an interactive shell or with scripts using jQuery-like selectors and commands. Written in C++, uses no external libraries and implements its own custom lexers, parsers and a bytecode virtual machine.

Check out the engine in action on ASCII Cinema:




A simple, beautiful text editor written with JavaFX. Learn more on the website.



A sophisticated library management system written with JavaFX. It comes with separate admin and user roles with a host of features including the regular book issue, return, renew along with some smart and powerful ones such as email notifications, holiday adjustments and fine calculation.

It is powered by a Java-based REST API running in the cloud on Heroku and uses MySQL for persistence.


The Adobe Icons Project


Designed a set of 10 vector icons inspired by those of Adobe products for popular, open-source creative applications such as GIMP, Inkscape, Blender, Krita, etc. Available on GitHub (recommended) and DeviantArt.