Introduction
Blouppy Starter is the code base a new SaaS product starts from: an Angular SPA, an ASP.NET Core API behind a gateway that keeps the session, its own identity host, and the messaging, billing, notification and real-time plumbing an application needs before it can be shipped.
You buy it once, clone it, and it becomes your product's repository. Nothing is installed as a package or called as a service: every line is yours to read and change.
What is in the box
The platform
- .NET 10 and ASP.NET Core 10 for the API, the identity host and the gateway.
- Angular 22 for the application, a landing page and this kind of documentation site.
- PostgreSQL through EF Core 10, Redis for the response cache, RabbitMQ through Wolverine for integration events.
- .NET Aspire to run the whole graph with one command in development, and Docker Compose to run it in production.
The SaaS features every product needs
| Feature | What it does |
|---|---|
| Accounts | E-mail and password with confirmation, GitHub and Google sign-in, TOTP two-factor, password recovery, a CAPTCHA on the anonymous forms |
| Organizations | An owner, members with one of three roles (Viewer, Member, Admin), e-mail invitations, the organization's slug in every URL |
| Billing | Plans, subscriptions, seats and entitlements, with Stripe behind an adapter that runs unconfigured |
| Notifications | An in-app notification centre over a live connection, per-type channel preferences and quiet hours |
| Privacy | A GDPR data export, and an account erasure confirmed by e-mail |
| Audit log | Who changed what in an organization, when, and from where, exported as CSV |
| Webhooks | Signed outgoing webhooks, retried on a schedule, with a delivery history |
| AI gateway | One path to a model provider, with an on/off switch per organization, monthly allowances and a usage ledger |
| Assistant and MCP server | An in-app assistant and an MCP endpoint for Claude, ChatGPT or an IDE, sharing one tool catalog |
| Personal access tokens | Scripts and agents call the API as a user |
| SSO and SCIM | An organization connects its OpenID Connect provider and provisions people with SCIM 2.0 |
One example domain — workspaces and their teams — written the way your own domain will be: a model, a write service, a read side, an HTTP controller, an Angular feature and their tests. You replace it, or build next to it.
What it leaves to you
The Starter stops where your product starts. Before going live you will need, at least:
- Your product. Workspaces and teams are an example; there is no business feature beyond them.
- Your configuration. Domains, the Stripe account, an SMTP server, the identity providers' keys and the CAPTCHA keys.
- Your brand, legal pages and prices. The default prices and the landing page's copy are placeholders.
- A delivery pipeline. CI builds and tests every change; nothing deploys it for you.
How this documentation is organised
| Section | Read it when |
|---|---|
| Get started | You are installing the Starter for the first time |
| Architecture | You want to know where things are, and why they are there |
| Technical choices | You want to know why a tool was picked, and what you can change |
| Tutorial | You are about to write your first feature |