back_office_ops · workflow
Rex: Medium's Go recommendation microservice for personalized story feeds
Medium's Node.js-based recommendation system was too slow and could only rank around 150 candidate stories per feed request, with homepage feed generation taking up to seconds.
How it works
Common implementation structure
How this type of workflow is generally built, generalized across documented cases — not tied to any one vendor's stack. Click any stage to read what happens there. Specific products that implement these stages appear in “Tools commonly seen” below.
Stage 1 · Multi-source story aggregation
Multiple story providers source candidate stories a user may enjoy, based on signals like network connections, reading history, and followed topics.
Tools used
GoRedisScalaNode.jscollaborative filtering
Outcome
Rex can rank 10x more candidate stories per feed request, and feed creation now takes less than one second for 95% of requests.
What failed first
Node.js's single-threaded event loop caused CPU starvation under the heavy I/O and computation load required to build ranked feeds; technical debt also made testing and iterating on recommendation strategies slow.
Results
Time savedless than one second for 95% of requests
Volume10x
Grounding & classification
Source type: technical build writeup
24 fields verified against source quotes.
personalizationpredictive analyticsrecommendation systemknowledge basebuilder submittedfailure mode describedmetric backednamed customerproduction runtime claimedtools describedworkflow describedmediacycle time reductionthroughput increasetechnical build writeupback office opsextract classify route