I like working on side projects in my free time. Most of them are free and open source software.
Projects
Aegis is a secure 2FA app for Android with support for TOTP and HOTP. It encrypts the vault of tokens at rest, supports biometric unlock, has a clean design and has lots of organization options.
Over a hundred thousand people rely on it for their 2FA.
Badour is a service that allows one to set up alerts to monitor popular social websites for keywords. Users receive notifications when matches are found on supported websites: Reddit, Hacker News, Stack Overflow, GitHub and Lobsters.
This was a service that checked whether one of your applications is affected by the recent RCE vulnerabilities in log4j: CVE-2021-44228 and CVE-2021-45046.
Thousands of people and organisations used this service in the days after publication of the vulnerability, and it was still being used regularly in the 2 years after. I've since discontinued the service, although it's still possible to self-host it.
Menta is a secure, simple and easy to use API token format. It uses XChaCha20-Poly1305 symmetric authenticated encryption to create encrypted tokens and to ensure their integrity. There is no asymmetric option, and there is zero cryptographic agility.
This is a status page that keeps track of Tox bootstrap nodes. It speaks the Tox protocol and periodically sends a couple of requests to every node. If a node responds correctly, it is marked as 'online'. Full details on how this works can be found on the about page.
Although I don't spend time on Tox anymore, this website is still in use by the Tox community today. Most Tox clients use its API as the source for their bootstrap node list.
This is an Android app that can expose WebDAV storage through Android's Storage Access Framework (SAF), allowing other apps on the same device to read/write to it.
It is still a work-in-progress, but simple operations like reading an writing should already work well.
The poor man's KVM switch for libvirt and VFIO users. This tool can attach/detach a set of USB devices to/from a libvirt virtual machine and switch monitor inputs through DDC/CI. The toggle mechanism can be triggered with a simple request to its HTTP server.
Historical
The following is a list of some of historical projects that I consider complete and/or no longer actively work on.
Toxy was a Tox client for Windows, written in C# and WPF. It has support for all of Tox' features, including group chats and audio/video calls.
SharpTox is a .NET wrapper for the Tox core library. It covers the entire API of the core library and has useful high-level utility functions. It is used by a number of Tox clients, including Toxy.
EchoBot is a bot for Tox. Users can add this bot to their friend list and call it to test their audio/video setup. As the name suggests, the bot will echo any audio/video sent to it back to the user.
An implementation of the Nano cryptocurrency in Go. The goal of this project was to create an alternative to the C++ implementation and to document the protocol in the process.
Unfortunately I never finished this project due to a lack (at the time, anyway) of any documentation about the consensus algorithm. The project is still worth mentioning, I think, because it came fairly close to completion on other fronts like syncing the full chain. It is also still useful as a utility library for working with Nano addresses, seeds and balances.