14
2 Comments

What are or have been your technical challenges (and possible solutions) managing a SaaS as a solo developer?

I have been developing MechCloud single-handedly for the past many months. This software is meant to be a universal abstraction for cloud-native apps which can be deployed on any platform and on any public cloud ( small or large) without any need of learning the target platform (e.g. k8s) or public cloud (e.g. AWS) specific concepts.

As this is a side project currently which I have been managing in addition to my full-time job, I have always been looking for ways to optimize things so that I can achieve more in less time with every passing day.

The purpose of this post is to gather insights around challenges that a solo developer may face while developing and deploying a cloud-native app which is what any SaaS application is these days IMO.

This post is NOT about why a developer -

  • Chose a programming language X over Y.
  • Chose a framework X over Y.
    etc etc

Here are some examples from my personal experience and I am looking for similar examples -
Development

  • I develop and debug my application using two different setups. The first one is this and the second one is a remote dev setup inside a k8s cluster on my desktop. Both of these have their own Pros and Cons and I keep on switching between two from time to time.
  • I used to use the first setup all the time before it reached a point where I had to repeat all the testing in both local dev and release (a k8s cluster) environments to make sure that everything is working fine inside a k8s cluster. That is where I ended up setting up a remote dev environment inside a k8s cluster to avoid duplication of testing efforts. This resulted in a significant boost to my speed of delivering more features in less time but came with a drawback of managing k8s on my own.
  • Micro app architecture for splitting frontend apps ( based on VueJs ) into logical micro apps so that a micro-app and its associated microservices can be managed at a unit and scaled independently by deploying these in a dedicated k8s namespace.

DevOps

  • Using single and generic github action / dockerfile for one type (e.g. python based) of microservices so that I can update these from a central location.

Documentation

  • Documenting certain information at one place and then rendering it inline at all the places where it is required instead of providing a link to it at all such places. This makes it easier to understand some concepts under a single tab instead of opening multiple tabs for linked documentation to understand the full context. I am yet to achieve this.
  1. 1

    Tech founders have such a great advantage when starting a startup. They already know how to code!
    However, here is the disadvantages:
    When you're spending most of your time building, when do you have the time to do any marketing? Who else is better at marketing your startup than you, the founder!
    And if you're a solo developer, how long will it take you to build? Will that postpone your launch date that you've sent your mind on?
    And from what I'm getting from this, you're supposed to build, market, and still work a full time job.
    I applaud you for being able to do all of these at the same time, but this is why we built our platform, to help startup founders who could use some extra help, but don't want to hire yet.
    tapflow.app

    1. 1

      I am not looking for help at this moment but will definitely look into your app.

Trending on Indie Hackers
I talked to 8 SaaS founders, these are the most common SaaS tools they use 20 comments What are your cold outreach conversion rates? Top 3 Metrics And Benchmarks To Track 19 comments How I Sourced 60% of Customers From Linkedin, Organically 12 comments Hero Section Copywriting Framework that Converts 3x 12 comments Promptzone - first-of-its-kind social media platform dedicated to all things AI. 8 comments How to create a rating system with Tailwind CSS and Alpinejs 7 comments