Imoutotv Hot -

To prevent outliers from exploding the list:

+-----------------+      +-------------------+      +-------------------+
|   Event Streams | ---> |   Hot Score Job   | ---> |   Redis SortedSet |
| (likes, watches,|      | (Spark/Flink)     |      |   hot:global      |
|  comments, etc) |      +-------------------+      +-------------------+
        |                                            |
        |                                            v
        |                                    +-------------+
        |                                    |  API Server |
        |                                    +-------------+
        |                                            |
        |   +----------------------+                |
        +-> | Moderation Service   | <---+          |
            +----------------------+     |          |
                                         v
                                   +---------------+
                                   | Front‑end UI  |
                                   +---------------+

The Hot Score Job consumes the event stream, joins with the videos table (metadata + moderation status), applies the decay & weighting, writes the top‑N scores to Redis. The API Server reads from Redis, applies per‑creator caps, and returns JSON to the UI. imoutotv hot


| Platform | Layout | Key Elements | |----------|--------|--------------| | Mobile | Horizontal carousel (swipeable) + “Refresh” icon on the right. | • Large thumbnail (16:9).
• Small overlay badge: 🔥 1.2k
• Creator avatar in bottom‑left corner. | | Desktop | 3‑column grid (responsive). | • Hover reveals play button & stats.
• Rank number in top‑left corner (1️⃣, 2️⃣…). | | Personal Slice | Tabbed under “Hot” → “For You”. | Same layout, but badge color changes to blue to indicate personalization. | | Accessibility | Alt text for thumbnails, focus order, ARIA labels for “Refresh”. | All interactive elements keyboard‑navigable. | The Hot Score Job consumes the event stream,

Design hand‑off: Export the above as a Figma file with two artboards (mobile & desktop). Use the existing ImoutoTV design system (primary color #FF3B30, secondary #1A1A1A). | Platform | Layout | Key Elements |


personalScore(v, u) = hotScore(v) * similarity(u, v)