Multi-tenant apps with Next.js
How Stefan and I built a multi-tenant publishing platform serving multiple B2B media brands from a single Next.js deployment. The architecture, the middleware rewrite, and how each brand keeps its own identity.
We are a technical consultancy duo specializing in modern web development with React and Next.js. No agency overhead. No meetings marathon. Just strategic expertise and clean execution to maximize efficiency.
As two experts who've worked together for over a decade, we provide complete full-stack development capability. From scalable architecture to pixel-perfect UI. No handoffs, no miscommunication.
How Stefan and I built a multi-tenant publishing platform serving multiple B2B media brands from a single Next.js deployment. The architecture, the middleware rewrite, and how each brand keeps its own identity.
A practical guide to running Puppeteer in a Next.js Route Handler on Vercel to render PDFs. How to work around the 250MB function bundle limit, cache the Chromium executable, and prevent concurrent downloads on cold starts.
A quick reference for the dynamic APIs and patterns that force a Next.js route into dynamic rendering. cookies, headers, searchParams, connection, fetch with no-store, and missing generateStaticParams.
A deep dive into viewport units in CSS, exploring vh, svh, lvh, dvh, and how to choose the right one for your layouts.
Part 4 of the series: A practical guide to migrating from the previous Next.js caching model to Cache Components. What changes, what breaks, and how Date.now() cost us several days on a real project.
Part 3 of the series: The difference between revalidateTag, updateTag, and revalidatePath in Next.js Cache Components. When to use which, how to design cache tags, and how to integrate CMS webhooks for on-demand revalidation.