Blog Platform
Publish long-form posts — and let a viral one be free marketing, not an outage.
Serve a viral post from the edge while the posts DB blips and limps back slow.
Published articles are read-heavy and effectively static — a viral post is the same bytes a million times. If the CDN and hot-post cache soak the reads, a DB outage is a non-event; if they don't, every reader stampedes the store at the worst moment.
Components in play
- Edge CDN — Serves rendered articles from the edge — the viral post lives here.
- Article API — Renders posts and assembles author/comment metadata.
- Hot-post cache — Keeps the trending posts in memory so the DB stays idle.
- Posts DB — Source of truth for articles, authors and comments.
Graded on these SLOs
- ≥ 99.00%Pages load
- ≤ 90 msArticle p99
- ≥ 5.0k rpsSustain the readers
- ≤ 85%Render headroom
- ≤ 6Lean footprint
The brief
Design a service like Medium. Authors publish posts; readers browse and read them. Once published, a post is read far more than it's edited — and a single essay can trend across every aggregator at once, sending the same bytes to a huge audience in minutes. The read path has to hold under that with the posts DB barely noticing.
Functional
- Publish a post and read it back by id/slug
- Edit a published post
- List an author's posts
Non-functional
- Read-heavy — a trending post is read far more than any post is written or edited
- High availability on the read path — a broken article page is a broken product
- Edits should show up for readers within a short delay, not instantly
Warm-up: design decisions
Optional theory to prime the calls a senior engineer would make before you build.
Solving is a Pro feature
Unlock the on-canvas AI design coach, per-run design reviews, the chaos simulator and all 12 problems for $15/month.
- AI design coach on your canvas — pins failure points & over-engineering
- Honest AI design review on every run
- All 12 problems + unlimited chaos simulator
- Points, levels & leaderboard