postmarketOS is a touch-optimized, pre-configured Alpine Linux that can be installed on smartphones and other mobile devices. I am Core Developer of the project, have ported postmarketOS to the Fairphone 1, Fairphone 2 and worked on a port for the PINE64 family of devices (such as the PinePhone, PineTab, etc).

Fairphone 2 mainline kernel

Currently most Android devices run a very outdated version of Linux which is modified by SoC manufacturers and OEMs and deviate from official Linux kernel releases quite a lot. Work has been work by different organisations, companies and people to upstream these changes to mainline Linux so a smartphone or tablet, which originally came with e.g. Linux 3.4, can also boot a non-modified version of the Linux kernel. That way security and features come directly to a device without the OEM being in the way. For the Fairphone 2 currently only a limited amount of hardware works but that hopefully can be improved in the future.

TWRP 3.X for Fairphone 2 with /data decryption support

Team Win Recovery Project (TWRP) is a popular custom recovery for Android devices with touchscreen support. Ported to the Fairphone 2, included crypto support and submitted it to upstream (now getting official builds as they are released).

CWM v6.0.1.2 for the ZTE Racer II

ClockworkMod Recovery (CWM) is a custom recovery for Android devices, made by Koushik “Koush” Dutta. Ported to the ZTE Racer II.

EFIDroid for the Fairphone 2

An UEFI-based second-stage bootloader which supports multiboot. Ported to the Fairphone 2.



OpenRazer is an open-source driver and user-space daemon that allows you to manage your Razer peripherals on GNU/Linux. I am developing it, handling issues and packaging the software for many different Linux distributions. Written in C and Python


An open-source Qt-based application which is UI for interacting with the OpenRazer daemon. Written in C++ and Qt.


A work-in-progress replacement for the OpenRazer project which aims to solve design issues present in OpenRazer. Works on Linux, FreeBSD, macOS and Windows. Written in C++.

Android Apps

Nextcloud News

An app which connects to the “News” app for Nextcloud. Written in Kotlin, uses the Android Jetpack libraries and the Nextcloud Single Sign-on API.

Schaukuchl Android App

An app which displays the current menu for the restaurant “Schaukuchl” in Vienna.

Spengergasse Timetable App

The timetables in our school were generated HTML pages that were not responsive and had other issues. We’ve developed an Android app that implemented a parser for the HTML tables using jsoup and displayed them in a nice format. The app was later abandoned because the school switched to a newer version of Untis (the timetable software) that had its own Android app.



Automated Arch User Repository Build System is an automated builder for Arch Linux packages with a webinterface.


A self-written DynDNS client & server. Works with the DigitalOcean DNS API.


Web-based todo list, made as a school project with 3 others.

Monstercat Connect Notifier

A Telegram bot which sends new releases by the EDM Label “Monstercat” automatically to a Telegram channel.

Browser Extensions


This is a Chrome/Opera extension which automatically redirects you from Java 7 Javadoc pages to Java 8 Javadoc pages.


A WebExtension (compatible with Chrome and Firefox 57+) that adds a Download button to educational videos on griesmayer.com which need Flash to play.



RobotPi is a project for controlling a robot with both a server-side and a client-side component.