Skip to content

Blog

10 posts

Long-form articles and short thoughts on AI, product, and engineering.

System Design9 min read

System Design: Distributed Job Scheduler

Designing a cron-at-scale system — priority queues, exactly-once execution, retry with dead letter queues, and the monitoring that keeps it honest.

System Design9 min read

System Design: File Storage Service

Designing S3-like object storage — chunking, deduplication, CDN integration, and the metadata layer that ties it all together.

System Design8 min read

System Design: Distributed Cache

Consistent hashing, eviction policies, cache stampede prevention, and the Redis vs Memcached decision you'll actually face in production.

System Design8 min read

System Design: Payment System

Idempotency, double-entry bookkeeping, webhook handling, and PCI compliance — the system where bugs cost real money.

System Design8 min read

System Design: Search Engine

Inverted indexes, query parsing, BM25 ranking, and autocomplete — designing an Elasticsearch-like search system from scratch.

System Design8 min read

System Design: News Feed

Fan-out on write vs read, ranking algorithms, and the caching strategy behind Facebook and Twitter's news feeds.

System Design8 min read

System Design: Real-Time Chat System

Designing a WhatsApp/Slack-scale chat system — WebSockets, message ordering, presence indicators, and read receipts.

System Design7 min read

System Design: Notification System

Push, email, SMS — designing a multi-channel notification system with priority queues, delivery guarantees, and template engines.

System Design7 min read

System Design: Distributed Rate Limiter

Token bucket, sliding window, and the Redis scripts that make distributed rate limiting actually work at scale.

System Design6 min read

System Design: URL Shortener

Designing a bit.ly-scale URL shortener — Base62 encoding, redirect latency, analytics, and the caching layer that makes it fast.