Tasks is a task-management web app in early development. Its current focus is a fast, self-hosted authentication layer that explores whether the Cloudflare stack can replace a managed auth provider.
The Challenge
Authentication is the part of any app where convenience and security pull hardest against each other. I wanted to understand the real cost of owning that layer instead of renting it, and whether an edge-native database could keep sessions fast without a dedicated auth service.
The Approach
I started by implementing authentication end to end before building task features, so the foundation is solid first. Better Auth provides the session and account primitives, Cloudflare D1 stores the user data at the edge, and the flow is structured so the task-management features can grow on top without reworking the security model.
Tech Choices
SvelteKit and TypeScript form the application shell, Better Auth handles credentials and sessions, and Cloudflare D1 with Drizzle provides relational storage. The whole point is to compare this combination against Supabase Auth as a performant, lower-cost alternative.
What I Learned
Building auth first made it obvious how many product decisions hang off the session model. Working with D1 at the edge showed both its speed and its current limitations, and that honest comparison is more valuable to me than assuming a managed service is always the right answer.