Demo mode - you’re exploring the template you’d buySkin:
ModulesIntegrations
← All posts

Welcome to Sentido

Introducing Sentido - the fastest way to ship a production-ready app on Next.js.

By Carl Mills

announcementproduct

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.