Blog
Product updates, guides, and ideas for teams building with clarity.
Featured
Idempotent Stripe Webhooks in Node.js TypeScript: Patterns That Survive Replay Idempotent Stripe Webhooks in Node.js TypeScript: Patterns That Survive Replay
Event idempotency ensures the same webhook event runs once. Business idempotency ensures the same outcome applies once, even when two different event types both try to finalize it.
Best Non-Next.js TypeScript SaaS Boilerplate 2026: A Constraints-First Evaluation Best Non-Next.js TypeScript SaaS Boilerplate 2026: A Constraints-First Evaluation
Most "best SaaS boilerplate" lists score demo features. This one scores what actually breaks eighteen months in: architectural boundaries, billing ownership, and vendor lock-in. A weighted, constraints-first comparison of Refract, graphile/starter, and the Next.js-committed alternatives.
Latest posts
Refract Vault: write-only secrets, decrypted only where the job runs Refract Vault: write-only secrets, decrypted only where the job runs
Refract kept the keys to sensitive org values in host environment variables, inside our most exposed process. tools.vault replaces that: secrets go in, never come back out, and only decrypt on the consumer. Here's how, and what's missing.
Refract vs. SupaStarter Refract vs. SupaStarter
AI writes the code. Your foundation determines how much architecture it has to invent. SupaStarter and Refract both get you to a SaaS; the difference is convention-driven Next-shaped surface versus contract-first boundaries that humans and coding agents modify for years.
How to Evaluate a SaaS Foundation Before You Bet a Quarter on It How to Evaluate a SaaS Foundation Before You Bet a Quarter on It
Betting a quarter on a SaaS foundation isn't a feature checklist problem. It's a cost-of-change problem: billing blast radius, authorization boundaries, dependency isolation, revenue-path regression coverage, and ecosystem risk. Here's the framework, including who should walk away.
Evaluate a SaaS Architecture Like a Staff Engineer Evaluate a SaaS Architecture Like a Staff Engineer
A staff engineer doesn't evaluate whether a SaaS codebase works today, they evaluate what it costs to change tomorrow: pricing, a provider swap, a team that triples, a stack the community still trusts. Five checks.
Why Your AI Calls Shouldn't Know Which Model They're Talking To Why Your AI Calls Shouldn't Know Which Model They're Talking To
Your domain code should ask for a completion, not an Anthropic client. Here's how Refract's tools.ai contract keeps model choice out of business logic.
Production Best Practices for AI Coding Specifications Production Best Practices for AI Coding Specifications
Agents fail when specs are vague, duplicated, or missing. This is how we structure instructions so tools can follow them, using Refract's shipped AGENTS.md tree, and how that compares when you're shopping boilerplates.