Programming

I grew up with computers and was always interested in tinkering with them. After writing small batch scripts to start my MS-DOS games, my programming journey began with an attempt to write my own text adventure. Over the years, I have played around with many languages and technologies and still try out new languages and frameworks to learn new things. Below you'll find an excerpt of all the things I worked on over the years in backwards chronological order, ending somewhen in the early 90's.

2023
Web DID resolver

As a way to checkout how to publish an Elixir package, I wrote a simple Web DID resolver. The

is pretty straight-forward to implement, so this was a perfect starter project to explore Elixir a bit more. The package is published on

,

the code can be found on

,

and the resolver can be tested

.

2023
Advent of Code

Not really a "project" per se, but at the beginning of the year I started to use the

code puzzles to try out some functional style programming packages in combination with TypeScript. These puzzles work really well to familiarize yourself with new languages or frameworks, which is why I am currently solving the 2021 puzzles using Elixir.

This Website

This is the very first attempt at building something using Elixir and Phoenix. Both are very well-liked by people using it and I hope it might be a good full-stack solution to quickly build applications.

2022
FairRechner

Splitting costs equally among people with very different financial resources might not be the fairest way. Assuming everyone is putting in the same effort and having similar amounts of free time, it might be fairer to split costs proportional to income.

This is a very simple app, built mainly to try out React Native.

Event Foto Feed

This is the first real app I built with Elm (and Lamdera). It is a very simple Instagram-like app, where everyone can access a certain event to post images and messages. All images and messages are shown in a feed, but only accessible to people who have the password to the event.

Due to the magic of Lamdera, you get the benefits of Elm on the backend as well. Also, you get immediate updates to all connected clients out-of-the box!

2019 - 2022
SPARETECH

In 2019, I started as a full-stack software developer and later moved to a technical product manager role at SPARETECH, a start-up that builds a B2B SaaS product for sparepart management.

2019
Coffee Break Randomizer

At SPARETECH, we did random coffee breaks and I wrote a small Haskell script that created random groups from a list of names read from a file. You can specify the number of people per group and differentiate between "base" and "optional" people (e. g. to account for interns that might not be working all days and still ensure a minimum number of people per group).

There is no real reason to do that script in Haskell other for me to try out Haskell.

2018
Backgammon Scores

A friend taught me how to play Backgammon and I wanted an easy way to keep track of the scores, so I wrote a simple app keeping track of the scores on top of our pictures. Since she wanted to use the app as well for another Backgammon opponent, I generalized the app with an image picker.

Surf Forecast App

The surf forecast app by Magicseaweed is fairly exhaustive, having access to almost all surf spots in the world. However, it can be a bit overwhelming for older, slower phones and regions with slow internet connections.

Having spent some time in El Salvador with a friend who has the problem, that her phone is simply too old to load the MSW app, I developed a very lightweight forecast app for her home spot, using an API access key provided by MSW, including sunrise and tide times crawled with a python script.

Over time the app moved to a simple React website using NextJS, deployed via Vercel. In the meantime, though, MSW was sold to Surfline and the API access was discontinued.

ZomDie

ZomDie was my first contact with Android development. The motivation comes from the table-top game Zombicide, where you use weapons with different properties (based on dice throws) to fight against zombies. The app simply calculates the combinations of dice probabilities.

Originally, the idea was to use python4android, but the app turned out to be very slow and huge in size. With the advent of Kotlin for Android, I reimplemented the app and published it in the Google Play Store.

2004 - 2018
Mathematics & Research

For over 10 years, I was either solving excercises as a student using MatLab, or building software for my research project using Python and NumPy. Check out the research page for more infos about the topic of my Ph.D. thesis.

2003
SV Rechner

The work laptop my father had to use was very limited in functionality. He could open and read Excel files, but not edit them, so he could not use several Excel based calculators used to compute first offers for pension plans for clients.

Since he could open PDF files, and one can program form fields using JavaScript, I rebuild his most important tool as a PDF for him to use on his work laptop. He ended up sharing the tool with his colleagues and I sold the PDF file for a small fee to the company he worked for.

2001
Euro Currency Converter

When Germany introduced the Euro as the new currency, for some time both currencies, the Germany "Deutsche Mark" and the Euro were valid currencies. Using Turbo Pascal/Delphi, I wrote a small Windows desktop tool for my mother that calculated the change in Euro, whether the clients payed in the old currency or even in a cmbination of currencies.

First Website

At school, I wrote a website using pure HTML for a group of friends to share silly photos. I did this purely with the help of the German HTML documentation website called selfhtml.org.

~1992
Text Adventure

I can't fully remember how old I was exactly or what the story line was, but I do remember doing this in QBasic on MS-DOS, in front of a two-color CRT monitor, and lot of GOTO and LABEL statements.