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 (24 of 24 articles)

Minimal dark-themed horizontal illustration showing Contentful, Sanity, Payload, and WordPress logos bound by chains and padlocks, symbolizing CMS vendor lock-in, with a broken chain between Sanity and Payload on a solid dark background.
Content Management SystemShort Explainer
CMS Vendor Lock-In Explained: Sanity vs Payload 2026

Understand CMS vendor lock-in and which risks matter: data, query (GROQ), pricing, schema, and integrations. Get clear migration cost estimates and guidance.

Matija Žiberna
Matija Žiberna
Checklist of real-world performance, pricing, migration, and security regrets in Sanity and Payload projects
Content Management SystemComparison
Sanity vs Payload: 6 Costly Regrets Teams Always Face

Discover six common regrets teams face after choosing Sanity vs Payload - performance, pricing, migration, security - a checklist to avoid costly mistakes.

Matija Žiberna
Matija Žiberna
Minimalistic website window icon with a single speech bubble and a checkmark on a solid color background, representing an initial sales conversation.
Sanity
Outdated Website Content: Why Sales Teams Lose Deals

Outdated website content weakens sales credibility and wastes reps' time. Learn the structural causes, why CRM can't fix it, and next steps to regain trust.

Matija Žiberna
Matija Žiberna
4 months ago
7 min read
Sanity
Fix NEXT_PUBLIC_SANITY_DATASET Error in Sanity CLI

Fix the 'Missing environment variable: NEXT_PUBLIC_SANITY_DATASET' error by loading dotenv in sanity.cli.ts and adding env.ts fallbacks so npx sanity dev runs…

Matija Žiberna
Matija Žiberna
6 months ago
2 min read
sanity document preview customisation
Sanity
How to Customize Document Previews in Sanity CMS Studio

Learn to tailor Sanity Studio document previews with select and prepare: display publication dates, statuses, reference fields, media fallbacks, and computed summaries.

Matija Žiberna
Matija Žiberna
8 months ago
7 min read
Sanity custom admin view
Sanity
How to Add Custom Sorting Options to Sanity CMS Document Lists

Learn to add custom sorting options to Sanity Studio document lists using the structure tool, including default sort, multi-field ordering, and domain-specific sorts.

Matija Žiberna
Matija Žiberna
8 months ago
5 min read
Rest to SDK
Sanity
How to Build a Professional TypeScript SDK for Any REST API

Create a production-ready TypeScript SDK: clean architecture, strict typing, robust error handling, packaging, and a smooth developer experience for any REST API.

Matija Žiberna
Matija Žiberna
8 months ago
12 min read
Sanity Newsletter pop-up in nextjs
Sanity
How to Build Category-Aware Popups in Next.js Using Sanity CMS

Increase conversions by showing targeted newsletter popups based on a post's category. Learn how to detect categories from Sanity, map them to tailored…

Matija Žiberna
Matija Žiberna
8 months ago
12 min read
Sanity BREVO sync
Sanity
How to Sync Your Sanity CMS Newsletter with Brevo Email Marketing

Integrate Brevo with your Sanity CMS newsletter: add the official SDK, create a service module, and sync subscribers reliably after Sanity creation with…

Matija Žiberna
Matija Žiberna
8 months ago
8 min read
Sanity Typegen
Sanity
Sanity TypeGen: Optimal Project Structure and Production Workflow (2025 Update)

Complete guide to implementing Sanity TypeGen at scale: project structure, query organization, type generation workflow, and production deployment strategies for large applications.

Matija Žiberna
Matija Žiberna
8 months ago
14 min read
Grapql vs GROQ
Sanity
GROQ vs GraphQL: Complete Guide to Choosing the Right Query Language (2025)

Comprehensive comparison of GROQ and GraphQL: understand when to choose each query language for content-driven applications vs. complex multi-source APIs.

Matija Žiberna
Matija Žiberna
8 months ago
12 min read
Sanity CMS webhook protection
Sanity
How to Create Secure Sanity CMS Webhooks with Next.js App Router

Secure your Sanity webhook endpoint in Next.js App Router with signature verification, raw body parsing, GROQ filters, and safe cache revalidation.

Matija Žiberna
Matija Žiberna
8 months ago
9 min read
  • Previous
  • 1
  • 2
  • Next
Page 1 of 2

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 →
3 months ago
11 min read
4 months ago
12 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