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 (365 of 365 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
Create a free Neon Postgres (Postgres 17) in one curl command; get a pooled DATABASE_URL and an optional direct URL…
Developer toolsHow-To
Neon Postgres: Free Claimable DB in Minutes — No Install

Get a free Neon Postgres in minutes with one curl command — receive a claimable Postgres 17 instance, copy the pooled DATABASE_URL into your .env, and claim…

Matija Žiberna
Matija Žiberna
Step-by-step guide to install google-ads-mcp, configure OAuth/ADC and the Google Ads API, then connect Codex, Gemini…
Developer toolsHow-To
Google Ads MCP Setup: Complete Beginner Quickstart

Beginner guide to Google Ads MCP setup: create a Cloud project, configure OAuth/ADC, enable the Google Ads API, and connect Codex, Gemini, or Claude for…

Matija Žiberna
Matija Žiberna
Understand Neon's storage/compute separation, PgBouncer transaction pooling, and what to reproduce on self‑hosted…
Developer toolsHow-To
Neon Postgres Architecture: Copy Connection Model First

Explore Neon Postgres architecture and learn which parts—especially PgBouncer transaction pooling—you can reproduce on a VPS to reduce connection churn and…

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
Why switching PgBouncer to transaction mode resolves Payload CMS 'remaining connection slots' errors and how to…
Developer toolsHow-To
PgBouncer Transaction Mode: Fix Postgres Connection Error

Switch PgBouncer to transaction mode to stop PostgreSQL 'remaining connection slots' errors in Payload CMS. See why app-side pools fail and apply the fix.

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
Step-by-step S3-compatible Garage setup on Ubuntu VPS using Docker Compose and Payload CMS for lightweight self-hosted…
Developer toolsHow-To
Garage Object Storage on a VPS: 10-Minute Setup Guide

Deploy S3-compatible Garage object storage on an Ubuntu VPS with Docker Compose—generate credentials, create a bucket, and securely connect it to Payload CMS.

Matija Žiberna
Matija Žiberna
Step-by-step pattern using InferTypeOf and a shared-types package to export Medusa model types for a Next.js storefront
EcommerceHow-To
Ultimate Guide to Sharing Medusa Types in a Monorepo

Share Medusa types across a pnpm monorepo: use InferTypeOf to export stable model aliases from packages/shared-types so your Next.js storefront consumes safe…

Matija Žiberna
Matija Žiberna
A practical roadmap to move products, customers, and orders from WooCommerce to Medusa with Next.js and Payload CMS
EcommerceInsight
WooCommerce to Medusa Migration 2026: Complete Step-by-Step

Practical WooCommerce to Medusa migration guide: map products, customers, and orders; plan auth and plugin replacements; rebuild checkout with Next.js and…

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
  • Previous
  • 1
  • 2
  • More pages
  • 31
  • Next
Page 1 of 31

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 →
about 5 hours ago
13 min read
1 day ago
6 min read
2 days ago
14 min read
3 days ago
10 min read
4 days ago
4 min read
5 days ago
11 min read
6 days ago
21 min read
7 days ago
11 min read
8 days ago
10 min read
9 days ago
13 min read
10 days ago
6 min read
11 days ago
23 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