Team Lead, Software Engineer, and Technology Enthusiast living and working in Hamburg, Germany. Daytime Engineering Team Lead at Jimdo and passionate about software, design, people, and vegan food.
After more than 17 years of writing software, I still enjoy most parts of developing and designing applications for the web and mobile devices. I am a sucker for reliable service architectures and a fellow serverless and function as a service enthusiast. When I’m not spending my time with TypeScript or Go, I’m digging Vinyl records or building and writing about hardware projects like the 68Keys.io mechanical keyboard.
Currently, most projects on GitHub and posts on this site focus on GraphQL and FaaS approaches using the Go language. If you are looking for a neat solution to host a serverless API, check out the appsync-resolvers package for AWS AppSync. Older projects heavily rely on the serverless framework; you can find lots of plugins and example projects on GitHub as well. Serverless Analytics using Kinesis, an SQS worker pattern, and various plugins to manage and extend serverless’ basic features.
Before leading, managing, and forming teams as an Engineering Team Lead at Jimdo, I was delighted to work as a Senior Engineer for Elephant Seven in Hamburg, Creative Technologist at the Intuity Media Lab in Hamburg and Stuttgart, and Lead Engineer and Scrum Master for Roamsys in Trier, Germany.
Let me be honest with you: GraphQL is the shit! Once you use GraphQL, you will never want to use anything else again. The same is true for a working and maintainable serverless FaaS infrastructure. Combine both technologies to run a genuinely serverless GraphQL API using AWS AppSync and Lambda resolvers.2084 words, posted on June 17
Amazon recently announced CloudFormation support for AppSync and all its features. Together with the Serverless Application Model it’s now dead simple to deploy a GraphQL API and custom Lambda resolvers without using the API at all. The GraphQL RSS Proxy example project is a serverless GraphQL API using AppSync, with an AWS Lambda function as a custom Query Resolver writting in Go.1115 words, posted on May 30
Do you use GitHub to manage your software projects and Slack for communication? With GitHub Webhooks and a simple AWS Lambda function, you can notify Slack channels about new releases of your projects.611 words, posted on February 24
GraphQL has been a buzzword for a while now. I immediately fell in love with it when GitHub announced a public GraphQL API. A few weeks ago AWS introduced AppSync, a serverless GraphQL with support for custom data sources using AWS Lambda. Together with the recently introduced Go support for AWS Lambda, this is just awesome!1491 words, posted on February 20
Amazon just recently announced native Golang support for AWS Lambda. Together with the Serverless Application Model (SAM) you can easily deploy your Golang code and create an HTTP interface using Amazon API Gateway.181 words, posted on February 13
With the content on 68Keys.io, you can build your own custom 68% Mechanical Keyboard! Sounds great, right? You will find all information about the needed Circuit Board, Aluminium Case, and modified TMK firmware on the project’s site.86 words, posted on January 27
The YubiKey is a great OpenGPG smart card compatible hardware device. I use my YubiKey to store my private GnuPG key and for authenticating SSH connections. A few applications, however, don’t work with the OpenGPG card and require a file containing the key per default; Sequel Pro is one of them.215 words, posted on November 8
If you love software workflows as much as I do, you should check out my basics for deploying NPM packages using TypeScript, CircleCI v2, and GitHub Releases.396 words, posted on November 5
The MaxMind GeoLite2 database is basically the standard solution when you need to get the geo information for an IP address. Together with the mmdb-reader NPM package you can easily deploy your own serverless API to AWS Lambda to lookup locations for IP addresses.215 words, posted on November 3
AWS Lambda functions together with an Amazon Kinesis Stream offer a great way to process continuous information. I created an example project called Serverless Analytics to demonstrate this. You can use this as the starting point to create your very own Google Analytics clone and run it serverless and hopefully maintenance-free on Amazon.690 words, posted on August 23
Since a few days, Amazon provides a native way to enable Auto Scaling for DynamoDB tables! Luckily the settings can be configured using CloudFormation templates, and so I wrote a plugin for serverless to easily configure Auto Scaling without having to write the whole CloudFormation configuration.162 words, posted on July 19
When you use a serverless environment for your service (and you should!), chances are high you might be using the Serverless framework and may end up in a situation like me with the need to process the AWS CloudFormation Stack Output after deploying the service.308 words, posted on July 1
Have you ever wondered how to process messages from SQS without maintaining infrastructure? Amazon Web Services perfectly support SNS as a trigger for AWS Lambda functions, but with SQS you have to find a custom solution. This tutorial will show an experimental setup using Serverless to read messages from an SQS queue and build auto-scaling worker processes.1260 words, posted on April 1
If you read my first article about Amazon Alexa and AWS Lambda, you already know how to deploy a custom Alexa skill using Apex. With this article, you will learn how to use the Serverless framework to deploy a function to AWS Lambda and invoke it with your Amazon Echo using voice commands.2222 words, posted on March 30
It’s a recurring task in software development to forecast the amount of time something will take. There are Roadmap Meetings, Sprint Planning Meetings or even the spontaneous estimates you must provide in the hallway. All of them require you to pull out your divining rod and predict the future.350 words, posted on January 10
After watching all Mr. Robot episodes, I somehow felt the need to buy an Amazon Echo and get introduced to Alexa. Luckily Amazon sent me an invite to buy Echo just a couple of days before Christmas and so I got the perfect gift for myself and an awesome reason to spend some time coding during the Christmas holidays.2083 words, posted on January 6
On the past few friday evenings I started to write a side-project to get going with server and client development using Go. The result is the CLI Notes project for managing text notes from the command line. All code for hosting the API server and building the needed client application is available at GitHub using the GPL license.190 words, posted on November 21
After attending a talk at the GitHub Universe 2016 about Hubot, I felt the need to write a little
Go library to speed up my process of creating bots for Slack. With hanu you can get started with the buzzword ChatOps in seconds. The final bot will be running on Heroku using a worker dyno, but of course this works fine on your local machine as well …
After the setup of a go command line tool with Cobra it’s now time to release it to the public and publish it to Homebrew for easy installation on MacOS. Together with the steps to use AWS S3, CloudFront and SSL Certificate Manager for easy web hosting it’s a pretty neat setup for your Homebrew application formula and go binary.950 words, posted on August 30
It only takes a couple of minutes to deploy a go application to a free Heroku dyno, use a custom domain name and enable free SSL using CloudFlare. If you still have some seconds left - and you will - it’s dead simple to add Prometheus metrics as well.1998 words, posted on August 16
It’s not a secret you can easily host any static website on Amazon S3 without cryptic configuration. When you add CloudFront for HTTPS delivery and the Amazon Certificate Manager for free SSL certificates you will get a neat setup.1203 words, posted on June 26
The release of a static website, no matter of which complexity, always comes with the question of how? Of course nobody likes to write plain HTML and CSS, or use a system without the possibility to include and re-use common lines of code.723 words, posted on March 19