Connecting Stripe to Firestore via Cloud Functions and webhooks

After adding subscriptions in iOS via Apple’s Storekit, I have now also added subscriptions to the web client of Critical Notes, using Stripe (even though they have some serious drawbacks at the moment). Since it was a bit of a puzzle to get it...

read more

WWDC20 review

A quick review of the keynote and State of the Union talks. Let's see which of my wishes have been fulfilled, and which SwiftUI problems have been solved.

read more

A review of SwiftUI problems

I've been working with SwiftUI for almost half a year now, and in that time I've learned a lot. I love a lot about it, but there are also so many bugs and issues that need workarounds that it's kind of maddening.

read more

User subscriptions on the web

As I am reaching feature-completeness of my side project Critical Notes, I need to add paid subscriptions to it. Users can already subscribe in the iOS app, but of course not everyone uses iOS, so I need to build something for the web client too.

read more

WWDC20 wishlist

WWDC is just around the corner, and we're all waiting like little kids at Christmas to see what Apple is going to announce. Most of us also are hoping for specific changes, here are my top wishes.

read more

Connecting Storekit to Firestore via Cloud Functions and webhooks

I've recently added subscriptions to my Critical Notes iOS app, using Apple's StoreKit. Here is how I hooked it all up to Firestore including server-side receipt validation.

read more

Clean up Firestore and Storage when deleting a document

When you delete a document in Firestore, its subcollections and their documents are not automatically recursively deleted. Here is a simple Cloud Function that takes care of it.

read more

Dark Mode support added

mixedCase.nl is now updated with a fresh new header, and more importantly, dark mode support! This was surprisingly easy to do with the help of CSS variables.

read more

After Vapor and Django comes.. Firestore

Over a year ago I wrote that I started working on a brand new side project, and that I was building the backend for that project. I started with Vapor 3, then made the same backend in Django REST Framework, and couldn't really choose between the two...

read more

Vapor 3 vs. Django REST Framework

A little while ago I wrote about starting a new side project, where I was using Vapor 3 to build the backend. My initial impressions were extremely positive, but I ended up running into a few issues that made working with the framework a little bit...

read more

Struggles with Vapor 3

I am working on my very first “real” side project since 2006! Not counting a bunch of open source projects I started and maintained since 2006, no, I mean a real user-facing project with a backend, website, iOS app, the whole shebang. It’s been a...

read more

2016 in review

It’s that time of year again to look back and reflect at everything you’ve done and achieved, and to make plans for the next year. 2016 was a pretty big year for me, both personally and professionally. In the end of August 2015 I moved back from...

read more

Searching for a next gen back end

A while ago I started to think: if I were to build a brand new web app plus back end today, what would I use for the back end, and how would the client talk to it? So far my APIs have been very standard REST affairs: endpoints per model that get/save...

read more

My one weekend with Android

A while ago I decided to get an Android smartphone. Sounds like a very simple decision right, but as somewhat of an Apple fanboy for many years, I kind of shocked myself with this decision. It all started with my desire to buy a smartwatch, and the...

read more

Our front end stack one year later

One year ago I wrote my third article in a series where I researched front end tools, and with all that I learned I began to improve our front end stack at Sling. It’s the big Angular app that I wrote about, on which I’ve worked for 2.5 years now....

read more

Researching front end tools, part 3: Angular & Webpack vs Browserify

Since early 2014 I’ve been working on a pretty big and complex Angular app called Sling and sadly it’s not using any module system and it’s still using ES5 only. It uses Gulp to bundle and minify all the JavaScript, compile and minify our Less files,...

read more

Researching front end tools, part 2: Deku, page.js and cssnext

Two weeks ago I started my journey into researching front end tools, with the idea to find my ultimate stack of build tools, JavaScript frameworks and/or libraries, CSS processors, a code style to follow and code linter to enforce it, and finally...

read more

Researching front end tools, part 1: Ampersand.js, React, Webpack, PostCSS and ESLint

Since early 2014 I’ve been building a fairly large and complex JavaScript app in AngularJS, using Less as the CSS pre-processor and Gulp as the build system. I haven’t used ES6 or modules so far, via Browserify or otherwise. While it works and...

read more

The nightmare of downloading OS X Mavericks

I’ve been running OS X Mavericks on both my home and work laptops since beta 3 or so. And when Apple released it to the public of course I wanted to upgrade both my computers as soon as possible. Sadly you can’t simply upgrade from GM, you have to...

read more

Review roundup: email clients for OS X

Email is a huge part of my my life and I need a client that accommodates my ways and habits. It needs to be fast and user friendly. It needs to support multiple email accounts. And it needs to offer proper Google Mail support: archiving email by...

read more