My Open Source Projects

In my spare time I love to work on a number of open source pet projects of mine. All my public project repositories can be found on my GitHub profile.

Project List

Git Whiteboard App
Web app to visualize Git functionality in a Git history graph for training purposes

GitHub page

The Git Whiteboard App is a stateless (i.e. purely client-side) web application that allows you to quickly and easily create Git graphs in your browser for demonstration purposes. The application is designed to provide all the visual possibilities that are usually required on a whiteboard to draw Git graphs: Commit graphs, HEAD, branch and tag labels, simplified commit IDs, commits which are lost in the reflog, etc.

This app is written with Kotlin and compiled into JavaScript code.

Go to the app

Java library uri-fragment-routing
Java utility library for mapping parameterized URI fragments on custom actions

Project page | GitHub page

This library provides a framework for mapping URI fragments as found in URIs, such as!signin, on custom action command objects. For example, the URI fragment signin could be mapped on an action class GoToSignInPageAction which will be executed when the user visits this address.

ComponentHighlighter for Vaadin
Vaadin extension for highlighting components in the browser when running in debug mode

Project page | GitHub page

ComponentHighlighter is an add-on for Vaadin 7 and 8 that aims at supporting the Vaadin developer writing a Vaadin application. The add-on provides an extension for components which highlights an extended component in the browser with an eye-catching info label.

Add-on in the Vaadin Directory

URI Fragment Actions for Vaadin
Add-on for Vaadin providing URI actions.

Project page | GitHub page

Vaadin add-on which enhances the standard Vaadin Navigator component with a sophisticated interpreter for URI fragments. Using this add-on, you can design the URI fragments used by your application in an arbitrarily complex hierarchy. Furthermore, your URI fragments can contain any number of parameter values which will be interpreted and converted automatically so that these values can be handled in a type-safe way.

Add-on in the Vaadin Directory

Vaadin by Example
Learn Vaadin by working example projects

GitHub page

The goal of this project is to provide learners of the Vaadin Framework with working example projects for various problems which one might encounter while coding with Vaadin. The idea behind this is to complement articles and tutorials on Vaadin topics with code examples that will work out of the box.

A language independent vocabulary trainer

Project page | GitHub page

jLexis makes it possible to learn the specific features of a foreign language through the means of language plugins which can be added to the application. Such plugins can be freely designed so that language specific constructs can be learned systematically.

jLexis is a desktop application written with Java Swing. I have stopped implementing this version and set up a new successor project. The reimplementation of jLexis is called Lexis and is implemented with Kotlin.

A language independent vocabulary trainer - this time with Kotlin and on the web

GitHub page

Reimplementation of jLexis in Kotlin. This version will be a web application and uses Spring Boot and Vaadin.

User Microservice
Microservice for user account management - written with Spring Boot

GitHub page

This project provides a micro-service for user data management with a public RESTful interface. The RESTful API uses Spring HATEOAS for linking individual resources. By that, it is only necessary to know the service's base URL to work with it. Starting with the root document you can follow links to access the service's individual resources.

This project was started as a demo project intended to explore and showcase how a proper Java client for a REST API can be designed. The goal was to use hypermedia-driven REST (HATEOAS).

Student Projects

Project page

Tool for transforming and evaluating vehicle movement with respect to properties which are relevant for wireless ad-hoc networks.

Suggestion ComboBox

New widget class for Java Swing that is backed by a Ternary Search Tree data structure. Provides rapid prefix matching and spell checking abilities.


Automatic simulation run assignment for the SimpleSim network simulator. This software was implemented by me for my diploma thesis.