Skip to content

Nuxter vs SuperSaas

Nuxter ships four payment providers, 335 test files and passkeys that work on Workers; SuperSaas covers unlimited client work in one purchase.

Checked supersaas.dev

Feature check

Built in, of 14 rows

  • Nuxter: 11 of 14 rows built in.
  • SuperSaas: 3 of 14 rows built in, 2 partly.

Counted from the feature check below. A row that SuperSaas’s own site and docs do not mention is not counted. See the rows

01The short version

Which one to pick.

Nuxter lets your app sell through Stripe, Polar, Lemon Squeezy or Creem, with one-time purchases and coupon links, where the SuperSaas docs cover Stripe subscriptions. It arrives with 335 test files and CI, so you change billing code against tests that already cover each provider. Passkeys and authenticator codes work on Workers from the first deploy, and a failed renewal keeps access for 14 days by default while the customer fixes their card.

SuperSaas suits a freelancer who builds for many clients under one purchase, or a product that bills per seat.

  • Pick Nuxter if

    • You sell through Polar, Lemon Squeezy or Creem, or want a merchant of record, a provider that is the legal seller and handles sales tax.
    • You sell one-time purchases or hand out coupon links next to subscriptions.
    • You want a test suite, CI and a deploy pipeline in the repository from the first commit.
    • You want passkeys and authenticator-app codes working on Cloudflare Workers from the first deploy.
    • You ship in more than one language and want translated pages and emails from the start.
  • SuperSaas may suit you better if

    • You build for several clients and want one purchase to cover all of them.
    • You charge your customers per seat and want seat changes with a proration preview already built.
    • You want Turso or SQLite as your database, or a build for Vercel or a Node server; its docs mark Vercel as tested with the Demo App.

02Feature check

Feature by feature.

What each kit ships for the things buyers ask about most. A question mark means SuperSaas’s own site and docs do not mention it.

Feature NuxterSuperSaas
Polar, Lemon Squeezy and Creem paymentsBuilt inNot in its docs
One-time purchases and coupon linksBuilt inNot in its docs
Failed-payment grace period and banner(SuperSaas: length unstated, customer never told)Built inPartly
Refunds and disputes revoke accessBuilt inNot in its docs
Passkeys on Cloudflare Workers(SuperSaas: temporarily disabled, they error on Cloudflare)Built inPartly
Authenticator-app codes with recovery codesBuilt inNot in its docs
Automated test suite in the repositoryBuilt inNot in its docs
CI running tests on every pull requestBuilt inNot in its docs
Background jobs and cronBuilt inNot in its docs
Multiple languages (i18n)Built inNot in its docs
One-command kit updatesBuilt inNot in its docs
Per-seat billing with proration previewNot includedBuilt in
Unlimited client projects per licenseNot includedBuilt in
Choice of database engineNot includedBuilt in
  • Built in
  • Partly
  • Not included
  • Not in its docs

03Why Nuxter

Why pick Nuxter over SuperSaas.

What Nuxter ships on day one that SuperSaas’s own pages do not describe.

  • Four payment providers

    Nuxter ships adapters for Stripe, Polar, Lemon Squeezy and Creem, picked in one config array. Polar, Lemon Squeezy and Creem act as merchant of record and handle sales tax for you, and on Stripe one environment variable turns on Stripe Tax. The SuperSaas docs cover Stripe and describe no other provider.

  • One-time sales and coupon links

    Nuxter lets you sell one-time and repeatable purchases next to subscriptions, so a lifetime deal or a credit pack needs no checkout code of your own. A coupon link carries a discount code to checkout on all four providers. The SuperSaas payments docs cover monthly and yearly subscriptions and do not mention one-time purchases or coupons.

  • 335 test files and CI

    Nuxter ships 230 unit, 97 component and 8 Playwright test files, about 50 of them on payments. GitHub Actions runs the unit and component suites with lint, typecheck and a build on every pull request, so you change billing code against tests that already cover each provider adapter, the webhook route and the refund rules. The SuperSaas docs mention no automated tests.

  • Passkeys and two-factor on Workers

    Nuxter ships passkeys and authenticator-app codes with ten recovery codes, both on by default and both running on Workers. Your users can sign in with a fingerprint or PIN, or add a second factor, from the first deploy. The SuperSaas docs say its passkeys are temporarily disabled because they error on Cloudflare, and the docs do not document two-factor authentication, which its home page lists.

  • Failed renewals keep working

    When a renewal fails, Nuxter keeps access for 14 days by default and shows the people who manage the organization's billing a banner with the end date and a button to the provider's portal. A customer whose card expired keeps working while they fix it and knows the deadline. SuperSaas keeps access during what its docs call a deliberate grace period; the docs give it no length and say the failure is logged to the console.

  • Background jobs and cron

    Nuxter runs typed jobs on Cloudflare Queues with growing retry delays. A job that fails its last retry moves to a dead letter queue, a holding queue for failed messages. The Worker logs it there and forwards it to Sentry or Better Stack once you turn on monitoring and add a DSN. A daily cron runs six cleanup tasks. The SuperSaas docs describe no job queue or scheduled jobs.

  • Two languages built in

    Nuxter ships in English and Serbian, with Serbian pages under /sr/ and translated emails, legal pages and blog, so a product for two markets launches translated. A test fails when one language file misses a key the other has. The SuperSaas docs do not mention internationalization.

