
A content recommendation system is the piece of your video platform that decides what plays next. Done right, it drives 70–85% of watched content (Netflix’s long-cited figure) and quietly runs the retention math for every major streaming service. Done wrong, it burns your GPU budget, breaks the EU Digital Services Act Article 38, and lets users churn before the catalog loads. This is a 2026 buyer’s and builder’s playbook: which algorithm family, which frameworks, which managed services, how fast it has to be, what it actually costs, and how to stay compliant with the DSA and the EU AI Act.
Fora Soft builds and maintains recommenders for streaming, VOD, OTT, and edtech video platforms, and we’ve been shipping software since 2005 across 625+ projects. We’ve built collaborative-filtering baselines, two-tower neural retrievers on Merlin, transformer rerankers on TorchRec, and the vector-database retrieval layers that feed them — on-prem, on AWS, and on GCP. This article is what we hand clients on day one of a scoping call, ordered so you can decide whether to build, buy, or do the split we usually recommend: build the retrieval layer, buy the feature store and the vector DB.
Key takeaways
• The 2026 cascade is three layers. Retrieval (< 40 ms) → scoring (< 40 ms) → reranking (< 20 ms), with a hard 100 ms end-to-end budget.
• Watch completion beats raw watch time. YouTube Shorts and TikTok both re-weighted toward completion and satisfaction in 2025–2026. A 30-s short at 85% completion outranks a 60-s short at 50%.
• Netflix-style ROI is real but rarely full-stack. For most platforms, an 8–20% engagement lift from a serious recommender pays back in 3–6 months.
• Compliance is a 2026 build requirement. DSA Article 38 requires a non-profiling ranking option for EU users; Article 27 demands explainability; the EU AI Act may classify some recommenders as high-risk (now from 2 Dec 2027).
• Buy the infra, build the model. Feast or Tecton for features, Pinecone / Milvus / Vertex Vector Search for retrieval, your own two-tower or transformer for the model. Full-managed (AWS Personalize) fits early-stage teams.
Why Fora Soft wrote this playbook
Most video recommender rebuilds we see fail for boring, predictable reasons: an optimistic feature-store rollout that hits Redis memory limits at 10 M users, a two-tower retrieval model that ranks great offline and collapses online because real-time features were never wired up, or a “DSA-compliant” chronological feed that shipped without an A/B test and quietly tanked retention. We’ve been paid to fix each of those, and to ship new recommenders from scratch against hard latency SLAs.
One example we can point to: Scholarly, an AI learning platform we built, wires discovery and personalization into a video-heavy course catalog for thousands of learners. The wiring — candidate generation, ranking, and the retention feedback loop — is the same pattern whether the content is courses, films, or short-form clips.
This guide reflects that log. If you’re picking between AWS Personalize, Vertex AI Recommendations, and an in-house build, and you want a sanity check from a team that has operated all three, book a 30-minute architecture review.
Choosing between AWS Personalize, Vertex AI, and a custom build?
30 minutes with our ML engineering lead: feature store, retrieval layer, cost model, and compliance envelope — no slides, just a straight recommendation.
What a content recommendation system actually is in 2026
A video content recommendation system in 2026 is a three-stage cascade. Retrieval narrows a catalog of millions of items to a candidate set of a few hundred, usually with an approximate-nearest-neighbor (ANN) search over item embeddings produced by a two-tower neural network. Scoring runs a heavier model (gradient-boosted trees, a DNN, or a transformer) over that candidate set and returns a ranked list. Reranking applies business rules — diversity, freshness, rights constraints, exploration, the DSA non-profiling mode — and emits the final N items to the client.
The whole cascade has to run in under 100 ms for interactive feeds. Every 100 ms of added latency cuts revenue by roughly 1% (Amazon’s classic finding, still quoted in the 2026 literature), and for a video platform the hit on session start and time-to-first-play is even harsher.

