2
0 Comments

«It's supposed to take 2 weeks - it took 2 months» - How I launched API-first SaaS with no-code, code, no-code, and more code.

Hello there.

People here usually share their stories and I want to share mine too. I hope it will help someone or at least entertain you.

Long-story-short, I have an in-house technology my company used for years for building chatbots in HR Tech. These bots help with automating employee support, recruiting, learning and etc.

It's doing OK but has too many enterprise sale cycles with not-much-enterprise checks. It's also a vitamin, not a painkiller which makes it even more annoying.

Anyway, in 2020 I decided that I need something less "enterprisy" and more global - I decided to publish one of the core tools we use inside: our chatbot engine. I decided to focus it on the only audience (except HR peeps of course) I understand - developers.

My thinking was that developers do not need UI - API-first SaaS product might be more interesting and stay out in the crowd. It's not empty space though - there are a few similar platforms, so it's a kinda validated market.

Tools I used

My company is a part of the Microsoft Startup program and proficient Azure user. All our in-house apps run on Azure, which makes a choice of tools quite limited.

There is a new type of no-code tool called API Management. AWS has one, Azure has one, there are also some independent solutions.

What is API Management in easy words? It's a way to wrap your APIs with billing and provide it to the world in a secure manner. You can read a bit more about that on MS blog: How to monetize APIs with Azure API Management (AAM) with Stripe
concept

That was the "main dish". I also needed these additions to it:

  1. A landing page - despise I can code everything and even have an extra developer with me, I always do my landing pages with no-code tools.
  2. GitHub login option - we focused on devs you know
  3. Payment provider with subscription management - because AAM can't gather money for you.

For landing, I chose Landen (now Umso). I was impressed with how fast I can create a landing page and not impressed with it after a while. I would probably move away soon to another no-code website builder, more suitable for bigger custom websites.

GitHub login required me to add some kind of a single sign-on solution. There is Azure AD B2C for that, which is an Azure solution for user management and SSO. It's nice and free for under 50 000 users and also provides user management capabilities.

For payment providers, there are amazing products available to not only gather money but to manage subscriptions as well. All-in-one.

Brief story of struggle

I needed quite a basic setup: I need to wrap my existing APIs with API Management, authenticate it with GitHub, and bill through the payment provider.

Problems began from the start. AAM use Paperbits under the hood to build a custom developer portal. It's a nice tool for drag-and-drop website building, only somehow it's not fully integrated into AAM. A lot of features missing including basic stuff, like adding HTML or js - so I can't add analytics to the developer portal. It's also doesn't work very well. When I started it dropped session every hour and I lost half of the website content several times. I think they fixed it right now.

Paperbits editor
Paperbits editor

The next problem lies in GitHub auth. You might think that auth for developers product, build with developers product from the same owner as a GitHub will have this auth by default? You are 50% wrong. The current implementation of the auth will give you neither email nor the name of the user signed in. You need to write code to manually peek these through GitHub API.

And finally, the payments. AAM has subscription management in it, but it lacks any type of payment. So to get money for your API you need to delegate all subscription management and user management to your own coded service. I wonder now if there a way to smash several no-code tools together to achieve the same thing, but I preferred to code it instead.

I wrote about it here if you want technical details.

What I learned

Here is a bunch of points I learned so far.

  1. Cut the noise. There are tons of discussions right now on Twitter, clubhouse, and everywhere: product-first vs audience-first, free plan vs no free plan, scale vs no scale. It's all really doesn't matter. Stick to something, flip the coin if you in doubt and work your way. You can always experiment later, after launch, on real data
  2. Stick to known tools, or expect delays. I decided to use Azure API Management - a no-code platform for publishing API, completely new for me - and that backfired. Even with help of my developer, it took 4x more time than planned to study, understand and set up the platform, and to build the integration between components.
  3. Do not promise anything. This was a mistake IMO, in the early days, before deep dive into API Management I started to answer the not-asked question: when are you gonna launch?. No one asked me, and I gave a promise that I couldn't possibly fulfill to my early subscribers - to launch before the end of last year. That didn't happen (#2) and I feel like shit because of that.
  4. No-code is good until it's not. As I see it no-code is great until you face some scenarios which are not suitable for the no-code tool of your choice. It did save me a ton of time, don't even doubt, but mind that.

Marketing

Sometime after launching the landing page and starting coding I started to promote the thing. Promoting to developers is an entirely separate complex thing. There is actually quite a good article from @PovilasKorop on this site which helped me a lot with that.

I started to do the following

  1. Start a personal blog on hashnode and dev.to about developing the product
  2. Build bots with my platform and write about it, like take a part in the ongoing AWS Amplify Hackathon and so on.
  3. Be a bit more active on Twitter (yet no active enough)

The last concern

I have only one last concern here: am I betting on a dead horse. Chatbot hype is long gone, it looks like the idea is slowly climbing up from the Trough of Disillusionment right now, but who knows.
hype cycle

The time will show. For now, I'm just happy to share the way we built bots for thousands of people with anyone who wants to do it yourself.

on February 11, 2021