Shift
Open-source algorithmic feed
Shift is an open-source, X-style feed where the recommendation algorithm is fully exposed, explainable, and user-tunable—no black boxes, just sliders and signals you can inspect.
No real accounts. 500 synthetic personas only.
“Why this post?” shows exactly which weights and signals pushed it into your feed.
Features
Every control in Shift connects directly to the ranking code, so you can see how changing weights changes what you see in the feed.
Adjust weights like recency, author similarity, and engagement in real time, then watch the feed re-rank instantly based on your preferences.
Inspect a per-post breakdown of the signals and scoring steps that surfaced it, from follow graph distance to predicted engagement.
Explore a fully simulated network of accounts and posts, so you can experiment with ranking strategies without touching real user data.
Built-in diversity rules cap over-personalization and inject contrasting viewpoints, so you can see how feed quality changes when you push against echo chambers.
How Shift works
Shift's feed is a simple, modular stack: generate candidates from a synthetic network, score them with tunable weights, and apply diversity constraints before rendering.
1.
Generate candidates
Pull posts from followed accounts and topic-similar users.
2.
Score with weights
Apply tunable factors: recency, engagement, similarity, and more.
3.
Apply diversity rules
Cap author dominance, inject contrasting topics, enforce freshness.
4.
Render explainable feed
Show ranked posts with per-item scoring breakdowns.
Explore a real ranking pipeline with scoring functions, diversity heuristics, and explainability—all in TypeScript.
Study how weight changes affect feed composition, filter bubbles, and content diversity in a controlled synthetic environment.
Learn how recommendation systems work by tuning one yourself—no ML background required.
Shift's ranking code, personas, and UI are fully open source. Inspect the scoring functions, tweak the weights, and fork the project.