Figure 1. The three-stage cascade and a representative 100 ms budget. The detailed per-hop breakdown is in the latency section below.
The new frontier in 2026 isn’t the model — it’s perception feedback. Meta’s Reels team started folding large-scale user-survey signals into features alongside implicit clicks in 2025–2026, because pure click-through models drift toward clickbait. YouTube Shorts rebuilt its ranker around satisfaction signals (saves, shares, completion rate). Your system has to account for that, or it will optimize itself into content nobody actually enjoys.
Market snapshot — what recommendation actually earns
Netflix publicly attributes more than $1 B/year of retained revenue to personalization and says about 80% of watched content comes from recommendations rather than search — a figure from its own recommender-system paper, not a marketing deck. YouTube Shorts generates roughly 70% of its watch time from the recommendation feed. TikTok treats the algorithm as its primary competitive moat. These numbers anchor the ROI conversation but don’t transfer to most platforms. What transfers is the operational lift: a first-time deployment typically delivers 8–20% engagement uplift versus chronological or popularity-based ordering.
The cost shape is well-documented too. Managed services (AWS Personalize, Vertex AI Recommendations) run about 1.4–5.6 cents per 1,000 recommendation requests on their legacy recipes, and 15 cents per 1,000 on the newer v2 transformer recipes, plus training and ingestion charges that make the monthly bill tricky to predict. Self-hosted stacks cost engineering time up front and pennies per thousand at steady state. The break-even point usually sits around 2–5 M monthly active users, depending on catalog churn.
Algorithm families in 2026
Classic baselines (still useful)
Matrix factorization and neighborhood collaborative filtering. Cheap, explainable, a strong baseline. Don’t skip them — they’re the A/B control that tells you whether your deep model is actually doing anything. RecBole or the implicit library are fine open-source options.
Content-based. Embeddings from title, description, thumbnail, and transcript (Whisper / Deepgram Nova-3). Essential for cold-start on new videos, and it belongs in your ensemble permanently. Google’s ML crash course has the canonical write-up on content-based filtering if you need to level up the team.
Neural retrieval (the default in 2026)
Two-tower models. One tower encodes the user (history, context), another encodes the item; both emit a dense vector, and retrieval is a dot-product ANN search. YouTube, Pinterest, and most modern platforms run this. Implement in TFRS, TorchRec, or Merlin.
Transformer sequence models. TransAct (Pinterest, 2023), HSTU / Generative Recommenders (Meta, 2024), Monolith (TikTok). They model user actions as a sequence and capture recency and context better than pooled embeddings. Meta’s Generative Recommenders paper reported double-digit engagement gains at production scale; Pinterest reported 11%+ from TransAct.
LLM-as-recommender. P5, LLaRA, GenRec, RecGPT. A promising research area, not yet the default for volume inference because of latency and cost. Where it’s actually shipping in 2026 is conversational discovery (“find me something like X but shorter”) and cold-start item embedding via LLM description parsing.
Online learning and bandits
Contextual bandits. Vowpal Wabbit, Thompson sampling. These are the workhorse for exploration on new items and for thumbnail personalization — Netflix’s canonical artwork-bandit use case. Pair one with a base recommender so you exploit and explore in the same pipeline.

