Frequently Asked Questions

Everything you need to know about the technology choices, architecture decisions, and how to get started.

Why Svelte over React?

Modern react libraries are far too complicated. Nowadays many are VC backed and want you to use their cloud hosting service which introduces even more complexity. At the same time, SvelteKit provides a nicer interface for reactive UIs and supports impler data loading and mutation patterns.

Why DaisyUI for styling?

I thought it was neat and easy to use. If you don't like DaisyUI styles, you can always defined your own components and ignore DaisyUI altogether.

Why Go for the backend?

Go has what I need for most of my projects: minimal resource usage, fast build times, simple developer experience.

Why PostgreSQL?

Would you prefer I use DB2, MongoDB? Postgres is fast, easily available, and generally a good SQL database.

Why Railway for deployment?

I'm lazy. Maybe in the future I'll use uncloud or k8s, but railway works fine and is cheap.

Why custom authentication instead of Auth0 or Clerk?

My authentication models have always slightly difered from Auth0 or Clerk which has resulted in time wasted trying to make them work for my use case. Here you own the auth model so you can hack it to your hearts content with minimal issues. For example, this enables B2B2B models.

What is the organization-member-user model?

There are organizations, and users. Organizations own resources and users must be a member of the organization to access or modify the resource.

Why use a Makefile for development?

Don't need fancy tools.

How do I get started with development?

Clone the repo and open your text editor.

Can I use this without the organization features?

Yes, you will just need to remove organizations from the codebase.

How do I add new OAuth providers?

The project includes Google OAuth as an example. To add new providers, update the OAuth configuration in the backend, add the provider-specific endpoints, and create corresponding frontend sign-in buttons. The authentication system is designed to support multiple OAuth providers simultaneously.

Can I deploy this to other platforms besides Railway?

Yes, there is nothing specific to railway here.

Is billing/payments functionality included?

Yes, Stripe is included and comes with a subscription-based model by default.