Florian Zemke

Full-Stack Senior Software Engineer

Works

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.

cwtsite.comGitHubWiki

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

ChromeFirefoxGitHub

Tippspiel2

Tippspiel2

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

Zemke.IO

Zemke.IO

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…

Services

Enterprise

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.

Custom

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.

Tools

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.

Blog

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

Jan 28, 2018

Spring Boot Embedded Postgres

You probably won’t use Spring Boot’s default in-memory H2 database in production. You might use Postgres, though. Also, you see the benefit of using the same database in production, development and when unit testing. Here is how to configure an embedded Postgres for your local environment that just starts along with your Spring Boot application.

Read on

Feb 25, 2016

Replacing HTML with Jade in Express applications

Jade is great. You can progress faster and that of course is valuable. So, here is how you can make your Express application one that utilizes the strengths of Jade.

Read on

Contact

I said hi, now it’s your turn.