Figure 2. When each algorithm family earns its place — by catalog size, cold-start strength, and latency.
Reach for a two-tower neural retriever when: catalog > 100k items, median user history > 20 events, and the latency budget is around 100 ms. This is the 2026 default.
Reach for a transformer sequence model when: short-form or session-based content, sub-minute dwell times, and recency signals dominate the behavior pattern.
Reach for a classic CF + content-based hybrid when: catalog under 100k, traffic under 1 M MAU, and you want a high-quality baseline before you invest in deep-learning infrastructure.
Reach for a bandit layer on top when: you get cold-start items daily, you have thumbnail or metadata variants to test, or you’re under regulatory pressure to show your feedback loop isn’t stuck.
The 2026 stack — feature store, vector DB, training, serving
Feature store. Feast (0.62 as of 2026) for open-source, with Redis or DynamoDB online and BigQuery/Snowflake offline; Tecton for managed with an SLA. A well-tuned Feast + Redis pipeline hits sub-millisecond p99 at tens of millions of queries per second.
Vector database / ANN retrieval. Pinecone for fully managed (serverless in 2026: roughly $16 per million read units, $4 per million write units, $0.33/GB-month storage); Milvus self-hosted at billion-vector scale; Faiss as a library you wrap yourself; Vertex AI Vector Search if you’re on GCP; pgvector for small-scale production under 10 M items. Shortlist on p99 latency, not feature checklists.
Training. Offline batch: Airflow or Prefect, Spark for feature aggregation. Online/streaming: Kafka + Flink. GPU training on NVIDIA Merlin for pipeline completeness, or vanilla TorchRec + DLRM for custom architectures.
Serving. Triton Inference Server (NVIDIA) for GPU model serving at scale; TorchServe for simpler models; CPU scoring for the heavy tail (gradient-boosted trees, logistic regression on top features).
Observability. Feature drift, model drift, online/offline metric gaps, coverage, diversity. Prometheus + Grafana for system metrics; a dedicated ML-observability tool (Arize, Evidently, Fiddler) for model metrics.
Managed services vs. custom build
| Option | What it is | Cost shape | Best for | Watchouts |
|---|---|---|---|---|
| AWS Personalize | Fully managed recsys | $0.0556–$0.15/1k recs + training | Early stage, < 1 M MAU | Opaque models, limited tuning |
| Vertex AI Recs + Vector Search | Managed two-tower + ANN | Usage + storage-based | GCP shops, multi-region ANN | GCP lock-in |
| Algolia Recommend | Search + recs as a service | Per-record/per-request | E-commerce, catalog < 10 M | Limited deep-learning options |
| Pinecone + custom model | Managed ANN + your retriever | Read/write units + request | Mid-market, custom model | You still own the model ops |
| Self-hosted (Merlin + Milvus) | Full BYO stack | GPU hosting + eng time | > 5 M MAU, data sovereignty | High engineering cost |
| Hybrid (ours) | Buy infra, build model | Infra SaaS + eng time | Best ratio for 1–10 M MAU | Needs a team that can model |
Latency budget — where the 100 ms goes
1. Feature retrieval (~20 ms). Feast + Redis, Tecton, or a bespoke DynamoDB read path. Sub-millisecond per feature; 20 features per request leaves headroom. The biggest risk is fan-out — batch reads wherever you can.
2. Candidate retrieval (~30 ms). ANN search on item embeddings — Pinecone, Milvus, Faiss HNSW. Pinecone p99 lands around 20–40 ms at 10 M-vector scale; self-hosted Milvus is in the same ballpark with tuning. Target 200–500 candidates.
3. Scoring (~30 ms). Your main model — two-tower scoring, a transformer pass over the candidate set, or a gradient-boosted tree. Triton on a single A100 handles 500 candidates per request in under 30 ms.
4. Reranking (~15 ms). Diversity (MMR), business rules (rights, regionalization), exploration (bandit), and the DSA non-profiling toggle when active. Pure CPU, linear in candidate count.
5. Network + serialization (~5–10 ms). The tax. Keep the recommendation service in the same region as the feature store and vector DB, and cache the top-K response per user for 30–60 seconds.
Recommender p99 over 150 ms?
Send us a pipeline trace and a traffic sample; we’ll return a written diagnosis of where the 50 ms is hiding within 48 hours.
Cold-start — new items, new users, new accounts
New items. Embed from title, description, transcript (Whisper / Deepgram Nova-3), thumbnail (CLIP), and any structured metadata (genre, duration, language). Blend content-based retrieval with collaborative signals as soon as engagement data arrives. Budget 1–3 days for a new item to converge to a stable ranking position.
New users. Use registration signals (locale, device, referral), a short onboarding quiz, or popularity-within-cohort defaults. Route new users to an exploration-heavy bandit arm for the first 10–20 interactions so you learn fast without locking them into a popular-content spiral.
New accounts at scale (B2B). For enterprise-tenant platforms (edtech, corporate video), start with tenant-level defaults seeded by the first admin’s behavior, then retrain per-tenant once more than 1,000 interactions accrue.
Thumbnail personalization and the rest of the surface
The recommender is not just “what plays next.” Netflix famously personalizes the thumbnail as well as the item ranking, and the click-through lift from a better thumbnail often matches the lift from a better item order. In 2026 you should treat every surface-level creative variant — thumbnail, title overlay, duration cut — as a contextual-bandit problem running on top of the base ranker.
For long-form content, also personalize the “because you watched X” rows, genre labels, and the preview-on-hover trailer cut. For short-form, personalize the autoplay queue length and the inter-item transition. Small surface changes produce real retention lift, and they’re cheaper to ship than a new model.
Compliance — DSA Article 38, AI Act, GDPR
DSA Article 38. Very Large Online Platforms (VLOPs) must offer at least one recommender setting that does not rely on profiling — see the Digital Services Act text. In practice that means a chronological or popularity-based feed the user can toggle in one click. Build the toggle into the UI and wire the “no profiling” option into the reranking layer so the existing cascade still handles diversity and rights.
DSA Article 27. Transparency. You must explain “the main parameters” of your recommender in plain language and let users modify controls where they exist. “We rank by a combination of your watch history, similarity to users like you, and content freshness” is the right register.
EU AI Act. Recommenders used in certain contexts (employment, education, minors’ feeds) can be classified high-risk under Annex III. The Digital Omnibus (provisionally agreed 7 May 2026) pushed those Annex III obligations from 2 August 2026 to 2 December 2027, and Annex I product-embedded systems to 2 August 2028; the Article 50 transparency rules and Article 4 AI-literacy duty were left in place. Use the extra runway to document your system, keep a risk-management log, and build a human-review path for deletion, re-ranking, and appeals.
GDPR. Ship a one-click “reset recommendations” that clears profiling inputs, and a data-subject-request surface that can export or delete a user’s embedding inputs. Retain watch history on a defensible schedule — we usually recommend 24 months for engaged users, 12 for dormant ones.
Cost model — what a 1 M MAU recommender actually costs
Here’s the arithmetic for a mid-market video platform: 1 M MAU, 40 sessions/month, 10 recommendation calls per session = 400 M recommendation requests/month. On AWS Personalize legacy real-time recipes, that inference bill is 72 M × $0.0556/1k + 328 M × $0.0278/1k = $4,003 + $9,118 = ~$13,100/month, plus training and ingestion. Switch to the v2 transformer recipes at $0.15/1k and the same 400 M requests cost ~$60,000/month — a 4.5× jump that surprises a lot of teams. All figures verified against AWS’s published 2026 pricing.

