Open Source Project Typescript, Linux Administration
Peertube

Peertube is a federated video streaming platform using ActivityPub. It streams videos via BitTorrent directly in the web browser with WebTorrent and Angular.

I am running one of the largest Peertube instances. I am also actively contributing to the Peertube code, especially in the areas of server administration, video transcoding and general backend programming.

Website Source Code

Professional Work Java
Casual Steps, Inc.

Snappy is a shopping app that lets Koreans buy products from online shops in the US. It provides a user-friendly interface that handles ordering, shipping, taxes and payment.

When I started this job, the app was only available for iOS. Within two months, I had ported it into a full Android app. During my time at Casual Steps, I was the main developer for the Android app, and took care of development, UX work, bug fixing, continous integration, and unit tests. All this was done in remote work.

Website

Get it on Google Play
Open Source Project Java
Syncthing for Android

Syncthing is a decentralized file synchronization app. It is similar to Dropbox, except that files are only stored on the user’s own devices. Synchronization is performed directly between these devices, without a central storage server. This gives users control over their data, whereas third parties don’t have access to it.

I started to work on the Syncthing-Android wrapper application in February 2014. Since then, I have been the main developer and maintainer for the application. Today, the app has over 100 contributions from other developers, and almost 100.000 downloads. My tasks include UX design, programming, issue triaging, and coordination with the main Syncthing project.

Website

Github Repository

Get it on Google Play Get it on F-Droid
Professional Work Java, Scala
videmic

videmic is a peer-to-peer video sharing app. Videos are shared directly between phones, using wifi hotspots. With this technology, users can exchange high resolution videos without using their limited mobile data. Transfers happen automatically, without direct user interaction.

I worked at videmic GmbH for over one year, as main developer for the Android application. During this time, I did a major rework of the entire user interface, and added various new features. Among these features are user profiles, performance optimizations, Facebook integration, and more. Additionally, I improved various aspects of the proprietary peer-to-peer library used by videmic.

Website

Get it on Google Play
Open Source Project Scala
Ensichat

Ensichat is an instant messenger for Android that is fully decentralized. Messages are encrypted and sent directly between devices via Bluetooth or Internet, without any central server. Relay nodes are used to ensure message delivery, even if the target node is offline.

I started to develop Ensichat as part of an “Individual Studies” university project in October 2014. I finished the course successfully in December of the same year. Since then, I steadily continued to work on the project. For my bachelor thesis, I designed and implemented an improved routing algorithm for Ensichat.

Github Repository

Get it on F-Droid
Bachelor Thesis
Implementing Delay-Tolerant Routing for a Decentralized Instant Messenger

For my thesis, I extended the protocol of Ensichat. Previously, messages were sent in a very inefficient way, and could not be delivered if the destination node was offline. Based on previous research, I designed and implemented a new routing protocol that is both decentralized and uses delay-tolerant routing. The protocol uses relay nodes that buffer messages until they can be delivered. In addition, an efficient routing protocol is used to minimize resource usage.