Skip to content
Blog

Engineering in public

Real technical decisions, with numbers.

Practical Guides

Performance analysis: the checklist I use before suggesting a rewrite

Before approving an expensive rewrite, go through this checklist. Six checks that, in most cases, find the bottleneck without changing a line of language.

May 19, 2026 · 4 min read

Technical Cases

Integrating AI with an ERP: 4 patterns that work in production

Connecting an LLM to an ERP is where most AI projects get stuck. Four integration patterns tested in production — and what to avoid.

May 12, 2026 · 3 min read

Technical Cases

Anatomy of a Contagious Interview: malware disguised as a job interview, targeting senior devs

A malware campaign targets senior developers with fake Web3 interviews. I dissected a real sample — two coordinated payloads (editor autorun + backend RCE), what saved me, and the open-source sandbox it made me dust off.

May 6, 2026 · 10 min read

Applied AI

How much it really costs to build a custom AI agent

Forget the hourly rate. The real cost of an agent lives in the reliability required, the integrations, and the tokens — and why we estimate a range, never a hard number.

Apr 21, 2026 · 3 min read

Applied AI

RAG in practice: architecting an agent over your company's knowledge base

RAG is neither magic nor fine-tuning. It is a retrieval architecture that anchors the LLM's answers in your real content — with source citations and less hallucination.

Mar 31, 2026 · 3 min read

Applied AI

Custom WhatsApp chatbot vs no-code platform: how to decide

No-code platforms charge per message and retain your data. A custom chatbot costs more upfront and nothing later. An honest decision framework.

Mar 10, 2026 · 3 min read

Practical Guides

Legacy system modernization: the hybrid path 80% of companies should choose

Rewriting everything from scratch is the most expensive and risky way to modernize. The strangler fig pattern delivers value at every step and keeps the business running.

Feb 17, 2026 · 3 min read

Technical Cases

UUID v4 vs v7: when to migrate and what real gain to expect

Why random v4 UUIDs fragment your database index and how time-ordered v7 returned +260% throughput in the sales-reporting module of a European retail SaaS.

Jan 29, 2026 · 4 min read

Practical Guides

How to find Node.js performance bottlenecks without rewriting everything

Before migrating to Go or Rust, find out where your Node.js actually stalls. A production profiling playbook that finds the real cause, not the guess.

Jan 13, 2026 · 3 min read