Figure 3. Monthly cost at 1 M MAU / 400 M requests, using verified 2026 vendor pricing.
| Layer | AWS Personalize | Hybrid (Pinecone + custom) | Self-hosted (Merlin) |
|---|---|---|---|
| Feature store | Bundled | $1,200/mo (Feast + Redis) | $900/mo |
| Vector DB / retrieval | Bundled | $2,000/mo (Pinecone) | $800/mo (Milvus) |
| Training + inference | ~$13,100/mo (legacy recipes) | $4,000/mo (Triton + A100 spot) | $3,000/mo |
| Event ingestion | $800/mo | $500/mo (MSK) | $300/mo |
| Observability | Bundled | $600/mo (Evidently) | $400/mo |
| Total monthly | ~$13,900 (or ~$61k on v2) | ~$8,300 | ~$5,400 + eng time |
The hybrid path gives the best unit economics for most mid-market platforms. Self-hosted is cheapest on paper but eats 1.5–2.5 ML-engineering FTE to run well, which flips the math above $10k/month once salaries are honest. And a quick caveat: we haven’t stress-tested these exact numbers past 50 M concurrent users — beyond that scale, the egress and GPU curves change, and you should model your own.
Mini case — edtech platform, 12-week build, 18% watch-time lift
Situation. A global edtech video platform with 2.1 M MAU was running a popularity-ranked feed; D30 retention sat at 34% and average session length at 11 minutes. The team wanted a recommender live before the fall enrollment cycle.
12-week plan. Weeks 1–2: data audit, KPI alignment (watch completion + D30 retention), DSA-compliance scope. Weeks 3–6: Feast + Redis feature store, Pinecone for ANN retrieval, a custom two-tower trained on four years of event data. Weeks 7–9: 5% pilot, daily A/B review, reranking tuned for cross-discipline diversity. Weeks 10–12: 100% rollout with a DSA non-profiling toggle in the UI and observability dashboards live.
Outcome. Watch-time up 18% at a p99 of 82 ms. D30 retention moved from 34% to 41%. Session length grew from 11 to 14.5 minutes. The DSA toggle was live from day one of the EU rollout. Want a similar assessment for your feed? Book a 30-min review.
A decision framework — pick the stack in five questions

