About Me
Hello World! I'm a lead web developer by day and a hobbyist game developer by night, and a maker all the time.
This is my personal showcase. Have a look around and discover my projects.
Game Jams
Bearly a Heist
Penguin Paradise
For Ludum Dare 48, we developed this game about penguins that got stranded in an empty grassland. Together with the player's help, they need to build a thriving village, supporting different kinds of specialized penguins. And if all goes well, the building of a grand monument is rumoured among the penguins.
After being rated by the community, our entry is among the top 20% of almost 3 900 submissions, with the voxel graphics scoring our highest rating yet with 3.8 out of 5 stars in the graphics category.
Our Godot based game is played directly in a web browser and features a story which guides the player along the penguin's adventure, integrating the tutorial into the game flow.
while(sushi);
Developed during Ludum Dare 47, this game runs the player through a sushi-making loop, in which they try to make their catstumors happy by preparing a mix of nigiri and maki for their individual tastes. Based on how the cats like the sushi on offer, the rating of the restaurant as well as the cash reserves rise or fall, therefore high happiness is key for keeping the restaurant open in the endless mode.
Based on community voting, our game ranked in the top third of over 3 200 submissions, especially appreciating the humorous writing by placing it in the top 7% in the humour category.
Build with the Godot game engine, the game is playable directly in the browser and features a tutorial mode to help with understanding the sushi making mechanics.
Project Kepler
This game was developed during Ludum Dare 46. Set only a few years in the future, it plays out an epic journey of humanity to a new home - the exoplanet Kepler 1649c. As the ship's captain, it is your responsibility to keep everything in working order and your fellow passengers happy, to "keep it alive".
The community ranked our game in the top 50% of almost 5 000 submissions.
Using the WebXR powered A-Frame, the game is fully playable in a web browser and could even be experienced in Virtual Reality, although we didn't finish it enough to allow movement in VR.
Personal Projects
This website
To give my projects a nice home to show them off in a central place, I wrote this site from scratch. As a change, it is fully static content, completely rendered at build time and all animations and interactivity is pure CSS magic.
This is realized by using Eleventy to have a modular architecture that separates content and structure. Furthermore, Sass is used to create a fully custom styling. In other words, giving myself a challenge at creating a personal website to show off my web-development skills.
Web-Games
Play some games. With your friends. With friends spread across europe, having an option to play party games virtually is almost a necessity. As I'm obsessed with nice UI design, I decided to create my own web-app for online games.
From the technical site, this is achieved with Flask to generate the site content on the server-side. Using web-sockets, all players get instant updates on player moves while Vue is used for some client-side enhancements. For account management, Discord is integrated as an OAuth login. All the data is stored in MongoDB.
Public Transport Reach
Using public transport to get around the city is more environmentally friendly than any other way of transportation. To better explore the reach and ways of public transport, this web-app showed where you can get to from a starting point of your choice. The data was based on Here Maps. Unfortunately the used APIs are now shut down, which is why this web app isn't available anymore.
This web-app ran fully client-side and used Vue to orchestrate the interactions. The resulting map was rendered with Mapbox to get a clean and performant vector display.
ScoreSaber Rank Panel
While this Twitch extension started as an experiment for a friend, it's currently used by over 500 channels with over 60.000 monthly viewers. With it, streamers who play Beat Saber can provide their viewers with direct information about their statistics and ranking on the community-run leaderboard of ScoreSaber.
Building upon Twitch's infrastructure, the extension is written in plain JavaScript, with some help from Eleventy to easily manage the view templates. The first version used web-scraping on a cached version of the leaderboard to get the streamer's statistics. However, as soon as the official API was available, the second version switched to using it instead.
Dark DBF
This webapp is a custom UI for dbf.finalrewind.org that provides a dark design based on Bulma. With it you can get live data for DB trains, which is publicly accessible but hard to get, neatly displayed. Furthermore, it gives travellers additional information like a delay statistic and the wagon order.
The server-side, written in Flask, generates dynamic views for the aggregated data and statistics. On the client-side the web-app is fully usable without JavaScript. Additionally, it can be added to the home screen on smartphones for easy, app-like access.
Hackathons
Aquila
During our train ride to the 8th DB Open-Data Hackathon a recurring question emerged: "What exactly is the landmark passing by our window?" Based on the track data provided at the Hackathon we set out to create a web-app solving this question. Travellers get an overview of nearby points of interest and can get further information after tapping on them. The data is provided from Wikidata and Wikivoyage to get great coverage.
Our project was chosen as a "Winning Project" and soon after a similar feature was integrated in the on-board ICE portal.
The frontend is powered by Angular with styling based on Bulma. It uses a backend written with Flask to receive the aggregated data.
Lightning Reads
Everyone knows the struggle of researching based on a source text. For the Campus Hackathon Darmstadt we set out to solve this problem, with the help of "Artificial Intelligence meets Open Source". Based on a provided text, our web-app collects the most important words, topics and further information needed to dive into the subject.
The jury awarded our project as the "best result overall".
The app's frontend is implemented with Angular and Bulma and provides an easy to grasp representation of the information. These are retrieved from the backend, which is implemented using Python and Flask. It utilizes various natural language processing libraries and an access to Wikipedia, to gather further data.
Professional Work
Web-App Developer
My main focus as a professional developer is the development of web-apps. Striving to develop responsive, fast and easy to use web-apps while ensuring a high quality developer experience as well is my goal as a lead developer.
Apart from the feature-driven development, I'm also interested in all facets of automation, continuous integration and continuous delivery.
My expertise is focused on the frontend of web-apps, powered by Angular and TypeScript.