Back to blog

The opinionated stack

Every technology decision in Genesis, and the reasoning behind it.

A template with no opinions isn't a template. It's just a file structure. Genesis makes real choices, and this post explains each one.

Auth: Better Auth

Clerk, NextAuth, and Auth.js were all evaluated before landing on Better Auth. The deciding factor: it's open source, self-hostable, and doesn't add a per-seat cost to your infrastructure as you scale.

Better Auth gives you email and password, magic links, OAuth, sessions, and an admin plugin out of the box. It's not the most famous option, but it's the most practical one for a product you want to own end to end.

Database: Prisma

Prisma's type safety is unmatched. The generated client knows the shape of every query result: no any, no runtime surprises.

Genesis runs SQLite in development for zero-config startup and PostgreSQL in production. Prisma makes that split workable because the schema and queries are identical; only the connection changes. Migrations and schema management stay approachable without hiding what's happening underneath.

API: tRPC

tRPC gives you end-to-end type safety between your server and client without a code generation step. Write a procedure on the server, call it on the client, and the types flow automatically.

This is the right choice when your frontend and backend live in the same repository. When you need more surfaces, Genesis already ships them: an optional REST layer with an OpenAPI spec, and an MCP server so AI agents can call your backend with the same auth your users have.

Styling: Tailwind + the olwiba ecosystem

Tailwind v4 is a significant improvement over v3: the CSS-first config is cleaner, the build is faster, and the output is leaner.

On top of it, Genesis consumes olwibaCN for accessible component primitives and olwibaUI for application blocks like shells, marketing sections, and post lists. These are maintained, published packages, not vendored copies. A fix to a primitive lands upstream once and reaches every project built on the ecosystem.

The philosophy

These choices optimize for type safety, long-term ownership, and avoiding per-seat cost traps. They aren't the flashiest choices. They're the ones an engineer makes the third time around, and the ones worth inheriting on your first.