My Projects

I like to work on side projects for fun and to learn new technologies/skills. Often these are open source in which case they’ll be on my GitHub profile.

Python Taskwarrior Todoist CLI

I think Todoist is a fantastic productivity app, but I have recently been trying to transition to as mnay open-source & self-hosted tools as possible. This led me to build a tool to migrate all my tasks from Todoist into Taskwarrior.

I don’t play guitar much anymore, but when I do it’s good if I can quickly access tabs of songs I’m learning. I also prefer storing data in plain text as opposed to just linking to a guitar tab site. That way they are also available offline.

I started this project while learning German so I was using frequently. Being able to run lookups from the terminal instead of having to navigate to the webpage each time was a big boon. I also wanted to improve my knowledge of Haskell so this was a good starting project.

Python SOCKS5 Proxy

I wanted to experiment with Python’s asyncio and build some kind of server application. SOCKS is a simple binary protocol that is well documented and easy to implement from the RFC.

AngularJS Javascript

This is a now abandoned attempt at building a Bootstrap4-based component framework for AngularJS.

At the time, the company where I worked used AngularJS and Bootstrap, but decided against several existing component frameworks for various reasons. I decided it would be fun (and maybe even useful!) to build one myself.

Go REPL Parser Interpreter

This is the code as I follow along with the excellent book Writing an Interpreter in Go by Thorsten Ball. The book introduces the reader to the Go programming language and builds an interpreter and REPL for a C-like programming language called monkey.

Haskell Servant

This is very much a WIP and I haven’t had much time for it lately, but the idea is to build an open-source solution for doing gift exchanges (e.g. Secret Santa). This was motivated by using other “free” gift exchange web apps and seeing how much advertising & personal data harvesting was going on. I also wanted to learn more about Haskell and Servant.

Vue Javascript
This was a fun one to learn more about VueJS. I play guitar (or used to at least…) and thought it would be cool to build chord diagrams and an editor for them. Here what the chord diagrams look like: Other than those basic features I haven’t really worked on it much and don’t have plans to. There is also a basic demo here.

Elm PostgreSQL

This was a fun little TODO/productivity app to try out two technologies I was very curious about: Elm and PostgREST. It consists of a PostgreSQL-based RESTful API and a simple web interface.