Hello out there, I am Michael, an engineer who is passionate about optimizing and creating web applications. Currently, I am full time employed at Highsnobiety as lead software engineer.
I enjoy trying various languages and tools in projects or layouting print and digital content, however my true love and passion lies in web development with JavaScript.
projects
Please be aware that some projects may still be under development, offline and/or deprecated by time.
If you like this site, feel free to visit this project on Github.
-
-
open source
Auto Font Matcher
For a huge typography system I needed to match various fonts and styles to their respective fallbacks - so I automated the procedure.
↳ More information about Auto Font Matcher
- Canvas
- Typography
-
-
-
open source
DatoCMS Plugin 'Use Link as Defaults'
At Highsnobiety we needed a plugin for our content management system that extends the functionality of DatoCMS by filling in fields automatically based on linked content.
↳ More information about DatoCMS Plugin Marketplace
- ReactJS
- DatoCMS
-
-
-
open source
Bundlecheck
While bundlesize was my go-to tool for checking builds, I was at some point super annoyed by their downtimes. That is why I developed this alternative tool to use in my projects, which is totally sufficient for my use cases.
↳ More information about bundlecheck on npm
- Web Development
- Tooling
-
-
-
university
Master Thesis
Concept and Development of a proof of concept for an offline, keyboard-only Sprint Planning tool that uses methods of requirements engineering to improve traceability and changeability.
- JavaScript/ES2015
- CSS3/Sass
- HTML5/PugJS
- Electron/Node.js
- ReactJS
- Webpack
-
-
-
open source
React Multiple Apollo Clients
If there is ever a need for using multiple Apollo clients in one application and you do not want to merge your requests on server-side, feel free to try this approach.
↳ More information about react-apollo-multiple-clients on npm
- GraphQL
- React
- Apollo
-
-
-
open source
React TypeScript Starter Boilerplate
I have wasted a lot of time finding a boilerplate with React, Redux, Typescript, Webpack and a working coverage report. Though I was not satisfied with what I found, I created my own starter project. Try it out.
↳ More information about react-typescript-starter on github
- TypeScript
- React
- Webpack 3
- HTML5
- Sass
-
-
-
open source
BeuthBox: Paella Player
During the course Streaming Media Services at the Beuth University of Technology my task was to integrate Paella Player into our Opencast-server. Pallea Player has a lot of neat features, as dual-view, HLS-streaming and many more.
Therefore customized versions need to be produced, which are available below.
- JavaScript
- CSS3/Sass
- HTML5/PugJS
- jQuery
- Angular 1.5
- Opencast
-
-
-
open source
Slack Command Trigger
You need a tool for triggering commands in any of your Slack-channels?
Here you go. With this Python implementation you can trigger any command in any channel. For instance, I used it to trigger a poll for having lunch once a day around lunch-time.
↳ More information about slack-cmd-trigger on github
- Python
-
-
-
open source
AutoTilingTexturer (still in progress)
An implementation of an auto tiling algorithm in node.js.
The task of the algorithm is to create a map with textures based on a 2D bitmap. Each pixel on the bitmap corresponds to a texture. The main task is the recognition of edges and corners, as well as the transitions of different textures.
↳ More information about AutoTilingTexturer on github
- Node.js/ES2015
-
-
-
open source
-
university
MappedJS – Authoring and illustration of infographical maps
Project for my Bachelor thesis entitled 'Authoring and illustration of infographical maps on the web'.
MappedJS is a JavaScript library for displaying 2D-bitmap images as an interactive map in a browser. Furthermore marker, labels and some neat features are implemented, yet.
MappedJS has also an application written with Electron, which enables people without programming knowledge to create beautiful maps.
↳ More information about MappedJS
- JavaScript/ES2015
- CSS3/Sass
- HTML5/PugJS
- Canvas2D
- Electron/Node.js
- AngularJS
- Webpack
- Python
- Adobe Illustrator
- Adobe Photoshop
- QGIS
- JSON
-
-
-
open source
ImageSlicer
A tiny algorithm written in Python to divide a large image into many small tiles. A large amount of options can be set.
↳ More information about ImageSlicer on github
- Python
-
-
-
team 3+
-
university
Video: F-Hain | contraries
Within the course Multimediatechnik Video at the Beuth University of Technology, a short movie should be produced. Together with two fellow students this video was recorded, cut and edited.
↳ More information about project on github
- Adobe After Effects
- Adobe Premiere Pro
-
-
-
team 6+
-
work
BILD: AniSort – Animated data sorting
This project is a modular JavaScript plugin, which enables the discovery and presentation of sortable data. Data can additionally be searched, filtered and explored in a detailed view.
↳ More information about Nobel prize AniSort at BILD.de
- JavaScript
- CSS3/Sass
- HTML5/PugJS
- Canvas2D
- jQuery
- JSON
-
-
-
team 6+
-
work
BILD: Interactive Table – Tabular data representation
Based on jQuery DataTables, this plugin provides a complex representation of information within a table. Heatmaps can be generated in rows and columns. Furthermore it is possible to display pictures, bar graphs and much more.
↳ More information about Violence in subways at BILD.de
- JavaScript
- CSS3/Sass
- HTML5/PugJS
- jQuery DataTables
- jQuery
- JSON
-
-
-
team 6+
-
work
BILD: Peter Boenisch Fellowship
On the occasion of the 10th anniversary of Peter Boenisch's death, a scholarship was introduced, which gives journalists the opportunity to create a report about any topic.
A standalone website was created, so interested journalists would be able to apply for the program.
↳ More information about Peter Boenisch Fellowship
- JavaScript
- CSS3/Sass
- HTML5/PugJS
- jQuery
-
-
-
team 6+
-
work
BILD: Dictionary about Islamism
A searchable dictionary providing information and terms related to Islamism. Photos and videos support the individual definitions.
↳ More information about Dictionary about islamism at BILD.de
- JavaScript
- CSS3/Sass
- HTML5/PugJS
- jQuery
-
-
-
team 3+
-
university
videoChop – slice.compose.online
Implementation of a clientside video editing web application with two fellow students within one semester, using modern web technologies. To compose a video in a webworker thread, Emscripten was used to convert ffmpeg to JavaScript.
↳ More information about videoChop
- JavaScript
- CSS3/Sass
- HTML5/PugJS
- jQuery
- ffmpeg
-
-
-
team 6+
-
work
BILD: Storytelling about Tsunami – 10 years after
An interactive report about the tsunami hitting Thailand's coast in 2004.
The storytelling consists of several images and a tool called 'before-after', where two images can be interactively compared by controlling a slider.
↳ More information about Storytelling - Tsunami at BILDplus
- JavaScript
- CSS3/Sass
- HTML5/PugJS
- jQuery
-
-
-
team 6+
-
work
BILD: Storytelling – World War I
Fritz Rümmelein, a lieutenant in World War I, leaves letters, diaries, and maps from this period behind. The pieces of information were published in a book by Ralf Georg Reuth.
The whole story of the lieutenant is told in eight chapters, enriched with countless pictures and maps.
↳ More information about World War I at BILD.de
- JavaScript
- CSS3/Sass
- HTML5/PugJS
- jQuery
-
-
-
team 6+
-
work
BILD: Storytelling – The last journey of Gernot Fahl
Nominated for the 'Grimme Online Award 2014', this report tells a story about Gernot Fahl, who wanted to receive euthanasia in Switzerland.
↳ More information about The last journey of Gernot Fahl at BILD.de
- JavaScript
- CSS3/Sass
- HTML5/PugJS
- jQuery
-
-
-
freelance
Teaching Institute for Individualsynthese
Design and implementation of a wordpress website. An event manager plugin helps customers to apply for courses.
↳ More information about Individualsynthese by Anja Parchmann
- Wordpress
- JavaScript
- CSS3
- HTML5
- Photoshop
-
-
-
team 6+
-
work
LeadAward Symposium 2013
Under the title 'IT’S A BATTLE, STUPID!', two teams have competed against each other during the LeadAwards. As the only web developer I had to implement a website within six hours and then present it. Three team members were responsible for the content and one was responsible for the layout.
We had a lot of fun under the pressure of time. The result is unfortunately offline now.
↳ More information about LeadAward Symposium 2013
- JavaScript
- CSS3
- HTML5
-
-
-
alone
-
freelance
Practice for naturopathy and osteopathy
Design and implementation of a wordpress website representing a practice for naturopathy and osteopathy.
↳ More information about Practice for naturopathy and osteopathy
- Wordpress
- JavaScript
- CSS3
- HTML5
- Photoshop
-