BuildWithMatija

Technical Blog

Long-form technical guides for developers and evaluators.

How-to guides, tutorials, comparisons, and troubleshooting posts covering Payload CMS, Next.js, Docker, and related systems.

RSS Feed

Browse by area

Open hub
Open hub
Audience
More
Sort
Type
Build with Matija logo

Build with Matija

Modern websites, content systems, and AI workflows built for long-term growth.

Services

  • Headless CMS Websites
  • Next.js & Headless CMS Advisory
  • AI Systems & Automation
  • Website & Content Audit

Resources

  • Case Studies
  • How I Work
  • Blog
  • CMS Hub
  • E-commerce Hub
  • Dashboard

Headless CMS

  • Payload CMS Developer
  • CMS Migration
  • Payload vs Sanity
  • Payload vs WordPress
  • Payload vs Contentful

Get in Touch

Ready to modernize your stack? Let's talk about what you're building.

Book a discovery callContact me →
© 2026Build with Matija•All rights reserved•Privacy Policy•Terms of Service
BuildWithMatija
Get In Touch

All Articles (47 of 47 articles)

Compare Astro and Next.js for React developers: static-first architecture, islands hydration, SSR trade-offs, and a…
Content Management SystemComparison
Astro vs Next.js: When React Developers Should Use Astro

Astro vs Next.js: A practical comparison for React developers — learn when Astro's static-first islands model outperforms Next.js' app-oriented SSR and follow…

Matija Žiberna
Matija Žiberna
A security-first, production-ready walkthrough for Payload CMS MCP plugin covering API keys, scoped access, and…
Content Management SystemInsight
Security-First Payload CMS MCP Integration: Production Guide

Implement secure, auditable Payload CMS MCP access in production: learn MCP API key scoping, key rotation, slug fixes, curl tests, and audit-friendly…

Matija Žiberna
Matija Žiberna
Deep dive into payload.db.drizzle, schema hooks, migrations, read replicas, and practical Payload CMS Postgres best…
Content Management SystemShort Explainer
Payload Postgres Adapter Guide: Drizzle Config & Migrations

Master the Payload Postgres adapter: access payload.db.drizzle, run safe migrations, add schema hooks, avoid stale replica reads, and extend your DB safely.

Matija Žiberna
Matija Žiberna
How Payload CMS works with Next.js 16 cache components, 'use cache'/'use cache: remote' patterns, admin caveats, and…
Content Management SystemHow-To
Next.js Cache Components: Payload CMS Support Explained

Learn whether Next.js Cache Components work with Payload CMS, what changed in PR #16020, the real admin limitations, and safe frontend caching patterns to…

Matija Žiberna
Matija Žiberna
Connect Next.js Draft Mode, Payload versions, and a postMessage bridge to build reliable, real-time live preview with…
Content Management SystemHow-To
Complete Guide to Payload CMS Live Preview with Next.js

Learn to implement Payload CMS live preview with Next.js Draft Mode, Payload versions, and a postMessage bridge — step-by-step, with troubleshooting and checks.

Matija Žiberna
Matija Žiberna
Fix redirect loops and secure cookie auth by passing real request headers to payload.auth(); handle CSRF and protect…
Content Management SystemHow-To
Payload CMS Authentication: Secure Next.js Pages — Proven

Learn Payload CMS authentication for Next.js: pass real incoming headers to payload.auth() to avoid CSRF failures, prevent redirect loops, and secure custom…

Matija Žiberna
Matija Žiberna
Make identity global in multi-tenant Payload CMS: use tenant membership arrays to prevent createdBy validation errors…
Content Management SystemShort Explainer
Why Payload CMS Users Should Never Be Tenant-Scoped

Avoid cross-tenant validation errors by keeping the users collection global in Payload CMS. Use a tenants membership array to enforce access and fix createdBy…

Matija Žiberna
Matija Žiberna
How to enable concurrency control, use exclusive vs. supersedes modes, and scope keys for multi-tenant Payload jobs.
Content Management SystemShort Explainer
Payload CMS Concurrency Keys: Prevent Race Conditions

