Blog
Guides and tips on text, JSON, images and developer tools — everything processed privately in your browser.
The Dual Write Problem, and Everything It Forces You to Build
Two writes, no transaction, and one of them fails. The bug is small; the architecture it forces — outbox, idempotency, sagas, backoff — is the real subject.
Why Your Regex Doesn't Match: The 7 Most Common Mistakes
A pattern that returns nothing is rarely broken syntax. It is usually one of these seven behaviours doing exactly what you told it to.
What's Inside a JWT — And What You Should Never Put There
A JWT is three Base64url strings and a signature. Understanding which part is secret (none of them) changes how you design with it.
JSON vs YAML: When Each One Actually Makes Sense
They encode the same data. The differences that matter are about who writes the file, who reads it, and what happens when someone makes a typo.
How CPF and CNPJ Check Digits Work (With the Algorithm)
A step-by-step walk through the mod-11 arithmetic behind Brazilian document numbers, including the 2026 alphanumeric CNPJ.
The Math Behind Loan Amortization (With a Worked Example)
Where the monthly payment formula comes from, why early instalments barely touch the principal, and what that means for paying a loan off early.
UUID v4 vs v7 vs ULID: Which ID Should Your Database Use
Random identifiers are terrible primary keys for reasons that have nothing to do with collisions. Here is what actually goes wrong, and the fix.
How Browsers Generate Cryptographically Secure Random Numbers
Math.random is predictable by design. What crypto.getRandomValues does differently, and why the difference decides whether a token is guessable.
Base64 Myths: Why It's Not Encryption and Never Was
It has no key. That single fact settles most of what people believe about Base64 — and explains the three bugs it keeps causing.
URL Encoding: Why Spaces Become %20 and + Causes Bugs
Two encoding standards share one syntax, disagree about the plus sign, and produce a bug that only appears when a user types a plus.
Image Compression Explained: Lossy, Lossless, and WebP
Why a photo shrinks to a tenth of its size with no visible change, why a logo does not, and how to pick a format without guessing.
What QR Codes Are and How to Create One
QR codes turn a URL or text into a scannable square. Here is how they work and how to generate one for free in your browser.
How to Generate Realistic Test Data
Need names, emails, and IDs to test your app? Generate realistic fake data locally — no real user records required.
How Cryptography Protects Your Data (A Practical Guide)
Cryptography is the engine behind passwords, tokens, and secure communication. Here is what every developer and curious user should know.
Compound vs. Simple Interest: What's the Difference?
Simple interest is charged on the original amount; compound interest is charged on the growing balance. The gap is huge over time.
How Loan Payments Work (and How to Calculate Them)
Every fixed loan payment splits between interest and principal. Here is how the monthly figure is calculated and why early payments barely move the balance.
Why Client-Side Tools Are More Private
Client-side tools process your data in the browser and never upload it. Here is why that matters and how to tell the difference.
How to Format, Validate, and Compare JSON
A practical guide to cleaning up messy JSON, catching syntax errors, and diffing two payloads — all in the browser.