04Where SuperSaas is ahead

Where SuperSaas is ahead.

The trade-offs to weigh before you decide.

  • Client work under one purchase

    Its license covers unlimited end products for you or for multiple clients, and its FAQ says client projects carry no additional fees.

  • Per-seat subscription billing

    Subscriptions are billed per seat on Stripe, and a seat change previews its proration before you commit it. Nuxter sets a member cap per plan, and an organization that grows moves to a plan with a higher cap.

  • $149, with a Demo App

    Essentials costs $149 one-time, and the purchase includes the Demo App repository with five worked modules: an AI chat with streaming replies, posts, tasks, a URL shortener and a file manager.

  • More databases and build targets

    Essentials comes as Turso, NuxtHub SQLite or Postgres on Neon, one git branch each, and one environment variable builds it for Workers, Vercel or a Node server. Its docs mark Workers as tested, Vercel as tested with the Demo App and the Node guide as untested.

05Side by side

Every row, side by side.

The same nineteen rows on every comparison, so you can read two pages against each other.

Topic Nuxter SuperSaas
Stack
FrameworkNuxt 4 and Vue 3, with Nuxt UI 4 and Tailwind 4, in one appNuxt 4 with Nuxt UI 4 and Tailwind 4; the kit and a Demo App in two repositories
HostingCloudflare Workers, with queues, storage, cache, mail and AI as native bindingsWorkers, Vercel or Node by one env variable; Vercel tested on the Demo App, Node untested
DatabasePostgres with Drizzle through Cloudflare Hyperdrive; runs locally with nothing to installTurso or Neon Postgres in production, D1 optional; Drizzle, a git branch per variant
What ships
Sign-inPassword or magic link, passkeys, authenticator codes with recovery codes, GitHub and GooglePassword, magic link, email code, GitHub, Google and Discord; passkeys temporarily disabled
OrganizationsOrganizations with a second level for branches or sites, roles, invitations and seat caps per planOrganizations with owner, admin and member roles, invitations and paid seats
PaymentsStripe, Polar, Lemon Squeezy and Creem: subscriptions, one-time, coupons, failed-payment grace, refunds; trials on Stripe and PolarStripe subscriptions, monthly and yearly, with trials and per-seat proration previews
EmailCloudflare Email Sending and Resend, with fallback between them, queued retry and one-click unsubscribeResend, Mailgun, SendGrid, Postmark, Plunk or ZeptoMail; Vue Email templates
Background jobsCloudflare Queues with retries and a dead letter queue, plus scheduled cleanup tasksNo job queue in its docs; Essentials ships no Nitro tasks, the Demo App two dev-only ones
File storageCloudflare R2 with type, size and access rules per purpose; avatar and organization photo uploads built inS3-compatible buckets such as AWS S3, Cloudflare R2 or Backblaze B2
AITyped server calls for text, image, speech, transcription, embeddings and video on Workers AINone in Essentials; the Demo App has a streaming chat on the Vercel AI SDK
LanguagesEnglish and Serbian, with localized routes, emails and legal pagesNot mentioned in its docs
AdminCustomers list: edit, suspend, view as a customer, send resets; plan grants, one-time refunds and an audit trailCreate, ban, remove and impersonate users; revoke sessions; sync Stripe products
Blog and docsBlog with RSS and an AI drafting workflow, pricing page, legal page templates, sitemap and social imagesNo marketing site in Essentials; its pricing page lists landing, pricing and blog in the Demo App
Working on it
Tests335 test files: 230 unit, 97 component and 8 PlaywrightNot mentioned in its docs
Updatespnpm template:update brings each kit update as one commit you reviewA git pull from the kit's remote into a temporary branch, then a merge to main
AI coding agentsAGENTS.md, read by Claude Code, Cursor and CopilotEight agent skills in the Demo App, CLAUDE.md and an MCP server for the docs
Buying
Price$249 for one seat or $649 for five, one-time$149 one-time for Essentials and the Demo App
LicenseAny number of your own products; one license per clientUnlimited projects, client work included; the license cannot be shared
SupportEmail support from Devilos LLC; public docsSupport email, a Discord community and GitHub issues

