Open Source Portfolio

I’ve been developing software since I was a teenager learning to code in QBasic, Turbo Pascal, and HyperCard. In 2009 I earned a Master of Science in Computer Science. Over the following years I’ve become a generalist, tackling projects ranging from embedded Linux systems to reverse engineering Windows applications to full stack web development – and everything in between.

This portfolio highlights my work on open source projects.

Creator

Projects I created and (in some cases) actively maintain.

munimet.ro screenshot

munimet.ro

Live site | GitHub

My first “vibe coded” webapp displays the current state of San Francisco’s Muni Metro subway via machine learning, using Google Cloud Run as the backend.

  • Tech: Claude Code, PyTorch, Python, Falcon, tkinter, Google Cloud Platform, HTML, GitHub Actions
  • Platform: Web

Fang screenshot

Fang

Home page | GitHub

Want to catch up on the news? My easy to use cross-platform news reader features a QML frontend and custom RSS/Atom/Sitemap/JSON parser. Displays news via embedded Chromium (CEF.)

  • Tech: C++, Qt, QML, CEF, WebSocket, Javascript, SQLite, RSS, XML, HTML, JSON, CSS, GitHub Actions
  • Platforms: Windows, macOS, Linux, Android (experimental)

How Many Bags logo

How Many Bags?

Home page | GitHub

Provides movie ratings from every episode of Tim Heidecker and Gregg Turkington’s long-running comedy series, On Cinema at the Cinema.

  • Tech: HTML, JSON, Javascript, GitHub Actions
  • Platform: Web

Photo of the Golden Gate Bridge (public domain)

selenium-webext-bridge

GitHub | npm

This npm library is aimed at engineers developing Firefox extensions who wish to verify them with Selenium tests. This grew out of a Firefox extension I was working on, as there was no way for Selenium to deal with Firefox tabs or easily communicate with extensions once they were installed.

  • Tech: Javascript, Selenium, Firefox, WebExtension, GitHub Actions, npm
  • Platforms: Windows, macOS, Linux

QMLRearrangeableTreeView screenshot

QMLRearrangeableTreeView

GitHub

QML user interface for a drag and drop rearrangable list with one-level deep folders. Supports both desktop and mobile touch screens. Example provided in both pure QML for rapid prototyping as well as a C++ backend.

  • Tech: QML, Qt, C++, Javascript
  • Platforms: Windows, macOS, Linux, Android, iOS

He is the one

QSingleInstanceCheck

GitHub

Originally developed for Fang, this simple C++ header-only library can be used to not only ensure that one and only one instance of your app is running, but also send a signal to the original instance. In Fang this signal is primarly used on Windows to show the app when it’s been minimized to the system tray.

  • Tech: C++, Qt, shared memory, local socket/named pipe
  • Platforms: Windows, macOS, Linux

Power button

QAutoStart

GitHub

Also developed for Fang, this C++ library allows your Qt application to launch at user login. Designed to be easy to use, with only a single line of code to enable or disable the feature.

  • Tech: C++, Qt
  • Platforms: Windows, macOS, Linux

GI Joe parody - stop all the downloading

QWebDownload

GitHub

Simple Qt/C++ library for downloading content from the web (HTTP and HTTPS) asynchronously with sensible defaults and retry options. Includes support for batch downloads.

  • Tech: C++, Qt, HTTP
  • Platforms: Windows, macOS, Linux

Modiuplate Lua screenshot

Modipulate

GitHub

Tracker music library for playing music and responding to musical cues. Intended to be used in video game development. Includes C and Lua bindings.

  • Tech: C++, PortAudio, Lua
  • Platforms: Windows, macOS, Linux

InjectCrash screenshot

InjectCrash

GitHub

Windows command line utility to crash another process. Useful for testing crash reporters.

  • Tech: C++, Win32
  • Platforms: Windows

Contributor

Projects I have contributed to, either as an employee or volunteer.

Cardo screenshot

Cardo

Home page | GitHub

Desktop podcast client. Contributed additional search engines, bug fixes, and translations. Officially a project collaborate as of March 2026.

  • Tech: TypeScript, React, Tauri, Tailwind
  • Platforms: Windows, macOS, Linux

Jellyfin Desktop screenshot

Jellyfin Desktop

GitHub

Desktop client for the Jellyfin Media System. Contributed build and setup scripts and bug fixes.

  • Tech: C++, Qt, QML
  • Platforms: Windows, macOS, Linux

Geary screenshot

Geary

Home page | Wikipedia | GitLab

Easy to use email client for GNOME and compatible Linux desktops.

Contributed initial UI, HTML email support, and parts of IMAP backend as an employee of the Yorba Foundation.

  • Tech: Vala, GTK+, SQLite, IMAP, SMTP
  • Platform: Linux

Shotwell screenshot

Shotwell

Home page | Wikipedia | GitLab

Easy to use photo manager for GNOME and compatible Linux desktops.

Contributed RAW+JPEG support, custom MOV parser, and search UI as an employee of the Yorba Foundation.

  • Tech: Vala, GTK+. GStreamer, SQLite
  • Platform: Linux

Ubuntu Touch Gallery app screenshot

Home page | GitLab

Photo gallery app comissioned by Canonical for Ubuntu Phone, intended to ship with the (unreleased) Ubuntu Edge handset.

Contributed SQLite storage backend and iterated on UI as an employee of the Yorba Foundation.

  • Tech: C++, Qt, QML, Javascript, SQLite
  • Platform: Linux