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
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
  • Topics
  • CMS Hub
  • E-commerce Hub
  • B2B Website Strategy
  • Dashboard

Headless CMS

  • Payload CMS Developer
  • CMS Migration
  • Multi-Tenant CMS
  • 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 (23 of 23 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.
Sanity·Featured

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
5 months ago11 min
Read article→
Checklist of real-world performance, pricing, migration, and security regrets in Sanity and Payload projects

Sanity

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.

5 months ago12 min

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…

8 months ago2 min
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.

10 months ago7 min
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.

10 months ago5 min
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.

10 months ago12 min
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…

10 months ago12 min
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…

10 months ago8 min
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.

10 months ago14 min
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.

10 months ago12 min
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.

10 months ago9 min
Remix dynamic route matching

Sanity

How to Fix Remix Dynamic Route Precedence: The Underscore Solution

Struggling with Remix dynamic routes not matching correctly? Learn how to fix route precedence conflicts using underscore notation for pathless layout routes.

10 months ago5 min
  • Previous
  • 1
  • 2
  • Next
Page 1 of 2

Browse

Topics

PayloadPayload
106
Next.jsNext.js
112
ReactReact
14
DockerDocker
21
AI
20
CloudflareCloudflare
7

Newsletter

Stay Updated

Get practical notes and implementation updates without the noise.