06In detail

Part by part.

Stack and hosting

Nuxter is built for Cloudflare Workers on purpose. Queues, file storage, cache, mail, rate limiting, AI and the database connection are bindings, resources the Worker reaches by name with no API key, declared in one wrangler.jsonc. You learn one platform and run one Cloudflare account, and the code for each binding ships with the kit. Your Postgres database sits with a provider you choose and is reached through Hyperdrive, Cloudflare's connection pooler for Postgres. The trade is that the app runs on Workers and nowhere else. The deployment docs list the commands that create each resource.

Both kits are Nuxt 4 apps on Nuxt UI 4, Tailwind 4 and Drizzle. SuperSaas sells its SaaS kit as Essentials, with the Demo App as a second repository. Essentials builds sign-in, organizations, admin and Stripe billing on Better Auth, an auth library with a plugin for each part. Nuxter's sign-in, sessions and organizations are its own code on nuxt-auth-utils, a Nuxt module for encrypted session cookies, password hashing and OAuth.

SuperSaas builds for Workers, Vercel or a Node server by one environment variable, and its deployment docs mark Workers as the tested host for Essentials.

Sign-in and accounts

Nuxter's passkeys and authenticator codes run on Workers from the first deploy, and each new passkey mails its owner a notice. You choose password or magic-link sign-in and add GitHub and Google. SuperSaas turns on email and password, magic links, a six-digit email code and GitHub, Google and Discord together. Nuxter's build mounts routes for the methods you chose and none for the rest, so a method you turned off has no endpoint anyone can call; the SuperSaas docs say its flags hide a method's form while the endpoint still works.

A provider sign-in whose email already has an account is refused until the owner connects that provider from Settings, so a GitHub or Google account with a matching address cannot sign in to someone else's account. Nuxter checks the session row on every request, so signing out a device or changing a role applies on the next one. SuperSaas caches sessions in a cookie for five minutes by default, so a revocation can take that long unless you shorten the cache.

Organizations and permissions

Nuxter declares named permissions in config, and the type check rejects a guard that names one you never declared. A plan can sell a permission, and a route guarded by it answers 402 upgrade-required, so your front end knows to show an upgrade prompt. An organization can have branches, sites or projects under it that share its plan and seats and are run by its owners and admins, so a customer with several locations holds one plan for all of them. The SuperSaas docs describe no level below an organization. Membership, role and invitation changes, and plans that staff grant or revoke, land in an audit trail the organization's managers can read.

In Nuxter, open invitations count toward the member cap, and the seat is checked again at acceptance, so a team cannot invite past its plan. SuperSaas blocks an invitation when no seat is free, and its invitation docs add that pending invitations do not reserve seats, so on a plan with several free seats you can send more invitations than seats, and the last acceptances fail.

Nuxter refuses to delete an account that is the only owner of an organization other people belong to, and by default holds a deleted account for 30 days with a restore link before erasing it. The SuperSaas docs warn that when the only owner deletes their account, nobody is left who can manage billing.

In both kits the organization owns members, invitations, seats and the subscription, with owner, admin and member roles. For anything finer than those three roles, the SuperSaas docs tell you to check the role inside the route.

Payments and billing

NuxterSuperSaas
ProvidersStripe, Polar, Lemon Squeezy, CreemStripe
What you sellSubscriptions, one-time and repeatable purchasesSubscriptions, monthly and yearly
Sales taxMerchant of record on three providers; Stripe Tax switchNot mentioned in its docs
Refunds and disputesA full refund or lost dispute removes the access it boughtNot mentioned in its docs
Plans live instarter.config.tsStripe, synced by an admin action

