• Home
BuildWithMatija
Get In Touch

Knowledge Base

Practical notes on systems, web architecture, and AI implementation.

Browse articles by topic, author, or format to find decision-grade guidance for building usable business systems.

Build With Matija Logo

Build with Matija

Matija Žiberna

I turn scattered business knowledge into one usable system. End-to-end system architecture, AI integration, and development.

Quick Links

Payload CMS Websites
  • Bespoke AI Applications
  • Projects
  • How I Work
  • Blog
  • Payload CMS

    • Migration
    • Pricing

    Get in Touch

    Have a project in mind? Let's discuss how we can help your business grow.

    Contact me →
    © 2026BuildWithMatija•Principal-led system architecture•All rights reserved

    Find a specific article

    Search + Filters

    Article Filters

    All Articles (294 of 294 articles)

    Diagnose why chatbots underperform for lead generation and implement CRM sync, scoring, routing, and SLA-driven…
    How-To GuideAI
    Why Chatbot Lead Generation Fails — 5 System Fixes

    Learn why chatbot lead generation fails and how to fix it: short qualification, CRM sync, confidence scoring, calendar handoffs, and SLA triggers to save leads.

    Matija Žiberna
    Matija Žiberna
    • Previous
    • 1
    • 2
    • More pages
    • 25
    • Next
    Page 1 of 25

    Explore Topics

    Discover curated content across our most popular categories

    Next.js
    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

    How to Update Sanity Schema in Nextjs 15

    by Matija Žiberna

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

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

    by Matija Žiberna

    View all Next.js articles →

    Browse

    Topics

    PayloadPayload
    72
    Next.jsNext.js
    92
    ReactReact
    14
    DockerDocker
    17
    AI
    21
    CloudflareCloudflare
    4

    Newsletter

    Stay Updated

    Get practical notes and implementation updates without the noise.

    about 23 hours ago
    9 min read
    Step-by-step Homebrew troubleshooting to resolve 'zsh: command not found', reinstall Codex v0.111.0 and test GPT-5.4…
    How-To GuideTools
    Fix & Install Codex CLI on macOS with Homebrew — v0.111.0

    Resolve 'zsh: command not found: codex' on macOS by removing broken Homebrew casks, reinstalling Codex v0.111.0, and verifying GPT-5.4 medium in minutes.

    Matija Žiberna
    Matija Žiberna
    1 day ago
    4 min read
    Compare Auth.js, authsmith and Better Auth to pick the right OAuth, SSO, SAML or 2FA solution for Payload CMS.
    How-To GuidePayload
    Payload CMS Auth Plugins: Which One Should You Use?

    Choose the right Payload CMS auth plugin—Auth.js, authsmith, Better Auth, payload-oauth2 or payload-totp—to match your OAuth, SSO, SAML or 2FA requirements.

    Matija Žiberna
    Matija Žiberna
    2 days ago
    7 min read
    Resolve the Next.js 16 "Uncached Data" error by choosing 'use cache' or <Suspense>, debug dynamic bailouts, and keep…
    How-To GuideNext.js
    Fix the Uncached Data Error in Next.js 16 — 2 Proven Fixes

    Uncached data error in Next.js 16 blocking your build? Learn two clear fixes—'use cache' for static data or wrap dynamic parts in <Suspense>—and debug faster.

    Matija Žiberna
    Matija Žiberna
    3 days ago
    4 min read
    Enable ISR and static generation while providing instant Payload CMS previews on a single Next.js route—no duplicate…
    How-To GuideNext.js
    Next.js Draft Mode + ISR: Single-Route Live Previews

    Implement Next.js Draft Mode with ISR on one route using Payload CMS—editors get instant previews while public pages remain fast and cached.

    Matija Žiberna
    Matija Žiberna
    4 days ago
    8 min read
    Next.js 16 cache invalidation explained: use revalidateTag('max') for background refreshes and updateTag in Server…
    How-To GuideNext.js
    Next.js revalidateTag vs updateTag: Cache Strategy Guide

    Master Next.js revalidateTag vs updateTag in Next.js 16: use revalidateTag('max') for fast background refreshes and updateTag for immediate results now.

    Matija Žiberna
    Matija Žiberna
    5 days ago
    4 min read
    Use output: "standalone" to trim node_modules, fix sharp/image errors, and build minimal Next.js Docker images
    How-To GuideDocker
    Ultimate Next.js Standalone Dockerfile Guide (Tiny Images)

    Shrink Next.js Docker images with output: "standalone": trace imports, copy only needed modules, fix sharp image errors, and produce lean production images.

    Matija Žiberna
    Matija Žiberna
    6 days ago
    5 min read
    Why Next.js 16's 'use cache' directive replaces unstable_cache and how to migrate to compiler-driven server caching
    How-To GuideNext.js
    Next.js 'use cache' (v16): The Complete Migration Guide

    Discover how Next.js 16 replaces unstable_cache with the 'use cache' directive to auto-generate cache keys, reduce boilerplate, and simplify server-side…

    Matija Žiberna
    Matija Žiberna
    7 days ago
    5 min read
    Why Vercel's serverless model breaks for Payload and a practical self-hosted deployment using Docker, Nginx, and…
    How-To GuidePayload
    Deploy Payload CMS with Next.js 16: Self-Hosted Guide

    Learn why deploying Payload CMS with Next.js 16 favors self-hosting over Vercel, and follow a practical Docker + Nginx + Postgres reference setup and tips.

    Matija Žiberna
    Matija Žiberna
    8 days ago
    10 min read
    Step-by-step ExifTool workflow to copy EXIF/XMP/IPTC, fix FileModifyDate, and align Finder dates for JPG & MP4
    How-To GuideTools
    ExifTool on macOS: Sync Photo & Video Metadata Fast

    Use ExifTool on macOS to copy EXIF/XMP/IPTC from originals to optimized JPGs and MP4s, then set FileModifyDate to the capture time so Finder sorts correctly…

    Matija Žiberna
    Matija Žiberna
    9 days ago
    5 min read
    Practical comparison of Fly.io, Google Cloud Run, Railway, Render and bare VPS for cost, reliability, and Next.js 16…
    How-To GuideNext.js
    Next.js 16 Self-Hosted Alternatives: Fly.io, Cloud Run, VPS

    Facing rising Vercel bills after upgrading to Next.js 16? Compare Fly.io, Cloud Run, Railway, Render and bare VPS to pick the most cost-effective setup.

    Matija Žiberna
    Matija Žiberna
    10 days ago
    16 min read
    Practical Next.js guide comparing shadcn/ui Table and a TanStack-powered Data Table — when to keep simple markup and…
    How-To GuideNext.js
    shadcn Table vs Data Table: When to Choose TanStack

    Compare shadcn Table vs Data Table to decide whether to keep a small display table or adopt TanStack Table for sorting, filtering, pagination and…

    Matija Žiberna
    Matija Žiberna
    11 days ago
    10 min read
    React
    React

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

    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 →