DEV Community

Benjamin Touchard
Benjamin Touchard

Posted on Originally published at govuekit.dev

GoVueKit vs supastarter vs SaaS Pegasus vs ShipFast: an architecture comparison

People searching for "ShipFast alternative" or "supastarter vs" are rarely
asking which kit has more checkboxes. They are asking which architecture
they want to live with. This is a comparison of four kits that each
represent a family, written by the people who sell one of them (GoVueKit),
with every price linked to the page it came from so you can verify it the
day you read this.

The four, in one line each

  • ShipFast — Next.js on managed services (MongoDB or Supabase, Google OAuth and magic links, Stripe or Lemon Squeezy, Mailgun or Resend). The fastest path from zero to a landing page with a checkout. Built for solo makers shipping many small products.
  • supastarter — a full-stack TypeScript kit for Next.js, Nuxt or TanStack Start: better-auth, Prisma or Drizzle, five payment providers, organizations with seat billing, i18n, an admin UI, serverless-friendly. Built for TypeScript teams shipping a B2B product.
  • SaaS Pegasus — a Django monolith with React or HTMX on the front (a Vue example too), Celery for background work, teams with roles, 2FA, i18n, feature flags, impersonation, Wagtail CMS. Built for Python teams, and the most mature of the four.
  • GoVueKit — a Go API (chi, sqlc) with a Vue 3 + TypeScript SPA embedded in one binary, PostgreSQL or SQLite, accounts with OIDC and TOTP, organizations with row-level tenancy, Stripe with idempotent webhooks, a durable email queue, an admin backoffice. Built for teams who want to own and self-host one artefact.

The table

ShipFast supastarter SaaS Pegasus GoVueKit
Backend Next.js API routes Nuxt/Next server + Hono Django Go (chi + sqlc)
Frontend React (Next.js) Vue (Nuxt) or React React or HTMX Vue 3 SPA, embedded
Database MongoDB or Supabase Prisma/Drizzle (PostgreSQL…) PostgreSQL (Django ORM) PostgreSQL or SQLite
Teams / tenancy no organizations, seat billing teams, roles organizations, roles, row-level isolation
Payments Stripe or Lemon Squeezy Stripe, Lemon Squeezy, Polar, Creem, Dodo Stripe (subs, per-seat, e-commerce) Stripe (subs, one-time), idempotent webhooks
Background jobs trigger.dev / QStash (external) Celery (+ broker) in-process, DB-backed
Email Mailgun / Resend transactional templates templates FR/EN templates, durable queue, SMTP or Resend
Admin admin UI Django admin + impersonation backoffice: MRR, ARPU, churn, audit, impersonation
i18n yes, incl. emails yes FR/EN UI + emails, parity tested
Runs in production Node (Vercel-shaped) Node / serverless Python + Celery + broker one static binary
Tests shipped Playwright e2e yes 234 tests on both DBs + 14 Playwright journeys
Price (time of writing) $199–$299 €299–€1,499 $449 (1 project) / $649 €199 (launch) / €249
Refund none after access see site 7 days 14 days until the code is claimed

Cells report what each product states on its own pages; where a page
does not say, the cell is empty rather than guessed.

What each architecture assumes

ShipFast assumes you will not need a backend. That is a feature, not a
gap: a landing page, a checkout, a login and a database-as-a-service is
the right shape for a $9/month micro-SaaS, and nothing ships faster. It
stops being the right shape when a customer asks for teams, an audit log
or a data-processing agreement listing your sub-processors. Its
non-refundable policy is worth knowing before you buy.

supastarter assumes TypeScript end to end and a Node host. If your
team writes TypeScript on both sides and deploys on Vercel or a Node
runtime, it is the most complete kit in the Vue and React worlds: real
organizations, seat billing, i18n down to the emails. The cost is
structural: background jobs run on an external service, and production
means a JavaScript runtime plus whatever the serverless target adds. The
top tiers are priced for agencies.

SaaS Pegasus assumes Python and a team that will run Celery. It is the
most mature product here, with features the others lack (feature flags,
Wagtail, async channels) and a per-project licence at the lower tier. A
Django monolith is a fine place to live; it also means a Python runtime, a
worker, a broker and, usually, a Node build for the React front. If your
backend team is Python, this is the serious choice.

GoVueKit assumes you want one artefact you can read. The Vue app is
compiled into the Go binary; the public pages are prerendered for SEO; the
database is PostgreSQL or SQLite from the same generated queries; jobs and
the email queue are tables in that database. Production is one ~27 MB
file on any VPS, no Node, no broker, no platform. The cost is a Go backend
— a feature for Go teams, a wall for others — and a smaller ecosystem of
add-ons than Django or Next.js. It is also deliberately a core: a blog
engine, a code generator and a second payment provider were built and then
removed to keep the codebase readable in an afternoon, and
DECISIONS.md
says why.

Five questions that decide it

  1. Which language is your backend team fluent in? This settles it more often than any feature. TypeScript → supastarter. Python → Pegasus. Go → GoVueKit. None yet, solo, shipping a small product → ShipFast.
  2. Do you need organizations on day one? ShipFast does not have them. The other three do; only GoVueKit and Pegasus test the cross-tenant boundary in an end-to-end suite that you can read.
  3. Where will it run, and who signs the data-processing agreement? Managed services mean sub-processors; a binary or a monolith on your VPS means your hosting provider and Stripe. European customers ask.
  4. What is the exit? A binary and a database dump move anywhere. A product built on a BaaS moves by re-implementing what the BaaS did.
  5. How much code will you own? Ask each vendor for the line count. Owning more is not better; owning what you can read is.

Try the one you can try without paying

ShipFast and supastarter have demos on their sites; Pegasus has an
open-source tier. GoVueKit runs its entire stack locally from one file,
no account, no licence — the app, PostgreSQL, single sign-on through Dex,
MinIO for S3, a Stripe double and a mail inbox:

curl -fsSLO https://govuekit.dev/labs/docker-compose.yml
docker compose up -d
Enter fullscreen mode Exit fullscreen mode

Whatever you pick, read its tenancy code and its webhook handler before
you bill through it. That hour is the whole evaluation.

If a cell above misstates your product, open an issue on
github.com/kOlapsis/govuekit
and it will be corrected with attribution.


Originally published on govuekit.dev. GoVueKit is a complete Go + Vue 3 SaaS codebase you buy once and own; the whole stack runs on your machine with one docker compose up: https://govuekit.dev/labs

Top comments (0)