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.