Florian Zemke

Full-Stack Senior Software Engineer


Crespo’s Worms Tournament

Crespo’s Worms Tournament

Crespo’s Worms Tournament (CWT) is a yearly hosted tournament of the strategy game “Worms Armageddon”. It’s considered the most prestigious of its kind and has money prizes involved.

This is the undertaking that got me started in programming in 2009. The tournament had been held annually since 2002 and the webmaster updated scores, tables, profiles etc. manually. One day in 2009 I challenged the situation to improve.
Ever since, the event is held using a fully autonomous tournament system with lots of extra features making the experience of the tournament much richer.

There’s an implementation of the Twitch API, games can be commented and rated, there’s a chat with private message functionality an archive of all games and much more to engage the users.

Through the years I rewrote the application a couple of times matching the re-implementation with my improved skill-level. I’ve gone from using Sublime Text and plain PHP, over CakePHP, several design iterations and am currently working on a rewrite in Kotlin, Spring Boot and Angular 2+ adding lots of flexibility to the system.


Below is an illustration of how the website has evolved through the years visually. From old to new. The first one being the website before I took over the last a peek at the currently under development rewrite.

CWT 2009 CWT 2010 CWT 2011 CWT 2012 CWT 2015 CWT 2019

Instant Smart Quotes

Instant Smart Quotes

I have an above-average interest in typography. I like it to be correct. Therefore I wrote Chrome and Firefox plugins to take care.

Also I am happy it has assisted a few hundreds of unknown people, too.

Instant Smart Quotes at work




Betting game that I wrote primarily in Kotlin and with Ember. It’s data-based by Postgres and the UI—for the sake of change—is written with the Bulma CSS framework.

It supports multiple communities simultaneously. I hosted one for my colleagues at work and one for the family. football-data.org provides an API of data—kudos to Daniel.

A previous version was built using PHP Laravel. So, this is basically one more endavor for myself to try things.

GitHubGitHub (predecessor)

It’s almost a Progressive Web App, too. Pics:

Tippspiel bets Tippspiel protrait Tippspiel landscape Tippspiel admin



First off, yes, it’s the site you’re on right now. How do you like it?

When I started my self-employment I thought an own page would make sense so I can introduce myself to potential customers away from the sparse capabilities on agency platforms.
Also this hosts my Blog that I had before. For the future I want Zemke.IO to not only be this personal page but also a collection of lots of projects I work on.

The theme is entirely written by me. I did not even reach out for a CSS framework. This makes the page quite performant and lightweight.
It takes advantage of the static site generator called Jekyll which is great because I’m a fan of Markdown.

Open Source

Open Source

I have several dozens of Open Source projects going—check ’em out at GitHub.

Job Experience

Job Experience

— Migrated a mid-sized codebase from JSF to AngularJS over the course of a year.

— Then again migrated from AngularJS to Angular 2+.

— Semi-automated the way we do time-consuming load tests.

— Probably did a lot more since it’s been four years…



I can support a team in the development and maintenance of an Enterprise-class software architecture.
May it be frontend or backend, I’m used to work in a full-stack manner as well as focus on encapsulated parts of the system in an agile software development environment.


Full-stack is my objective as I like to create the wholeness of a product but I know projects are big and diverse.
I would eagerly take on custom software projects for business or personal demands.


My proficiency lies in the likes of Java, Kotlin, React, Angular 2+, Ember, Spring, Hibernate and so on. IntelliJ IDEA is my Swiss Army Knife.
PostgreSQL, Oracle and MySQL are among the databases I have worked with.

Open Source

As an avid contributor and maintainer of Open Source projects you can also have an in-depth look at what I do on GitHub.


Sep 8, 2019

Firebase Custom Token REST Authentication

Consume a Firebase real-time database using REST with your own custom token.

Read on

Sep 7, 2019

RestTemplate Logging Interceptor

External API integrations can be a source of unexpected behavior and one will have a vastly easier troubleshooting if only there had been proper logging. Spring Boot’s RestTemplate allows for interceptors which is just perfect to do some logging.

Read on

Aug 3, 2019

Angular Model Converter

With a converter you can differentiate between what a user sees (view value) and what is actually persisted in the model (model value). This can be used for date/time input fields for instance where you want to display a string but want to save a JavaScript Date object.

Read on


I said hi, now it’s your turn.