What we learned building things that had to work
Engineering notes from projects in production, and answers to the questions clients ask before they commit. Written when there is something worth writing, not on a schedule.
Your Vite SPA serves an empty page to Google
A single-page app renders in the browser, so the first thing a crawler stores is an empty div. Here is the build step that fixes it without a framework migration, and the two failures that never show up in a build.
Why Google cannot find your site, even though it looks perfect
You search for your own company and find your competitors instead. There are three common reasons, you can tell them apart yourself in a few minutes, and only one of them is expensive to fix.
Online payments for a shop in Moldova: what exists, what each one requires, what it costs
MAIB, MICB, VictoriaBank, PayNet, MIA, Stripe, PayPal — what a Moldovan company can actually use, what each provider asks for before accepting you, where the fiscal receipt fits, and what actually drives the build cost.
Three bugs that pass every build
A route list that drifted, a primary button that could not be clicked, and a CSS rule that lost to one written ninety lines earlier. All three passed type checking, linting and tests. None of them is exotic.
How to integrate 1C with an online shop
Three ways into 1C, one business decision that has to be made before any code is written, and the concrete list of things without which the integration cannot start.
How to check what a crawler actually sees
Your browser is the wrong instrument. Here is the method that works — ask as each bot, then read your own logs — and the three ways these checks lie, including the two that produced false findings in our own audit.