Building web-based SaaS with Go as a solo entrepreneur. What should I be aware of?

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Buffalo

    Discontinued Rapid Web Development w/ Go

    Buffalo is currently built on Gorilla which complicates building a business on it right now as Gorilla has shifted to public archive since it has no maintainer. https://github.com/gobuffalo/buffalo/issues/2360

  • sqlc

    Generate type-safe code from SQL

    How do you find it compared to using something like https://github.com/kyleconroy/sqlc ? curious which enables faster "developer velocity"

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • bob

    SQL query builder and ORM/Factory generator for Go with support for PostgreSQL, MySQL and SQLite (by stephenafamo)

    Link: https://github.com/stephenafamo/bob

  • certmagic

    Automatic HTTPS for any Go program: fully-managed TLS certificate issuance and renewal

    For deployment, you may not need a reverse proxy with Nginx or the likes. Certmagic will make HTTPS a breeze. Also makes it possible to handle multi-tenant SaaS domains SSL provisioning. While not the easiest, it was much easier than trying to do it at the reverse proxy and cheaper than doing it with Cloudflare's SaaS service.

  • Puts Debuggerer

    Ruby library for improved puts debugging, automatically displaying bonus useful information such as source line number and source code.

    Have a single source of truth and use strong types AS MUCH AS YOU CAN. While you may not have a lot of tests, having type safety makes maintaining and upgrading things a lot more manageable as a solo developer. You change an API field, regenerate and find errors, you do a DB migration, regenerate and find errors. This is why I prefer Bob (and it's predecessor SQLBoiler) over GORM. The type safety saves me time and every.

  • fastapi

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

    fully type-annotated options for building an API are available - one popular option is FastAPI and everything you expose is declared through pydantic. There is nothing as productive in Go I'm afraid.

  • pydantic

    Data validation using Python type hints

    fully type-annotated options for building an API are available - one popular option is FastAPI and everything you expose is declared through pydantic. There is nothing as productive in Go I'm afraid.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • oapi-codegen

    Generate Go client and server boilerplate from OpenAPI 3 specifications

    Im doing something similar! Has been working out so far. I would recommend code generation whenever possible to speed up dev time. I hate writing all the server boilerplate so https://github.com/deepmap/oapi-codegen has worked great for me.

  • allbase

    Go REST API to replace Genbank, Uniprot, Rhea, and CHEMBL (by UppBio)

    Also yes I’ve been using gqlgen for one of my projects (where I would use bob actually) Github

  • Alpine.js

    A rugged, minimal framework for composing JavaScript behavior in your markup.

    I render everything on the server with Go templates and use AlpineJS to sprinkle interactivity.

  • uuid

    A UUID package originally forked from github.com/satori/go.uuid (by gofrs)

    Something to note is that all of this is still open source. Theoretically, someone can decide to fork SQLBoiler and add all the missing things, or send in a PR. A good example is that the current most popular uuid package. gofrs/uuid was forked from an unmaintained previously popular package.

  • go.uuid

    UUID package for Go

    Something to note is that all of this is still open source. Theoretically, someone can decide to fork SQLBoiler and add all the missing things, or send in a PR. A good example is that the current most popular uuid package. gofrs/uuid was forked from an unmaintained previously popular package.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts