From my workshop

Case studies and guides from real projects.

Migration in four phases: setup, parallel reads, dual-write, cutover - hand-drawn diagram
2026-09-28 programming

Google Apps Script as a production backend – when yes, when no

Where this question comes from Google Apps Script is tempting. No server to stand up, no hosting fees, everything in the same Google the client already lives in. You write JavaScript,…

Read more →
Migration in four phases: setup, parallel reads, dual-write, cutover - hand-drawn diagram
2026-09-21 programming

Dual-write – how to move an app to a new database without shutting down

The problem The app is running. The client uses it every day. In a week it’s supposed to sit on a different database – better, faster, without the limits that have started to hurt.…

Read more →
Migration in four phases: setup, parallel reads, dual-write, cutover - hand-drawn diagram
2026-09-14 programming

The spreadsheet lock – why your Apps Script app starts freezing

The symptom: an Apps Script app lagging with multiple users An app written in Google Apps Script runs perfectly for one person. You add a second, a third, a fifth – and something…

Read more →
Green "200 OK" with a checkmark and red "This field is required" errors below - cover of an article about debugging an integration in production.
2026-08-31 programming

Debugging an integration in production when you can’t reach the logs

The problem An integration with an external system “sort of works”: the form submits, the user sees a thank-you, and yet the data never reaches the other end. The code looks…

Read more →
Garbled characters - UTF-8 content read as Windows-1250 (mojibake)
2026-08-07 programming, web development

Importing HTML content into Gutenberg – 3 traps that ate my post

Where this comes from I wrote myself a content importer for WordPress – I drop in a file with ready HTML and the script turns it into a post: Polish and English at once,…

Read more →
Duplicator Pro console error EXCEPTION ERROR SESSION variable max_allowed_packet is read-only Use SET GLOBAL to assign the value - conflict with MariaDB 10.5 security policy on XAMPP environment
2026-08-03 web development

Duplicator Pro fails on MariaDB – fix for “SESSION variable read-only” error

When Duplicator refuses to cooperate I’m loading a production WordPress backup locally via Duplicator Pro. Backup is 60 GB (database + media). The installer starts, looks fine, click Next – and dies…

Read more →
Typical DevTools view: 302 redirect with errorMessage in URL and - most misleading - empty allFields parameter. A signal that the problem isn't in the form.
2026-07-31 programming, web development

Marketing automation Form Handler returns “field required” but everything is filled – debug checklist

When data sends but the marketing automation system “doesn’t see it” Situation from one project: WordPress form sends 13 fields to a marketing automation endpoint. All have values. All have names…

Read more →
Helper function get_hide_from_listings_meta_query in PHP - returns meta_query with OR relation and NOT EXISTS conditions
2026-07-29 programming, web development

Hide a WordPress post from listings but keep the URL – custom post type as “private”

Private events you can’t advertise Client calls: “We’re running a closed event for selected clients. Invitations go by email. But the event page needs to be accessible so people can sign up. Only…

Read more →
2026-07-23 programming

ACF Blocks – “Cannot redeclare” fatal error when saving in Gutenberg

Symptom – 500 error when saving in Gutenberg You’re writing an ACF block, you add a helper function – everything runs smoothly on the frontend. You go to the Gutenberg editor, click…

Read more →
PHP script for bulk WordPress content update open in VS Code next to wp_posts table view in phpMyAdmin
2026-07-21 programming, web development

Bulk WordPress content update via PHP script – with exception whitelist

When WordPress admin stops being enough Client sends: “Hey, we’re updating the text under the contact form on all pages – except the training ones, keep those as they were”.…

Read more →

Got a project to talk about?

Just tell me what you need - it does not have to be technical, that is my job. I will get back to you and tell you straight whether and how I can help.