building a saas

There is a lot of dogma around shipping a product in startup land. Many founders follow strict patterns they got from a book or some influencer's tweet. "Ship Early" is one of the more stubborn ones, and in many cases it is exactly the right thing to do. The earlier…

During the spring and summer of 2018 I was negotiating a possible acquihire of Checkly / moi with Datadog. I'm only writing about it right now because Datadog recently launched their Synthetics product — the product I would be involved with as some form of product manager.This post details how this…

Over the last year or so, I experimented with different ways of getting customer feedback for Checkly. This post is about what worked for us and how I was totally wrong about chat widgets.We'll look at some common tools like Hotjar, Drift, SurveyMonkey, straight up email and even Github.…

Two weeks ago we released the public API for Checkly. This post is about what parts we needed to refactor, what parts we added and how we handled generating API documentation. More specifically, we'll dive into:Refactoring the existing Hapi.js based APIAPI key based authenticationRefactoring models with Objection.jsValidating…

This is a short follow up to last week's story on Stripe Billing as a reader on Hackernews commented that it seemed we didn't handle VAT. We do, but I just left it out of the story.Update 25-04-2019: Stripe just released a big update to their Billing product that…

When I started Checkly, all the typical SaaS things around billing, credit cards and prorating confused the hell out of me. I understood them from an intellectual point of view, but not really from an implementation point of view.Sure, I hooked up some payment providers (Adyen, Paypal) at previous…

If you run a SaaS, you probably want to show a user that he/she is almost running out of widgets. Or that he/she can get some cool feature on a more expensive plan. In this post we look at how implemented this in our Vue.js frontend application.…

How do you deal with what a user can do on their account in a SaaS app? Can Jane on the "Starter" plan create another widget when she is near the limit of her plan? What if she's a trial user?Turns out this is a mix of thingsFeature togglingCounting…

This is a run down on the basic multi-tenant SaaS data model underlying Checkly. Users, accounts, plans, that type of stuff. When building this, I found it surprisingly hard to find any solid info in the gazillions of developer and startup blogs; most were just to vague on the implementation…

Last week, we shipped an initial version of Puppeteer Recorder, a Google Chrome extension that records your browser interactions and generates a Puppeteer script.It turns out Chrome extension development is almost like real web development, but with a weird dash of quasi embedded development mixed in.This post talks…