Figure 4. Start with MAU to pick the base stack, then apply the modifiers.
Q1. What’s your MAU? Under 500k → managed (AWS Personalize or Algolia). 500k–5 M → hybrid. Over 5 M → self-hosted starts to amortize.
Q2. Short-form or long-form? Short-form → transformer sequence models and strong recency. Long-form → two-tower retrieval + a heavier reranker + thumbnail personalization.
Q3. Catalog churn rate? High churn (live, UGC) → online learning + bandits on top. Stable catalog (VOD, educational) → offline batch retrains daily or weekly.
Q4. Regulatory envelope? VLOP or EU consumer product → DSA Article 38 non-profiling toggle and Article 27 transparency on day one. Enterprise / B2B / small EU presence → lighter obligations.
Q5. Data sovereignty? On-prem or region-locked → self-hosted Milvus + Merlin. Otherwise, Pinecone and Vertex are fine.
Five pitfalls that kill recommender rollouts
1. Optimizing clicks instead of completion. Pure CTR models drift to clickbait. Fix: train on a blend of completion, watch-time, and survey-based satisfaction signals, weighted to your product strategy.
2. No A/B framework. You ship “the new model” and can’t prove it did anything. Fix: gate every change behind an experiment framework with pre-registered metrics; bake it in before launch, not after.
3. Offline wins that fail online. Your NDCG looks great; your DAU doesn’t move. Fix: tie every offline metric to an online lift target, and reject offline-only wins that don’t move a KPI in shadow mode.
4. Feature drift no one notices. Your training data comes from a distribution your production traffic no longer matches. Fix: ML-observability from week one; alarm on drift; retrain on a schedule your engagement volume justifies.
5. Missing DSA non-profiling toggle. The EU regulator checks for the one-click “don’t profile me” option and you don’t have it. Fix: build it into the UI, wire it into the reranker, and log the user state so audit responses are trivial.
KPIs — what to measure on day one
Quality KPIs. Watch-completion rate (target +5–10 points over baseline), session length (+10–20%), CTR on the top-10 feed positions (track, don’t maximize), and coverage (≥ 70% of catalog exposed over a 30-day window).
Business KPIs. D7 / D30 retention vs. a holdout baseline, subscribe/sign-up rate lift, revenue per user on ad-supported tiers, and catalog use (long-tail watch share). These are the numbers exec review actually cares about.
Reliability KPIs. Recommender p50 (≤ 60 ms) and p95 (≤ 100 ms), ANN recall@K on the offline eval set (≥ 0.9), training-pipeline success rate, and feature-drift alerts per week. These are the ones that page you at 3 a.m.
Industries shipping real recommender value in 2026
OTT / SVOD. The canonical use case — Netflix, Disney+, Max, Prime Video. Watch-time as the optimization target, DSA obligations mandatory in the EU, thumbnail personalization essential. If you’re monetizing that attention, pair it with an AI monetization stack.
Short-form UGC. TikTok, YouTube Shorts, Instagram Reels. Transformer sequence models, heavy exploration, cold-start on new items daily.
Edtech video and LMS. Course recommendations, per-cohort personalization, completion-rate as the optimization target. Lighter regulatory exposure, stronger tenant-level customization requirements.
Live commerce and live-shopping video. Session-based recs, very high cold-start throughput, multi-region rights constraints. A hybrid stack with bandit reranking is the default.
Enterprise / corporate video. Training libraries, town halls, onboarding content. Recommender quality matters less than RBAC + search; managed services (Algolia Recommend) work well.
News video. Freshness-weighted, diversity-regulated, GDPR- and DSA-sensitive. Hybrid content + CF with a strong non-profiling fallback.
Build vs buy vs hybrid
Buy fully managed (AWS Personalize, Vertex AI Recommendations, Algolia Recommend) when you’re under 1 M MAU, your catalog is under 1 M items, you have no in-house ML team, and you can accept an opaque model. This is the fastest path to a 10–15% baseline lift.
Hybrid (buy infra, build model) when you’re 1–10 M MAU, you want control of the ranker, and you don’t want to own the feature store or vector DB. Pick Feast + Pinecone or Tecton + Vertex Vector Search, and build a two-tower retrieval + gradient-boosted reranker.
Build fully in-house when you’re over 10 M MAU, you have data-sovereignty or on-prem constraints, you need a transformer sequence model (short-form at scale), or the recommender is your core competitive differentiator (a TikTok-style product). Merlin + Milvus + TorchRec + self-hosted Feast.
When not to build a recommender
Don’t build when your catalog is under 5,000 items — search plus editorial curation is a better use of the same engineering budget. Recommenders shine over large or messy catalogs; small catalogs don’t have the long tail to discover.
Don’t build when you can’t measure. If your product analytics can’t reliably attribute watch time to feed position, the recommender will drift in the dark. Observability and attribution come before the model.
Don’t build for regulated content (children’s feeds, education for minors, political news) without a compliance-first review. The EU AI Act classifies some of these as high-risk, and a naive deployment can attract regulator attention quickly.
Planning a recommender rollout for an EU platform?
We’ve shipped DSA-compliant recommender stacks since the 2024 enforcement ramp. One call to map your envelope, stack, and 12-week plan.
A 12-week deployment playbook
Weeks 1–2. Data audit, KPI alignment, DSA/AI Act compliance scope. Choose the stack (managed / hybrid / self-hosted). Sign DPAs, set up event-ingestion contracts.
Weeks 3–5. Feature store + vector DB up, an initial two-tower retrieval baseline. Historical backfill; an offline eval rig in place.
Weeks 6–8. 5–10% shadow/pilot with full observability. Iterate on reranking rules (diversity, freshness, rights). Wire the non-profiling toggle.
Weeks 9–11. Scale to 50%, add thumbnail personalization, run the first compliance dry run (DSA transparency copy, GDPR reset flow).
Week 12. 100% rollout, KPI dashboards wired into exec review, a weekly calibration cadence, a pilot post-mortem, and a roadmap for the next two surfaces (search ranking, home-row reordering).
FAQ
What is a content recommendation system?
A content recommendation system is a three-stage pipeline — retrieval of candidate items, scoring by a machine-learning model, and reranking with business rules — that picks what to show each user at each surface (feed, row, preview). In 2026 the default architecture is a two-tower neural retriever plus transformer or gradient-boosted scoring, served in under 100 ms end-to-end.
Should you use AWS Personalize, Vertex AI, or a custom build?
AWS Personalize and Vertex AI Recommendations are the fastest paths to a 10–15% baseline lift for teams under 1 M MAU. Above that scale, a hybrid — Feast feature store, Pinecone / Vertex Vector Search, and a custom two-tower retrieval + gradient-boosted reranker — gives the best unit economics. Full self-hosted (Merlin + Milvus) starts to pay off over 10 M MAU or with data-sovereignty constraints.
What does a 1 M MAU recommender cost per month?
About $14,000/month on AWS Personalize legacy recipes (400 M requests, tiered $0.0556→$0.0278/1k, plus training and ingestion) — or roughly $60,000/month on the v2 transformer recipes at $0.15/1k. A hybrid stack (Feast + Pinecone + a custom model on Triton) runs about $8,300/month, and self-hosted on Merlin + Milvus about $5,400/month plus 1.5–2.5 ML-engineering FTE.
How do you comply with DSA Article 38?
Offer at least one recommender setting that doesn’t rely on profiling — chronological or popularity is the usual pick — and make it reachable in one click. Wire the toggle into the reranking layer; keep diversity and rights logic in place regardless. Log the user setting so a regulator audit is trivial.
Which algorithm should you start with?
A two-tower neural retriever is the 2026 default for long-form and mid-form video. For short-form session-based content, add a transformer sequence model on top. Always keep a classic collaborative-filtering baseline as the A/B control, and layer a contextual bandit for exploration and thumbnail personalization.
How do you handle cold-start?
For new items, bootstrap embeddings from title, description, transcript, and visual features (CLIP), then blend with engagement signals as they accrue. For new users, use onboarding-quiz signals and cohort defaults with exploration-heavy ranking for the first 10–20 interactions. Plan for 1–3 days for a new item to converge on a stable ranking position.
How long does a recommender build take?
A managed baseline (AWS Personalize) can be in production in 4–6 weeks. A hybrid two-tower + reranker typically runs 10–12 weeks from data audit to 100% rollout. A self-hosted transformer sequence model at scale is a 5–8 month engagement the first time, then much faster on iteration.
What latency is acceptable?
Target p50 ≤ 60 ms and p95 ≤ 100 ms end-to-end (retrieval + scoring + reranking). Latency beyond 150–200 ms measurably hurts engagement. Keep the recommender service, feature store, and vector DB in the same region, and cache the top-K response per user for 30–60 seconds.
Read next
AI Video
AI Video Streaming App Development in 2026
Protocols, codecs, and recommender engines in one end-to-end guide.
Platforms
Content Recommendation Platforms Compared
The vendor roundup, if you’d rather buy than build the model.
AI Video
AI Video Analytics: Architecture & ROI
The measurement layer that tells you the recommender is working.
Learn
AI for Video Engineering
The Learn hub for recommendation, embeddings, and ranking internals.
Services
AI Development Services
How Fora Soft builds production ML systems end-to-end.
Ready to ship a recommender that actually moves retention?
The 2026 content recommendation system is well-understood: a two-tower retrieval, a transformer or gradient-boosted scorer, and a business-rules reranker, served under 100 ms from a feature store plus a vector DB. The decisions that still matter are MAU scale, content form factor, regulatory envelope, and whether time-to-market or unit economics pays off better for your business.
If you’re shipping a managed baseline this quarter, pick AWS Personalize or Vertex AI Recommendations, wire your event ingestion, and run a 5% pilot with a pre-registered metric. If you’re over 1 M MAU, go hybrid — Feast + Pinecone + a two-tower you train on your own data, with an A/B framework and observability from week one. If you’re at VLOP scale or have serious data-sovereignty constraints, plan a 6-month self-hosted build on Merlin and Milvus.
Either way, we’ve shipped the pattern you’re about to build. Bring your KPIs, your catalog shape, and your compliance envelope; we’ll come back with a stack shortlist, a cost model, and a 12-week delivery plan.
Let’s architect your recommender, end to end.
30 minutes with our ML engineering lead: stack, compliance, cost model, and a 12-week delivery plan.

