Go · Vue 3 · PostgreSQL or SQLite · one binary
Six months of SaaS plumbing.
Already written, already tested.
A complete Go + Vue 3 SaaS codebase — compiled into one binary you own and run on your own server, not a subscription you rent. Read it in an afternoon, keep it for good.
One-time payment · lifetime updates · unlimited projects, client work included.
Ships with AGENTS.md — your coding agent extends it instead of rebuilding it →
- internal/authargon2id · OAuth · OIDC · TOTP
- internal/orgroles · invitations · row-level isolation
- internal/billingStripe · idempotent webhooks · refunds
- internal/jobsdurable queue, survives a redeploy
- internal/email16 templates × FR/EN
- internal/storagedisk · S3 (SigV4, no SDK)
- internal/adminMRR · churn · moderation · audit log
- internal/safehttpanti-SSRF outbound client
- web/Vue 3 · Pinia · Tailwind · i18n
→ bin/govuekit linux/amd64 · 27 MB · 1 file to deploy
the product, as it ships


- 234
- tests, run on SQLite and PostgreSQL
- 19
- Go packages, no framework in the way
- 2
- databases, both first-class, one SQL dialect
- 16
- transactional emails, in French and English
- 51
- documented environment variables, nothing hidden
- 1
- binary to deploy — the frontend is inside it
the evidence
Don't take the landing's word for it.
Three pages carry the proof: the complete inventory of what you buy, a full stack you can boot on your machine tonight, and the documentation it ships with.
vibe-code on it
Your coding agent won't rebuild what exists.
Agents fail on boilerplates in one specific way: they reimplement what is already there — a second Stripe client, a hand-rolled mailer, another login flow. AGENTS.md is the map that prevents it: every capability, its package, and the seam to extend it, in the file Claude Code, Codex and Cursor read.
And the map cannot lie: a test fails the suite when a package goes undocumented, a referenced path dies, or a seam is renamed. Your agent builds your product on the foundation — it never rebuilds the foundation.
- capabilitypackageextend through
- paymentsinternal/billingbilling.Provider
- emailinternal/emailemail.Mailer
- filesinternal/storagestorage.Storage
- background jobsinternal/jobsQueue.Register
- signup side effectsinternal/authOnUserCreated
- roles & tenancyinternal/httpRequireOrgRole
- outbound HTTPinternal/safehttpsafehttp.NewClient
Ownership
Rent nothing. Run it yourself.
Most starters hand you a list of accounts to open. This one hands you a repository. The services below are optional and swappable — the kit boots without a single one of them.
Required
- A server. One vCPU and a gigabyte of RAM run it comfortably at the start.
- A domain name, unless you enjoy handing out IP addresses.
- That is the whole list: sessions, the job queue, uploads and the database can all live on that machine.
Optional, as you grow
- PostgreSQL instead of SQLite — one environment variable, the same SQL.
- S3-compatible storage for uploads: AWS, Cloudflare R2, Scaleway, MinIO.
- Resend or any SMTP relay, for delivery at volume.
- Stripe, the day you start charging.
- Sentry, or a reporter of your own, for error tracking.
Never required
- Vercel, Netlify or any hosting platform with a build step you do not control.
- Supabase, Firebase or a backend-as-a-service holding your schema.
- Clerk, Auth0 or an identity provider billed per monthly active user.
- Redis or a managed queue — the queue is a table in your database.
- Node.js in production: the frontend is compiled into the binary.
Host it in Frankfurt, Paris or Amsterdam and no user data ever leaves your infrastructure. GDPR export and account erasure are features of the product, not a paragraph in a policy.
License
One payment. The whole repository.
€199 while the early bird lasts, €249 afterwards. Not a subscription, not a seat count, not a revenue share.
What you get
- The full source, unobfuscated: Go backend, Vue frontend, migrations, tests, CI and Docker files.
- A perpetual license for an unlimited number of end products — yours or your clients'.
- Lifetime updates of the major version you bought, delivered as commits you can read and merge.
- Both databases and the production stack: Traefik, Let's Encrypt, distroless image, backup notes.
- Buyer documentation: deployment, a customization walkthrough, and DECISIONS.md — why each call was made.
- A direct line to the author: the contact form reaches the person who wrote the code.
The single restriction, in plain words: you may not republish the source as a boilerplate, starter, template or competing kit. Everything you build with it is yours.
€199€249
One-time payment. No subscription, no seats, no revenue share.
Early-bird price applied automatically. If checkout shows the regular price, enter the code EARLY50
Checkout and invoicing go through Stripe. VAT is applied according to your country; EU companies can enter a VAT number at checkout for the reverse charge.
A question before buying? Ask it here.
FAQ
Questions a buyer should ask
Do I need Vercel, Supabase or any BaaS?
No. GoVueKit is self-contained: a server, a domain, and optionally PostgreSQL. SQLite handles small and medium loads with no setup at all.
Which databases are supported?
PostgreSQL and SQLite, both first-class. Migrations and queries are written in portable SQL, so the same code runs on either engine — you pick with one environment variable, and CI runs the whole suite twice, once per engine.
Can I keep everything in the EU?
Yes, and that is the point. Host on Hetzner, Scaleway or OVHcloud; there is no mandatory third-party processor between you and your users.
Is it actually tested, or is that just a claim?
234 Go tests run in CI on both engines, plus 14 Playwright journeys against the real production binary: signup and verification, invitations, RBAC refusals, cross-tenant isolation, webhook signature and duplicate delivery.
Can I build on it with Claude Code or Codex?
That is the intended workflow. AGENTS.md — the file coding agents read — maps every capability to its package and its extension seam, so an agent extends the kit instead of rebuilding a login flow or a second Stripe client. A test fails whenever that map drifts from the code.
What does the license allow?
Build and sell an unlimited number of products, for yourself or for clients, for as long as you like. The one thing you may not do is redistribute the source itself as a kit, starter or template.
How do updates reach me?
Through the repository. Work lands as atomic conventional commits with a changelog, so you pull, read the diff and merge — there is no vendored blob to reconcile.
Why Stripe only?
One backend kept correct beats two kept plausible. Stripe sits behind a provider seam (billing.Provider), so a second backend is a package away — the seam is documented, and the webhook rules it enforces apply to any implementation.
Is it only for B2B products with teams?
No. ORG_MODE=solo gives every account a personal organization and hides the team surface, which turns the same codebase into a per-user B2C product. Billing keeps working unchanged.
What happens after I buy?
An email arrives with a one-time link. Open it, enter your GitHub username, and you are invited to the private repository as a collaborator. Clone it, rename the Go module, run make setup, and a working product is on your machine in minutes.
What if it is not for me?
Full refund on request within 14 days, as long as you have not claimed repository access. Once you submit your GitHub username and the invitation is sent, the source code is delivered and the sale is final — code cannot be returned. You consent to this at checkout, as EU law requires.
Can I see it running?
You are looking at it: this site is the kit itself, compiled and deployed exactly the way the documentation describes. A public demo instance with a throwaway database is on the roadmap.
Stop rebuilding the same foundation.
Accounts, teams, billing, emails, admin, security: the weeks that pass before you write the first line of your actual product. They are already written, tested and documented.