Learn how Payload CMS concurrency keys serialize jobs to prevent duplicate writes and race conditions across workers—practical steps for multi-tenant setups.

Matija Žiberna
Matija Žiberna
Why active tenant scoping matters: prevent wrong-tenant reads, enforce tenant filters, and secure multi-tenant…
Content Management SystemHow-To
Active Tenant Scoping vs Access Control: A Practical Guide

Understand active tenant scoping versus access control. Learn concrete query patterns, route guards, and job fixes to stop wrong-tenant reads.

Matija Žiberna
Matija Žiberna
Why passing req in Payload CMS hooks can break transactions - learn 2 safe patterns to prevent silent rollbacks
Content Management SystemHow-To
Payload Async Hooks: Avoid the Transaction Trap - 3 Fixes

Discover how Payload async hooks can tie background tasks to a request transaction and cause silent rollbacks. Learn two safe patterns to prevent this today.

Matija Žiberna
Matija Žiberna
How to run Payload's web and worker runtimes separately, use concurrency keys, and scale background jobs without…
Content Management SystemHow-To
Payload CMS Jobs: Separate Web & Worker Roles for Safe Scale

Learn how Payload CMS jobs can run safely at scale by separating web and worker runtimes, using concurrency keys, and preventing database contention.

Matija Žiberna
Matija Žiberna
Why prodMigrations fails at scale and how to run Payload CMS schema migrations once per deployment on Kubernetes or ECS
Content Management SystemHow-To
Stop Runtime Payload Migrations in Distributed Systems

Prevent startup race conditions: learn why Payload migrations shouldn't run at runtime in Kubernetes or ECS and how to implement a one-runner 'payload…

Matija Žiberna
Matija Žiberna
  • Previous
  • 1
  • 2
  • 3
  • 4
  • Next
Page 1 of 4

Explore Topics

Discover curated content across our most popular categories

Next.js

Learn everything about Next.js, the leading React framework for building production-ready web apps.

How to Update Sanity Schema in Nextjs 15

by Matija Žiberna

Integrating Sanity.io with Next.js 15: A Step-by-Step Guide

by Matija Žiberna

React

Articles and tutorials on building modern web interfaces using React — from components and hooks to performance optimization and architecture.

Newsletter

Stay Updated

Get practical notes and implementation updates without the noise.

React Hook Form Multi-Step Tutorial: Zustand + Zod + Shadcn

React Hook Form Multi-Step Tutorial: Zustand + Zod + Shadcn

by Matija Žiberna

The Invisible Form Bug: React 19 + React Hook Form's Hidden Compatibility Issue

The Invisible Form Bug: React 19 + React Hook Form's Hidden Compatibility Issue

by Matija Žiberna

View all React articles →
Docker
Docker

Everything you need to know about using Docker to build, ship, and run applications in isolated environments.

Docker Volume is in Use Error? 4 Proven Solutions

Docker Volume is in Use Error? 4 Proven Solutions

by Matija Žiberna

Fix Docker Permission Denied: Volumes, Bind Mounts & CI/CD

Fix Docker Permission Denied: Volumes, Bind Mounts & CI/CD

by Matija Žiberna

View all Docker articles →
Cloudflare
Cloudflare

Guides and insights on using Cloudflare for performance optimization, DNS management, security, and edge computing.

How To Programmatically Add DNS Records To Cloudflare In Node

How To Programmatically Add DNS Records To Cloudflare In Node

by Matija Žiberna

View all Cloudflare articles →
10 days ago
13 min read
14 days ago
4 min read
16 days ago
21 min read
20 days ago
6 min read
21 days ago
23 min read
29 days ago
10 min read
about 1 month ago
7 min read
about 1 month ago
10 min read
about 1 month ago
5 min read
about 1 month ago
7 min read
about 1 month ago
8 min read
about 1 month ago
7 min read
Next.js
How to Update Sanity Schema in Nextjs 15
Integrating Sanity.io with Next.js 15: A Step-by-Step Guide
View all Next.js articles →
React