Skip to content

Allow users to share content

TLDR

Set up a new service that allows users of Employee Referrals (ER) to create and share curated web content, generate personalized links and reward participation with points.

My Role

Tech lead of the team that implemented this feature.

Context

Here's the feature: administrators select and manage web content to be shared by platform users. These users can generate personalized shareable links for the curated content and distribute them externally. The platform tracks engagement with these links and rewards users for successful shares.

Details

We set up a new service for this feature, and decided to try out several new things with it.

  • Scala 3 as the language
  • cats-effect - a pure asynchronous runtime for managing effects and concurrency
  • Terraform for defining and deploying infrastructure
  • Proper telemetry (manually traced) for all workflows (this turned out to be very helpful)

Here are some diagrams from my technical design for this feature.

Previewing URLs

Saving content