Logo

Refract

Every SaaS pivots. Most codebases don't survive it.

Refract

Refract

Every SaaS pivots. Most codebases don't survive it.

Screenshots

Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Paid
Software Development, Low-Code, SaaS
Built with
ReactReact
AstroAstro
GraphQLGraphQL
ExpressjsExpressjs
TypescriptTypescript
DockerDocker
PostgresqlPostgresql
RedisRedis
B
BullMQ
StripeStripe

Refract is a production-grade TypeScript SaaS boilerplate for teams that expect to pivot: pricing, plans, and integrations should be configuration—not a rewrite.

WHAT YOU GET

  • Billing — Stripe: dynamic plans/tiers, metered usage, proration, multi-currency, grace periods, checkout/upgrade/downgrade/cancel, billing controls, custom checkout UX. Idempotent webhooks and retries for production failure modes.
  • Auth & B2B — Multi-tenancy, scoped RBAC, password + OAuth, sessions, users, invites/revokes.
  • Infrastructure — Swap queue (SQS, BullMQ), mail (Brevo, SendGrid), cache, analytics adapters. Background jobs and email included.
  • Apps — GraphQL + codegen, Apollo server/client, React + MUI, TypeScript end-to-end. 
  • Marketing + authenticated app in one monorepo.
  • Stack — PostgreSQL (Sequelize), Redis, Express, Apollo Server.
  • Observability — Structured logging, metrics (StatsD-oriented), analytics hooks.
  • Tests — 80%+ on billing and auth.
  • DX — Docker Compose, Makefile, CI (lint/build/test/codegen). Dev proxy: one origin for marketing, portal, API (OAuth/CORS like prod). Stripe CLI in Compose. Railway documented.
  • Docs & AI — In-repo onboarding and config. Cursor rules for consistent changes across backend, portal, tooling.
  • Principles — Composable core; vendor code behind swappable contracts so mail/queue/provider changes are adapter work.
  • Security — Validate at boundaries; ORM for DB; RBAC as product. Prefer bounded telemetry tags.

Who — Indie founders / small B2B teams; past-MVP teams; builders avoiding full rewrites when vendors change.

Why — Explicit boundaries + functional patterns. Full stack in Docker for repeatable onboarding.

Not a demo — Built for support load, billing edge cases, roles, integrations you have not chosen.

The pivot is a config change, not a rewrite.

Tech — React 19, Vite, MUI, Redux Toolkit, Apollo Client, React Router, RHF. Node, Express, Apollo Server, Sequelize, Postgres, Redis, Passport/JWT. Stripe; SQS/BullMQ; Brevo/SendGrid.

Award

Leave a comment to share your thoughts with the community.

1 comment
Yoann Jaspar
5moCreator
@yoannjaspar
I built Refract because I was tired of fighting codebases everywhere. It’s a foundation designed for the long game—explicit boundaries, pivot-proof billing, and zero infrastructure lock-in. Enjoy!

Related products

View all
aelívra

aelívra

Health, Wellness, Chronic Illness, Health Journeys, Symptom

0
Health, SaaS
BuiltByIndies

BuiltByIndies

Discover the Best New SaaS Products & Launch Indie SaaS

0
SaaS
UseWok

UseWok

Done-for-You SaaS Presence for Search & AI | UseWok.

1
AI, Marketing, SaaS
StatJolt

StatJolt

Privacy-first, cookie-less web analytics you can read on the

0
SaaS
8080AI

8080AI

Build Apps and Website with AI Agents

2
AI, Website Builder, Software Development
HummingDeck

HummingDeck

Digital Sales Rooms, Tracked Document Sharing, Client Portal

0
SaaS, Sales Enablement

Launched in Week 18, 2026

See the week
ClyraAI

ClyraAI

AI that tells you what’s hurting your videos

0
Analytics Tool, YouTube Channel, AI
Nerve Shredder

Nerve Shredder

Test your nerves in this daily high-stakes strategy game

0
Gaming
World Data Bundle

World Data Bundle

Full Continent, Country, State, City, Zip#, Currency Dataset

0
Data Science
Doing Loops - Daily Path Drawing Game

Doing Loops - Daily Path Drawing Game

Create the shortest and/or longest loop possible and flex.

0
Gaming
Transcrisper

Transcrisper

Free, 100% private, unlimited audio and video transcription

0
Productivity, AI, Audio
Empty

Empty

Start with nothing. Build everything.

1
Plugin, Dashboard, Productivity