ryer.io

Implementing Randomized Content in ILiv App Carousel

TL;DR

  • Transitioning voice notes recording to my phone.
  • Planning a feature update for the ILiv app carousel.
  • Implementing a randomized content system to reduce admin workload.
  • Utilizing existing endpoints and creating new for content management.
  • Designing a rotating selection mechanism for content display.

Today, I decided to record my voice notes on my phone instead of my computer to experiment with iCloud saving and processing on my Mac. Stepping out of my comfort zone, and it feels great!

On the engineering front, I’m spearheading a feature update for the iLiv app. Our carousel tile system, which was initially filled with static, cohort-specific content, is gearing up for a bit more dynamism. We’re planning to integrate randomized content from a repository so that the carousel stays populated without frequent manual intervention.

Here’s the plan I sketched out:

  1. Endpoint for Content Upload: I’ll create a new API to upload carousel content easily to our admin. This will allow the administrator to upload a CSV file with random content without needing a cohort ID.

  2. De-duplication During Upload: While uploading, the system will de-duplicate redundant content. This ensures diverse content can cycle through the carousel.

  3. Display Mechanism:

    • Boolean Flag: A new Boolean flag will determine if cohorts can have random content. If true, tiles will be populated with randomized content.
    • Rotating Selection: For each day of a cohort’s cycle, the system will select tiles using a revolving mechanism. This ensures no repetition until all options are used.

The clients will fetch and cache this randomized content, simplifying both server interactions and user experience. With this approach, my objective is to maintain freshness in content display while reducing the workload on our admin team.

In the thick of code and planning, it’s these innovations that keep me going—even when my kids decide to play orchestra practice in the background!