Welcome to Sentido
Introducing Sentido - the fastest way to ship a production-ready app on Next.js.
By Carl Mills
We built Sentido because spinning up a new app shouldn't take months. Authentication, billing, multi-tenancy, and team management are table-stakes features - they shouldn't be the things that slow you down.
What's included
Sentido ships with everything a modern app needs out of the box:
- Authentication - email/password, OAuth, magic links via better-auth
- Multi-tenancy - every resource is scoped to a tenant; invite teammates, manage roles
- Billing - Stripe Checkout and Customer Portal wired up, webhooks validated, plan gating ready
- Email - transactional emails (welcome, invite, password reset) via Resend
- Module system - enable or disable features at the organisation level
- Admin panel - manage users and tenants with full audit logging
The stack
On the frontend: Next.js 15 with the App Router, Tailwind CSS v4, and shadcn/ui components.
On the backend: ASP.NET Core 9 with a clean vertical-slice architecture using MediatR.
The two talk over a typed BFF pattern - Next.js route handlers validate requests, check session, then either hit Prisma directly or proxy to the .NET API.
Get started
Clone the repo, copy .env.example to .env.local, fill in your Stripe and Resend keys, and run:
pnpm install
pnpm dev
You'll have a working app skeleton running locally in under five minutes.