Tutorials, tips, and product updates.
Auth in Next.js has two hard problems: protecting routes without leaking content, and showing the right UI state without a flash of wrong content. Here's how to solve both.
Building a dropdown from scratch means implementing keyboard nav, focus trapping, ARIA attributes, and screen reader announcements. Or you could use primitives that handle all of it.
Tailwind utility classes are great until you need to support multiple themes, brand customization, and runtime switching. CSS variables bridge the gap. Here's the architecture.
The npm package model worked for utility libraries. For UI components, it creates version lock, style conflicts, and bundle bloat. The CLI copy-to-project model fixes all three.
Most apps validate on the client with one set of rules and on the server with another. They drift apart. Bugs slip through. Here's the pattern that uses one Zod schema for both.
Inverting colors isn't dark mode. Real dark mode is a separate design system with its own depth hierarchy, contrast ratios, and color mappings. Here's the difference.
Most UI animation is either too much or too little. Here's the small set of patterns that make interfaces feel responsive without turning your app into a cartoon.
The dashboard is the most repeated piece of SaaS UI — and the most time-consuming to build well. Here's the architecture that works, the patterns that scale, and where most teams waste time.
Route groups, server boundaries, component organization, and the lib layer — the project structure decisions that matter at 50 files, 500 files, and beyond.
Next.js 16 brings server components, improved streaming, and Turbopack stability. Here's how Bounce Kit leverages every feature to help you launch in days.
Your success page isn't a confirmation. Your redirect URL isn't proof of payment. The webhook is. Here's how to build a payment flow that doesn't lose transactions.
How we built a token system that supports light mode, dark mode, and custom theming — all with zero JavaScript at runtime.
Free UI primitives are excellent. But a button isn't a dashboard. Here's how to evaluate whether you need building blocks or the building.
Next.js has built-in SEO primitives — metadata API, sitemaps, robots.txt, OG images. Most developers use a fraction of them. Here's the full checklist and why each item matters.
Bounce Kit has zero 'any' types across 100+ components. Here's why that matters for your codebase and your customers.
A deep dive into the server action pattern used in Bounce Kit — Zod validation, session checks, and typed error responses.
How we built a registry that lets developers install individual components via the Bounce CLI — and why this distribution model wins.