Progressive Web App
Best Practices
Knowledge focus timeline
This graphic visualizes the learning focus over time. You want to see more? Invite me!
Consulting CI Performance Bash JavaScript HTML/CSS PHP 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 0% 20% 40% 60% 80% 100% Focusing
Year PHP HTML/CSS JavaScript Bash Performance CI Consulting
2001 55 35 10 0 0 0 0
2002 60 30 10 0 0 0 0
2003 65 20 10 0 0 0 5
2004 65 20 10 0 0 0 5
2005 60 15 15 0 0 0 10
2006 65 10 15 0 0 0 10
2007 55 20 15 0 0 0 10
2008 30 45 15 0 0 0 10
2009 30 45 15 0 0 0 10
2010 30 30 20 0 0 0 20
2011 30 10 20 5 0 0 35
2012 20 10 20 5 15 0 30
2013 25 10 25 5 15 0 20
2014 25 10 25 5 15 0 20
2015 5 10 35 5 15 0 30
2016 5 10 35 5 15 5 25
2017 0 10 50 5 20 10 5
42 fields of knowledge
JavaScript, Load testing, Usability, Accessibility, VueJS, Docker, Node JS, Performance, ESI, Varnish reverse proxy, Extbase, Deployment, Google Chrome Extensions, Regressive testing, functional testing, acceptance testing, unit testing, bdd, Codeception, PWA, Ionic Framework, jQuery, jQueryUI, git, Continuous Integration, Concourse CI, socket.io, Firebase, TYPO3 CMS, Lighttpd, Nginx, Code Review, PHP, Symfony Framework, Internet of Things, Raspberry PI, NAS, Zanox, DBPedia, Semantic Web, RDF

As technical project lead of a big project for AIDA Cruises I had the opportunity to work with colleagues from around the world. Together with LG Business Solutions, Lufthansa Systems, Mitsubishi, AIDA Cruises and other Companies. I was in charge with the installation and configuration of an on-board information system for guests on a Cruise Line vessels. The special challenges here were the work on the ship during the crossing from Japan to Europe, and the coordination of the team in Germany. I really enjoined that work! In my daily business, I am in a team, which works very closely together with the customers. It is my part to explain complex technical procedures in a customer speech. I also do trainings and record screencasts. I also like sharing and gaining new things. That's why you often see me on user groups, bar camps and other conferences as a listener and speaker.

User Experience

In short, human-computer communication was my favorite course in university. I like it to build prototypes, to make tests with it, to fail, to create new prototypes and find solutions which are very suitable for the user. For prototyping I prefer in paper prototypes, interactive prototypes (created with e.g. Marvelapp). These days, you got also results very quickly with frameworks like vuejs. In my work as a developer, I had the opportunity to develop software for various output devices. In addition to the usual like smartphones, notebooks and desktop devices, should also implement the user interface for various digital signage devices and TVs.

In my free time, I'm a tester on testbirds, a crowd based testing provider. There you create screencast for unreleased prototypes, and give them feedback for a little money. For me it is a nice way to have a look on web applications with different eyes.

These encapsulate your app's current performance and opportunities to improve it.

Get sweaty when you 1000+ concurrent user request on your web server with a running php application which is a script language? Not me! That's the point where the funny part starts, mostly. Because I know, I am prepared! To prevent blackouts, I had projects with a huge amount of concurrent user request. I took care about all the different cache layer.

These metrics encapsulate your app's performance across a number of dimensions.
Client side
  • Offline first principle
  • Browser cache
  • Local storage
  • Cache API
Server side
  • Byte cache
  • parallel processes
  • precompiling
  • Compress big files with gzip
  • CDN
  • Load balancer
  • Reverse proxy
  • Reduce requests (sprites, icon fonts, inline code)
  • Using a headless CMS
  • Compress code
  • Lazy load
  • Critical css
These example project give you an idea of my knowledge.
We've compiled some recommendations for modernizing your web app and avoiding performance pitfalls.

I started with PHP 15 years ago and the time has come where I felt in love with JavaScript. On server side to implement microservices quickly, to build command line tools or just start a small web server with websockets.

On client side, the language is no less powerful. The common browsers have APIs build in for data storage, websockets, push notification, sensors like accelerometer, compass, gps, camera and microphone.

I build many applications like Live Chats, a counter for the table counter in my agency, a coffee waste alert the coffee machine (of course with websockets), extensions for Chrome. My latest app is CamFight. It was a challenge with a friend and my bosses to create an photo game application in just three days. It became five days but that was fun!

These example projects give you an idea of my knowledge.

I'm a native PHP speaker. It is one of the most used language for the internet. Even big pages like Facebook are build with it. For me as a teenager, it was the entry in hole new world. I appreciate the community a lot.

These example projects give you an idea of my knowledge.
German was one of my major subjects in high school.

As a consultant and developer in a international context, it is my daily business to read, write, program, listen and speak in english. With companions in open source projects, and colleagues from India and the USA with whom I work as an employee. In the meantime, it does not make any difference to me to enjoy a movie, whether the film is in German or English. Sometimes one or other word I don't know, but I have the experience that you can still communicate very well. Except with Korean colleagues. I still understand these very bad. On the other hand I had very good experiences with colleagues from europe. Especially with Eastern Europeans.

Continuous integration, continuous delivery

In the past 3 year, continues delivery got more and more important to me. One big part of it is testing. My focus is the Frontend testing with functional, acceptance and regressions tests. The run these kind of tests, there is a need to start the whole application in a build process.

There have been SaaS vendors offering this for a while, but often the terms of the contract do not allow the source code to leave the house.

Thanks to Docker and ConcouresCI, this is no longer a problem. To run tests on different browser with a selenium hub it becomes so easy these days.


I also worked with Java, Groovy, Ruby and a lot with bash. In my early days of programming as a programmer für motor.fm, Senator and Kinowelt I also get in touch with Flash, Photoshop, InDesign, Illustrator. I made animated adds and hole web applications with it.

An don't forget these
  • SQL (MySQL, Postgres)
  • noSQL (Mongo)
  • SCSS, less
  • RDF
  • Semantic HTML
Best practices
It is a good idea to ...
Be a part of Open Source projects

These example projects give you an idea of my knowledge.
Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Mon Wed Fri


  • Basketball
  • Play guitar in a band of developer
  • Long distance bike trips
  • I'm a drone pilot