You pick providers in one config array. On Stripe, Polar and Creem, the code in a coupon link is checked with the provider before the buyer is sent to pay. A free trial set in config, on Stripe or Polar, goes to each buyer once, so cancelling and resubscribing does not earn a second one.

Failed renewals keep access for pastDueGraceDays (14 by default) behind a payment banner. If the webhook for a paid checkout never arrives, the return page asks Stripe or Polar directly and applies the purchase, so a buyer who paid is not left on the free plan. A payments:refunded event lets your code take back anything else a refunded payment handed out.

SuperSaas runs Stripe through the @better-auth/stripe plugin, which mounts the webhook endpoint for you. You create plans in Stripe, and its Stripe docs say to re-run the sync after each change.

Database, jobs and files

Nuxter runs on Postgres, hosted by a provider you choose and reached through Hyperdrive. Locally it runs PGlite, Postgres compiled to WebAssembly, so pnpm dev needs no database server. Kit tables and yours migrate in separate chains, so a kit update never renumbers a migration you wrote.

Each background job is one file in server/jobs/, and a wrong payload shape fails the type check where you enqueue it.

SuperSaas leads on database choice: Essentials comes as Turso, NuxtHub SQLite or Postgres, one git branch each.

Nuxter stores uploads in R2 with formats, a size cap and access set per upload purpose, and an owner-only purpose serves a file to the signed-in user who owns it and nobody else. SuperSaas stores files in an S3-compatible bucket such as AWS S3, Cloudflare R2 or Backblaze B2, and its Demo App docs say the file manager serves uploads to anyone with the URL unless you add a check.

Email and notifications

Nuxter sends mail through Cloudflare Email Sending or Resend. If one provider fails, the next one sends the mail, and if every provider is down for a moment, a background job retries it later, so a password-reset mail survives a brief provider outage. Mail goes out in the reader's language, and product and marketing mail carries a one-click unsubscribe. An in-app notification bell ships with payment notifications already wired.

SuperSaas supports more email providers: the maker's open-source useEmail library covers six, from Resend to ZeptoMail. Its docs list five templates written as Vue components, with mail rendered and sent in one call, and describe no queue or retry behind it and no in-app notifications.

AI

Nuxter ships the typed server calls a product makes: text, images, speech, transcription, embeddings and video, through the Workers AI binding with no API key. Models are named by role in config, and one environment variable swaps a role's model for a deploy. The AI docs show each call.

SuperSaas's AI docs say Essentials ships no AI code. The Demo App has an organization-scoped chat with streaming replies, generated titles and a model picker, built on the Vercel AI SDK, with Workers AI, OpenAI or Google Gemini picked by environment variable.

Content, languages and marketing pages

Nuxter ships a Markdown blog with tags, RSS and generated Open Graph images, a pricing page built from the plan config, legal page templates and sitemaps. A GitHub Actions workflow drafts a post with an AI model, translates it, makes a cover and opens a pull request for you to review. The languages docs show how Nuxter serves each language and how to add a third.

Nuxter records page views and product events from the server to Cloudflare Analytics Engine, PostHog or Umami with no tracking cookie, has a consent banner that honours Global Privacy Control, and ships typed feature flags with percentage rollouts. The SuperSaas docs describe no analytics provider or cookie consent, and the feature flags they document hide login methods from the UI.

Essentials has no marketing site, and the SuperSaas docs say its root route is the login page. The pricing page lists "Landing, pricing and blog in the Demo App". The docs describe no blog, legal pages or sitemap.

Admin and operations

Your staff get a searchable customers list where they edit and suspend accounts, send reset links, grant a plan and refund a one-time purchase, so support can give a customer a plan or return money without opening the provider's dashboard; the SuperSaas admin docs describe no refunds or plan grants. Impersonation is read-only, ends after 30 minutes and appears in the customer's own activity log with the staff member as actor, so a support session cannot change data and the customer sees it in their log.

SuperSaas's admin area runs on Better Auth's admin plugin, and its user management docs say there is no impersonation audit log out of the box.

Nuxter locks a sign-in route for 15 minutes once its limit is spent, so a script guessing passwords gets ten tries per address and IP before it waits. Every response carries a Content-Security-Policy and other security headers, and with two keys set, Cloudflare Turnstile, Cloudflare's bot check, screens sign-in forms. Turn on monitoring and paste the DSN your tracker gives you, and server errors go to Sentry or Better Stack; GET /api/health lets an uptime monitor tell a dead database from a dead Worker. The SuperSaas docs document Better Auth's rate limit of 100 requests a minute per client and describe no security headers, bot check or error tracking.

