B Ben Moataz
Writing

The tradeoffs behind the systems work.

Field notes on intelligence systems, evidence engineering, automation that survives reality, and the operational discipline of shipping systems — not demos.

Start here
Mar 05, 2026 · the pillar essay

Why Most OSINT Platforms Collapse at Scale

OSINT platforms fail because they optimize for demos, not operations. Discussing the silent accumulation of technical and human debt.

Read the essay →
Featured

Start here.

Browse by topic
The archive 28 essays
Aug 18, 2026

RAG Chunking Strategy: How to Split Documents So Retrieval Works

Chunking decides what your retriever can find. Here's how I split real documents — structure-first boundaries, parent-child units, and how to prove it worked.

searchrag
Aug 11, 2026

Why Is My RAG Retrieval Bad? A Diagnostic Order of Operations

Bad RAG retrieval is four or five distinct failures wearing one costume. Here's how I localize which one you have before changing anything.

searchrag
Jul 28, 2026

Retry with Exponential Backoff and Jitter (and the Retry Budget Nobody Sets)

Exponential backoff caps how fast a client retries; jitter stops every client retrying together. Here's the retry logic I actually ship, and the two limits most teams miss.

reliabilitydistributed-systems
Jul 21, 2026

Reranking in RAG: How a Cross-Encoder Fixes Retrieval Quality

A cross-encoder reranker re-scores your top candidates by reading query and document together. Here's how I add one, size it, and prove it worked.

searchrag
Jul 14, 2026

Dead Letter Queue Design Patterns (Routing, Envelopes, and Redrive)

A DLQ is the giving-up mechanism, and most teams build it wrong. The routing, envelope, isolation, and redrive patterns I use to make failed messages recoverable.

operationsqueues
Jul 12, 2026

How to Build Hybrid Search with pgvector and BM25 in Postgres

Build hybrid search in Postgres with pgvector, tsvector, and RRF in one SQL query — the schema, index tuning, and when you actually need real BM25.

searchhybrid-search
Jul 11, 2026

Hybrid Search vs Vector Search: Why RAG Retrieval Needs Both

Vector search understands meaning but fumbles exact identifiers; keyword search is the opposite. Here's how I build hybrid retrieval that does both — with fusion, reranking, and a pgvector setup.

searchhybrid-search
Jul 11, 2026

How to Design an Idempotent Job Queue (Retries, Backoff, and Dead Letters)

At-least-once delivery makes idempotency mandatory, not optional. Here's how I design job queues that retry safely, back off with jitter, and dead-letter poison messages — with code.

reliabilityqueues
Mar 10, 2026

From Analyst-Heavy to System-Heavy: Scaling Without Burning Humans

Analysts should supervise systems, not compensate for them. How to build sustainable feedback loops between engineering and analysis.

scalingteams
Mar 05, 2026

Why Most OSINT Platforms Collapse at Scale

OSINT platforms fail because they optimize for demos, not operations. Discussing the silent accumulation of technical and human debt.

osintfailure-modes
Jan 01, 2025

Sovrint: Temporal Propagation of Coordinated Narratives

Narratives propagate like systems, not stories. A strategic deep dive into signal clustering, sentiment drift, and the velocity of coordinated information operations.

infowarnarratives
Dec 01, 2024

Web Forensics: Reconstructing Digital Traces After the Fact

The web leaves scars if you know where to look. A technical deep dive into session reconstruction, browser artifacts, and digital evidence decay.

forensicsinvestigation
Nov 01, 2024

Browser Telemetry Evasion: The Silent Arms Race

Detection happens at layers most engineers ignore. A technical deep dive into TLS fingerprinting, Canvas poisoning, and managing behavioral jitter in high-scale automation.

anti-detectionforensics
Oct 01, 2024

Deterministic Scrapers in a Non-Deterministic Web

Web scraping is no longer about CSS selectors; it is about adaptive systems. A technical exploration of LLM-based element recovery, visual anchors, and resilient web orchestration.

scrapingweb
Sep 01, 2024

TaskEngine: Android Automation Without Root or Instrumentation

Human-grade mobile automation is possible without invasive hooks. A technical breakdown of the TaskEngine runtime, Accessibility Services, and UI drift management.

androidautomation
Aug 01, 2024

Automation That Survives Reality

Automation must expect and embrace entropy. A philosophical and technical deep dive into building resilient systems that handle drift, decay, and adversarial environments.

automationresilience
Jul 01, 2024

Entity Resolution Without Illusions

Identity is probabilistic, not deterministic. Confronting the instability of digital identity in open-source intelligence.

identitycorrelation
Jul 01, 2024

Screenshots as Evidence: Designing for Trust, Not Just Storage

Evidence must survive scrutiny, not just exist. A deep dive into Evidence Engineering, immutability, and the chain of custody for digital artifacts.

evidencetrust
Jun 01, 2024

Hybrid Search in Practice: Tuning Relevance Without Lying to Yourself

Relevance tuning is an operational discipline, not a one-time configuration. A deep dive into evaluation metrics, bias suppression, and feedback loops for intelligence systems.

searchnodes
May 15, 2024

The Hybrid Search Engine: Combining Lexical and Semantic Ranks

OSINT relevance is multi-modal. A technical exploration of why keywords fail and how to fuse BM25 with Vector Embeddings for operator-grade retrieval.

searchnodes
May 01, 2024

Usage-Based Intelligence: Building Scalable Billing Infrastructures

Billing is a distributed systems problem in disguise. Integrating real-time usage tracking with high-stakes intelligence signals.

saasbilling
Apr 20, 2024

Probabilistic Entity Resolution: Correlating Signals in the Noise

Identity in the digital wild is never certain—it is a score. A technical deep dive into probabilistic linkage, signal stacking, and confidence models for intelligence systems.

data-sciencealgorithms
Mar 01, 2024

Monitoring Is Not Alerting

Alerting is an interruption budget, not a metric. Designing high-signal, low-fatigue observability systems.

observabilitymonitoring
Jan 01, 2024

Designing for Disruption: Fault-Tolerance in Worker Fleets

Systems must degrade gracefully, not heroically. How to survive proxy pool collapses and API disruptions.

resiliencedevops
Nov 01, 2023

Worker Fleets in Practice: Retries, Idempotency, and Failure Taxonomies

Failures are classes, not surprises. Designing resilient worker fleets for complex, non-deterministic environments.

reliabilityworkers
Sep 01, 2023

Scaling the Ingest: Architectural Lessons from TraxinteL

Ingestion is a state machine, not a scraper. Lessons learned from building high-scale distributed collection pipelines.

orchestrationcase-study
Jul 01, 2023

What I Mean When I Say “Shipping Systems”

Shipping systems means shipping behavior under load, over time. A philosophical anchor for the operator-grade engineer.

engineeringphilosophy
Jan 01, 2023

The Intelligence Core: Designing Systems That Turn Noise Into Signal

Intelligence is not a feature—it is a pipeline with failure modes. A deep dive into the canonical architecture of high-scale intelligence systems.

architecturesystems
Free guide

The OSINT platform teardown

Drop your email and I'll send it over — plus new essays as they land. No noise.

  • The failure modes that quietly sink platforms at scale.
  • A checklist for collection, resolution, scoring, and evidence.
  • What to build first when reliability and trust both matter.
Subscribe via RSS → Email capture isn't wired up yet — the RSS feed is live now.

Let's talk

Reading this because you're building one?