Since I keep building more of them, here's a list of Linux apps I've made. Most of them are optimized for phone use. For simplicity I only list graphical applications here.

Megapixels

The camera app for the PinePhone. Supports configuring the camera pipeline on the PinePhone to handle both the front and back camera, uses the raw bayer mode to get the highest quality pictures from the sensor. You can read about the development in part 1, part 2, part 3 and part 4 (source code)

Powersupply

The Powersupply app was mainly made to help debugging the power and type-c drivers on the PinePhone. The power routing is quite complex and it would take some work for end-users to get the required debug info about the state of it. Also sometimes user interfaces show that the battery is charging based on if the usb cable is plugged in. The Powersupply app queries the state of the whole power and usb system through sysfs and shows  the actual charge/discharge rate of the battery. It's also handy to see which power and data direction has been negotiated on the usb C port. (Source code)

Numberstation

This is an TOTP application for generating the 2FA tokens that are normally generated by Google Authenticator. New keys can be added by otpauth:// urls which are the things that are encoded in the QR codes for 2FA. The app registers and url-handler for the otpauth urls so it works nicely together with the QR code handeling in Megapixels (Source code)

Switcher

Switcher is a more complicated application that makes it possible to control Blackmagic Design ATEM video switchers/mixers from Linux. It's mainly so I can control my hardware using the PineTab since the official software is Windows/OSX only and doesn't support ARM. The network protocol is reverse engineered and documented to make this work. (Source code)

Readerview

This is a Gemini webbrowser written in GTK4. It's not super stable yet but allows browsing gemini sites on a touchscreen. (Source code)

Thumbdrives

This is the Linux phone clone of DriveDroid. It allows you to store .iso images of CDs on the phone and emulate an USB CD drive when plugged into another device. It allows you to create virtual thumbdrives that are stored as .img images and are emulated as USB Mass Storage devices and are writable. (Source code)

Wiremapper

Wiremapper is a Linux Phone app to control the Pockethernet network cable testers. These testers have no user interface except 4 leds and bluetooth and are normally controlled with an Android phone. The official android phone isn't very good honestly but at least with this app you can run the appropiate tests quickly and also use it from laptops. This app also required reverse engineering the protocol used to control the hardware. (Source code)

postmarketOS Tweaks

This is a settings utility inspired by Gnome-Tweaks to change settings in the mobile interfaces supported by postmarketOS. The settings pages are defined by config files instead of hardcoded in the application so the UI packages for postmarketOS can ship extra settings for installed apps/user interfaces. (Source code)

Shipments

An app that's developed desktop-first for once, but still works great on mobile. This application will track your shipments, currently only very limited support for package carriers. (Source code)