Tests

Nuxter's GitHub Actions workflow runs lint, typecheck, both Vitest suites and a build on every pull request, and the Playwright smoke set runs when you add the e2e label to a pull request, or by hand.

A deploy workflow runs database migrations before it uploads the Worker, so a failed migration leaves the old version live. The build refuses a starter.config.ts that cannot work, such as a queue with no consumer, and names the key to fix, so a broken config fails before it reaches production.

The package.json the SuperSaas docs publish for Essentials has lint and typecheck scripts and no test script. Its home page says every feature is exercised against real inputs and edge cases before it ships. The repositories are private, so this describes what the docs show.

Updates

Nuxter's pnpm template:update puts everything the kit changed since your last update into one commit on a branch, which you review as a pull request. The update docs list which paths are the kit's and which are yours, so you know where to put code that no update touches.

SuperSaas's update docs have you add the kit as a git remote, create a temporary branch, run git pull for the branch you cloned and resolve conflicts in your editor's merge tool. They describe no update script, and for schema conflicts they say to keep both sides and regenerate migrations. SuperSaas keeps a changelog on its website with twelve dated entries between 17 April and 18 September 2026.

Docs and AI coding agents

Nuxter's docs are public, 25 pages with search, and nuxter.app serves an llms.txt and an llms-full.txt. In the code, one 330-line AGENTS.md covers setup, checks, code standards and known traps, and pointer files make Claude Code, Cursor and GitHub Copilot read it.

SuperSaas adds an "Ask AI" assistant to its docs, an MCP server for the docs that its pricing page lists, and eight agent skills in Claude Code's format that ship with the Demo App and, its docs say, are not in Essentials yet.

Price and license

NuxterSuperSaas
Price$249 for one seat, $649 for five, one-time$149 one-time
What it buysThe kit repositoryThe Essentials and Demo App repositories
Client workOne license per clientIncluded, no additional fees
UpdatesEvery update; the license never expiresEvery update, for the life of the product

When this page was checked, the SuperSaas home page button read "Buy Now for $149 (Save $99)" above a counter reading "90/100 used".

Nuxter's license defines a seat as one person with one GitHub account: everyone who reads or changes code containing the kit needs one, and CI and AI coding tools need none. The SuperSaas pricing page says there is no seat count, and its license forbids sharing it with other people or companies. Both licenses cover any number of your own products and forbid a public repository that contains the kit.

Support and community

Nuxter's support is by email to Devilos LLC, the company that makes it; the public docs and AGENTS.md cover the rest.

SuperSaas gives a support email on its pricing page, links a Discord community in its footer and says you can raise issues and feature requests on GitHub. Its FAQ says support covers setup, configuration and understanding the code, and not your own business logic or custom features. The maker's about page says he reads and answers every message himself.

07Sources

Where this comes from.

Every claim about SuperSaas was read from its own pages on . The main ones are below, and the rest are linked where they are used. Nuxter’s side comes from its own docs and code.

  1. SuperSaas pricingsupersaas.dev/pricing
  2. SuperSaas docs: introductionsupersaas.dev/docs/getting-started
  3. SuperSaas docs: tech stacksupersaas.dev/docs/getting-started/tech-stack
  4. SuperSaas docs: deploymentsupersaas.dev/docs/deployment
  5. SuperSaas docs: authenticationsupersaas.dev/docs/authentication
  6. SuperSaas docs: Stripesupersaas.dev/docs/payments/stripe
  7. SuperSaas about pagesupersaas.dev/about
  8. SuperSaas docs: pull updatessupersaas.dev/docs/getting-started/updates
  9. SuperSaas docs: user managementsupersaas.dev/docs/admin/user-management
  10. SuperSaas licensesupersaas.dev/license
  11. SuperSaas home pagesupersaas.dev/
  12. SuperSaas docs, blog and changelog as one text filesupersaas.dev/llms-full.txt

SuperSaas is a trademark of its owner, and Nuxter is not affiliated with it. Found something out of date? Tell us.

Docs

Read the docs before you decide.

Every page of the docs is public, so you can see how each part works before you buy. From $249, one-time.