← yegor.dev

Blog

Technical writing on distributed systems, infrastructure, and data platforms. Real projects, real gotchas.

Kafka Data Flow in a DePIN Pipeline

How QuackNet routes crowdsourced network scan data through Kafka KRaft — partitioning strategy, three independent consumer groups (ClickHouse, fraud detection, push alerts), and the dead-letter queue pattern that keeps bad data out of production.

How I Made Architecture Stop Lying

90% of linters catch style. ArchDogma catches the moment your codebase becomes a time bomb — with real postmortems, not rule IDs. The open-source scanner + paid Pro Kit: consultations, CI templates, and a catalog of 14 real incidents.

ArchDogma v0.2.0: Scan Your Whole Project, Not Just One File

archdogma scan lands in v0.2.0 — a whole-project scanner that walks every .py file, runs all 11 Tier 1 detectors, and reports findings with file:line context. CI integration, JSON output, 300 tests.

ArchDogma: Python Architecture Linting That Doesn't Lie

ArchDogma v0.1.0 is now on PyPI. A static analysis tool that catches architectural anti-patterns in Python — not style, not formatting, but structure. 11 detectors, 281 tests, honest about what it can't do.

My AI Workforce: 3 Agents, 1 Control Plane, Zero Employees

How I built a persistent multi-agent AI system: Lobster (OpenClaw/Claude), Hermes (CLI agent), and Paperclip as the control plane. Heartbeat protocol, optimistic checkout locking, cross-agent delegation, and rolling memory that survives session restarts.

I Write Electronic Music in Python: No DAW, No Samples, Just Math

How I generate techno and ambient tracks using pure NumPy and SciPy — no DAW, no samples, no plugins. Every kick drum, synth wave, and chord progression computed from scratch. Plus the WAV→MP3→Telegram automated delivery pipeline.

How I Built This Portfolio: Zero Dependencies, 11 Architecture Layers

Why I chose vanilla JS over frameworks, how DDD bounded contexts keep the code sane, and the EventBus pattern that wires it all together. Three.js particles, WebLLM chat, 6-layer security — with zero npm dependencies and no build step.

Rust to WASM: Building a Fraud Detection Engine for the Browser

How I compiled a Rust no_std fraud detection engine to 6.3KB of WASM — with custom Taylor series math, haversine distance, and isolation forest scoring. 50K calculations/sec vs 5K in pure JS, and the gotchas of shipping Rust to browsers.

Kafka KRaft for Solo Projects

Why I chose Kafka for a real-time scan ingestion pipeline in a independent DePIN project, how KRaft mode replaces ZooKeeper, and the gotchas I learned deploying it locally. Single-process broker+controller, 6-partition topics, and the context.Background() bug that broke async Kafka writes.

Running 3.8B Models on 8GB RAM

Microsoft's Phi-4-mini: a 3.8B parameter language model that fits in your laptop. How MLX framework on Apple Silicon makes local AI practical, the tradeoffs of 4-bit quantization, and when to ship models locally vs call APIs. Includes actual benchmarks and the 7-weapon concept for AI reasoning.

ClickHouse vs TimescaleDB for Geospatial Data

Why I'm running both PostgreSQL + ClickHouse in production instead of choosing one. ClickHouse excels at analytics with built-in H3 functions and materialized views; TimescaleDB fits PostgreSQL-heavy workflows better. How to pick, with real numbers on query performance and storage efficiency.

Prompting Without Pain: What Actually Works in March 2026

An investigation into why certain prompting patterns work, grounded in vector space intuition. 20 battle-tested hacks for Claude, Grok Imagine, and ChatGPT — from positive framing and XML tags to camera terms for image-to-video. Plus the coding prompt template that shipped 30+ sessions of QuackNet.

30 Sessions, 1 Developer, 0 Employees: Building a Full-Stack DePIN Platform with Claude

The honest story of building QuackNet — a full-stack DePIN platform with Flutter, Go, Kafka, ClickHouse, and Solana — across 30 dev sessions with Claude as AI co-developer. What worked, what broke, and what it means for independent development.

I Benchmarked 7 On-Device LLMs So You Don't Have To

Phi-4-mini, Qwen2.5-3B, Llama-3.2-3B, SmolLM2, Gemma-2, Mistral-7B, and TinyLlama — tested on an M1 with 8GB RAM. Tokens/sec, RAM usage, quality scores, and the MCTS trick that makes a 3.8B model outperform a 7B.

DePIN in 2026: Who Actually Buys Crowdsourced Network Data?

An investigation into the 4 real buyer segments for crowdsourced network intelligence: telcos, CDN providers, smart cities, and regulators. What Helium, Hivemapper, and DIMO got right (and wrong), and why most DePIN tokens are speculation, not revenue.

5 Things Nobody Tells You About Solana Token-2022

After deploying 5 Anchor programs to devnet, here are the gotchas: Token-2022 wallet compatibility gaps, PDA debugging nightmares, Anchor IDL drift, transfer fee complexity, and the real cost of on-chain storage. With Rust code snippets.