Skip to main content


Team building: "Meme-Your-Collegue"

Lately we were hiring a lot of developers and had to integrate them in our team. So we decided to do an infotainment team event, targeting both: getting to know each other on a personal level and learning about the business and technical state, challenges and visions.

Usually a meeting like this starts with everybody telling a few words about themselves... one... after... each... other... and after third speaker latest everybody gets bored.
So we came up with the "Meme-Your-Collegue" game: Build teams of two personsGive them half an hour to get to know each otherBoth have to assemble a five minute presentation of five slides of each otherEach slide consists of exactly one meme telling a (fun) fact of that person You may want to use a meme generator and a presentation tool like Keynote or PowerPoint.
It ended up with the whole team having a lot of fun: a perfect ice breaker! Give it a shot!
Recent posts

Deeplinks in apps

Deeplinks in apps are essential to offer a seamless, interleaved experience of the app with

E-MailsWebsitesPush messagesMessengers (iMessage, Whatsapp, ...) Supporting external deeplinks prove very useful for OnboardingMarketingSalesRe-activation of users ...that all can independently work on their subjects without having to be supported by the developers (after they created the deeplinks!).
Checkout: AirBnB DeepLinkDispatch (Android, 2,862 stars!)joeldev/JLRoutes (iOS, 4,300 stars!)dudego/DeepLinkHandler (iOS, 28 stars...)Google Firebase Dynamic Links



The serverless application framework. Over 21,000 GitHub stars and counting.

How we migrated our startup to serverless

The team decided to ditch all of our EC2 containers and instances in favor of using AWS Lambda within a serverless architecture. To help us orchestrate all of our AWS Lambda functions, we selected the Serverless Framework.

A cloud guru

iOS and Android native App Install Banner

Android Native App install banners are similar to Web app install banners, but instead of adding to the home screen, they will let the user install your native app without leaving your site.

Developer Google
iOS Promoting Apps with Smart App Banners: Safari has a new Smart App Banner feature in iOS 6 and later that provides a standardized method of promoting apps on the App Store from a website.

Developer Apple

AWS Lambda lifecycle and in-memory caching

The ephemeral nature of AWS Lambda functions might have you believe that techniques like in-memory caching cannot be utilized like you would with a conventional server, but that’s not the case! Let’s check out why.

TJ Holowaychuk on

Even though you can't fully rely on them, our experimentation has shown that global variables can be used for some opportunistic caching. Amazon Lambda launches a number of computer instances to run function invocations, and keeps them alive for an unspecified period of time, which may be several hours. During this time, Lambda functions can access cached data previously stored in global variables. When a function invocation happens to run on a fresh instance, data has to be fetched from a more persistent source again.

Amazon AWS Lambda data caching solutions compared

Learn Swift 4 with Bob

Very nice, focussed reference!


As a developer whose first programming language is Swift, I've taken online courses from major platforms. However, I have been frustrated by a lack of detailed explanations from instructors. They tend to focus on final products, thus missing out the fundamentals. I was confused by which design principles to follow, and why. After I've been blogging for the last 5 months, I've discovered this isn't the only problem of mine. I've received hundreds of emails and questions regarding how to write code that does not violate principles such as DRY, modularity, and readability. As a result, I've decided to create this course dedicated for my younger self. I believe it all comes down to the fundamentals which I lacked in the beginning.

Learn Swift with Bob

Forget about MVC, MVVM and MVP - MVI (Model-View-Intent) is coming!

module.exports = function (model, view, intent) {
if (view) { view.observe(model); }
if (intent) { intent.observe(view); }
if (model) { model.observe(intent); }

The first thing to notice is regarding the communication, as you can see from the schema above the communication is unidirectional.

In MVI, the view is exposing an observable for the intent to capture all the user interactions from the view and passing the data through an observable to the intent. The intent is preparing the data received for the model, and these data are passed to the model via an observable again. Last but not least the model save these data and update the view exposing an observable to the view.
The view is not changing directly, but it’s just preparing the virtual tree to be rendered by any renderer.

Bear in mind that one peculiarity of an MVI architecture is that an object shouldn’t manipulate or directly call any method of another object; the only communication allowed are through observables!

The unidire…