
Vibe PWA Starter-kit
Ship your SaaS in one evening â Next.js 16 + Supabase
5 followers
Ship your SaaS in one evening â Next.js 16 + Supabase
5 followers
Production-tested SaaS boilerplate for indie hackers tired of rebuilding auth, billing, and deploy plumbing. Supabase Auth SSR, Lemon Squeezy webhooks, PWA, marketplace SEO, CI, buyer docs + live /demo. v1.1 adds public demo page and marketing pack. No fake metrics. $50 on Gumroad.




Payment Required
Launch Team

Customer.ioAutomate Messaging Everywhere â Startups Get 12 Months Free
Promoted
@duran_ml51620 Thanks for digging into the offline edge case â exactly the kind of question I hoped for on launch day. If you try the demo install flow, curious whether the /offline â back-online UX matches what you expect.
How does the Supabase Auth SSR setup handle session refreshes on a PWA that might be offline for stretches at a time?
@duran_ml51620Â Great question. Sessions live in HTTP-only cookies via @supabase/ssr. On every online request, proxy.ts runs createServerClient() which refreshes the JWT and copies Set-Cookie headers on redirects so you do not lose the session.
Offline: the service worker serves the /offline shell â it does not refresh auth in the background. When the user comes back online, the next navigation goes through the proxy and Supabase SSR refreshes automatically (or redirects to /login if the refresh token expired).
Browser client uses createBrowserClient with the same cookie store for client-side calls when online. See lib/supabase/server.ts, lib/supabase/client.ts, proxy.ts in the kit.
Demo: https://shipvibe.dev/demo
How does the Lemon Squeezy webhook setup actually work for someone who has never used it before, and is there any gotcha around handling subscription cancellations or refunds in the boilerplate?
@berkay135817Â Great question â first-time flow:
1) Create products in Lemon Squeezy â set env vars (API key, store ID, webhook secret, variant IDs)
2) Kit registers /api/webhooks/lemon-squeezy (provision script) â events: order_created, order_refunded, subscription_created/updated/cancelled/expired
Each webhook: HMAC signature verified â idempotent Postgres claim (no double-processing) â upsert billing_subscriptions.
Cancellations/refunds: order_refunded, subscription_cancelled, subscription_expired all revoke access via deriveAccessGrant. Lemon retries return duplicate safely.
Main gotcha for newcomers: start in Lemon test mode and map variant IDs to plan codes in the catalog. START-HERE + /setup checklist cover it step by step.
Hey PH đ
Quick links for today:
⢠Live demo â https://shipvibe.dev/demo
⢠Get the kit â https://rachidcraft78.gumroad.co... ($100 ¡ 14-day refund)
Stack included: Next.js 16 App Router, Supabase Auth SSR + RLS patterns, Lemon Squeezy webhooks, PWA (SW + offline page), marketplace SEO, Vitest/Playwright CI, buyer docs + /setup checklist.
No fake metrics â ask me anything technical, I reply to every comment today.
Quick update since launch đ
⢠Custom Gumroad landing page (better checkout UX)
⢠Starter still $100 ¡ 14-day refund ¡ instant ZIP
⢠Optional Complete Ship Kit ($129) â starter + Cursor Launch Kit
Demo unchanged â real running UI: https://shipvibe.dev/demo
Starter: https://rachidcraft78.gumroad.co...
Also published two technical posts from the stack:
â Lemon webhook idempotency
â Supabase Auth SSR + PWA offline behavior
Happy to answer anything in the comments.
One week after launch â quick recap for anyone landing here now đ Current pricing (older comments above show launch-day pricing): Vibe PWA Starter-kit is $50 one-time on Gumroad (instant ZIP), Complete Ship Kit is $79 (starter + Cursor Launch Kit), both with a 14-day money-back guarantee. Live demo, no signup: https://shipvibe.dev/demo â Get the kit: https://rachidcraft78.gumroad.co... â Also new since launch: public refund/contact/terms pages on shipvibe.dev. Questions welcome, I reply to everything.
Price update đ
Starter is now permanently $50 (was $100 at launch).
Complete Ship Kit: $79 (starter + Cursor Launch Kit).
Demo unchanged: https://shipvibe.dev/demo
Starter: https://rachidcraft78.gumroad.co...
Bundle: https://rachidcraft78.gumroad.co...
Still 14-day refund ¡ no inflated user counts.