NODE DETAIL
TRADE-OFFS
Kick India — Content Discovery Flow
INTERACTIVE
End-to-end map of how Indian streamers get surfaced to Indian viewers. Click any node to expand its trade-off detail. Three layers: Streamer input → Backend logic → Viewer discovery.
🎮 Streamer — Layer 1
⚙️ Backend — Layer 2
👁 Viewer — Layer 3
NOW — Current Interim Solution
Streamer goes live
Current behaviour
Sets English as broadcast language
No India-specific option exists yet
Appears in global English feed only
Not surfaced to Indian viewers by default
Interim
Channels team reviews streamers manually
Identifies Indian streamers via CMS
CMS: Manual featured slot
Indian streamer pinned to India homepage
Does not scale — one team, many streamers
Indian viewer visits homepage
Sees manually curated featured slots only
⚠ Limited reach
Coverage depends on channels team bandwidth
Streamer goes live
Language
choice?
Broadcast language selection
Streamer Options (choose one path)
Option 1 — Recommended
Selects English (India)
New option added to go-live app
Scales once built. Streamer must actively choose it.
Option 2
Selects Hindi
Marks stream as Hindi-language content
Accurate for Hindi streams. Wrong for English-speaking Indian streamers.
Option 3 — Best long-term
Broadcast language + Content Region
Independent field: sets region = India alongside language
Clean separation. Requires new data model. Most scalable.
Option 4 — Passive
No action — geo-detection only
System detects location at go-live automatically
Zero friction. Unreliable on VPNs or while travelling.
Existing Data Sources
Existing
Cloudflare IP geo
Country on go-live
Existing
Ads onboarding
Country from profile
Go-live signal received
Streamer tag + geo data collected
Region
signal?
Resolve content region
Priority logic applied
1
Saved content preference
2
Streamer-selected tag
3
Geo-detected location
Featured homepage logic
English (India) content shown first → global English fallback
India
tagged or
geo=IN?
Route to correct feed
→ India homepage feed
→ Global English feed
Path A — New viewer
First visit
Existing
Geo-detect
IP (web) / device locale + app store region (mobile)
India signal applied silently
Display language stays English — no visible UI change
Indian
content?
Yes → India feed
No → Global English fallback
Path B — Existing viewer
Return visit
No display language change
New
Content preference
Region → Language multi-select (no default)
Pref
set?
If empty → geo → app language
Viewer Defaulting Options
Option A
Geo-default only — no override
Works silently. No escape hatch for VPN / expats.
Fastest to ship. Right for MVP.
Option B
Geo-default + settings override
Handles all edge cases. New settings surface.
Most users never use override. Post-MVP work.
Option C
Ask viewer directly via prompt
Explicit. Onboarding change + notification to existing users.
Risk of expectation-setting before local content exists.
Outcome 1 — Primary
🇮🇳
Indian Streamer → India Homepage Feed
English (India) tagged or geo-detected Indian streamer appears in the India content feed on the Kick homepage
Outcome 2 — Fallback
🌐
Indian Streamer → Global English Feed
No India signal detected, or insufficient Indian content — streamer served in the global English feed as before