Dmitry Eroshenko
Senior full-stack engineer scaling systems to millions of users — now building AI agents and automation.
More: about me · contacts · github.com/airs0urce · RSS
Blog
-
Constant-Time Chat Pagination in MongoDB Using Sequential Message Indexing
skip()/limit() pagination degrades as conversations grow. Assigning every message an immutable sequential integer and range-scanning a compound index makes chat pagination O(1), with random access and bidirectional scrolling for free.
-
"That only takes 2ms"
An interviewer told me a Redis request only takes a couple of milliseconds. True — and beside the point: reading a config from Redis on every request pays in transfer bandwidth, JSON-parsing CPU, memory, and garbage collection. I measured it.
-
How I reduced 19GB to 40MB with a single trick: bitfields
How we cut sent-email tracking data from 19 GB to 40 MB for 7 million users using bit fields.
-
Performance issue with Matches list. Caching + incremental updates
How we sped up slow matches queries for users with 35,000+ swipes using pre-calculated cached lists and incremental updates.
-
From Data Loss to Point-In-Time Recovery: Lessons from a MongoDB Driver Bug
How a MongoDB driver bug caused data loss and led us to implement Percona Backup with incremental point-in-time recovery.
-
Auto-Login Email Links: From Naive Implementation to Stateless Tokens
Replacing 500 million database-stored tokens with self-contained signed tokens for email auto-login.