Blog

Notes from the engineering bench.

Page 5 of 5

Blog posts — page 5

SaaS
9 min

The complete guide to SaaS metrics in 2026: MRR, ARR, LTV, CAC, NDR

Every SaaS metric that matters in 2026, defined once and defined properly — MRR, ARR, ARPU, LTV, CAC payback, NDR, GDR, quick ratio, magic number — with formulas you can run against a Stripe table tonight.

Read post
SaaS
8 min

SaaS onboarding flows that actually convert trial users

Most trial users decide whether to pay in the first session. Here's how the best SaaS products engineer that first session — progress checklists, sample data, magic links, and the nudges that don't annoy.

Read post
SaaS
10 min

The SaaS tech stack in 2026: what changes and what stays boring

Every year a new wave of frameworks promises to replace the stack. Most of the time, the right move is the opposite — pick boring tools for the load-bearing layers and reserve novelty for the edges. Here is the 2026 version of that split, with the pieces that actually changed and the ones that should stay exactly where they are.

Read post
Backend
11 min

Secure file uploads: validation, virus scanning, and S3 best practices

File uploads are where most SaaS apps ship their first serious vulnerability. Here's the pipeline we wire up on every client project — MIME sniffing, size caps, image sanitization, virus scanning, and presigned S3 uploads — with the failure modes nobody writes tutorials about.

Read post
DevOps
11 min

Self-hosting vs managed services in 2026: a cost breakdown

Self-hosting Postgres and Redis on a cheap VPS looks like a great deal until the first 3am page. Here's the actual math at three scales — and the point where the managed premium starts paying for itself.

Read post
SaaS
11 min

Stripe subscription best practices: webhooks, idempotency, and dunning

Stripe does the easy part of billing. The hard part — webhook delivery guarantees, double-charge traps, failed-payment recovery, and reconciling what actually happened — is where SaaS teams bleed revenue. Here's the production playbook we run on client projects.

Read post
Payments
11 min

Stripe vs PayTabs vs regional gateways: payment strategy for global SaaS

Stripe covers 46 countries well and the rest poorly. For SaaS selling across MENA, India, Africa, or LatAm, a single gateway leaves revenue on the table. Here is the router design, regional picks, and KYC reality that actually ships to production.

Read post
Frontend
11 min

Tailwind CSS 4: what's new and how to migrate

Tailwind v4 ships a Rust-based engine, moves configuration into CSS, and quietly drops a pile of v3 machinery. Here's what actually changed, what breaks, and the migration path that works on real production codebases.

Read post
SaaS
8 min

Building a SaaS-ready free trial: gating, timers, and conversion hooks

Card-required trials convert at ~48.8%, no-card trials at ~18.2% — a 2.7x gap before a single email. Here's how to choose a trial model and wire it into code that gates cleanly.

Read post
Frontend
10 min

React 19 in 2026: server components, actions, and the new mental model

React 19 is the first version where server components stop feeling experimental. Actions replace most of the useState plus useEffect plus fetch wrapper layer. The new mental model is different enough that teams underestimate what it costs to retrain into it.

Read post