Gorse-Based Recommender Engine Customization
Overview
A working copy of the open-source Gorse recommender system, adapted for use behind a media-intelligence product. Gorse is a Go-based, distributed recommendation engine; this repo carries the studio’s customization and self-hosting setup for content/feed recommendation.
Why It Exists
The product needed a self-hostable recommendation engine to surface relevant items without building collaborative filtering and ranking from scratch. Gorse provides that out of the box, so the effort focused on integrating, configuring, and deploying it rather than reinventing the core algorithms.
What We Built
The standard Gorse architecture deployed and adapted: a master (training coordination), server (recommendation API), and worker (model serving) split, with model/, storage/, protocol/, config/, and a client/, packaged via docker-compose.yml and a build.sh. Work centered on wiring Gorse into the product’s data (feedback, items, users), tuning configuration, and standing up the containerized cluster.
Technologies & Approach
Go for the engine (with C/Assembly in performance-critical numeric paths), Gorse’s master/server/worker distributed model, and Docker Compose for self-hosted deployment. Honestly framed as integration and customization of a mature OSS recommender rather than a from-scratch build, the value is in selecting, deploying, and adapting the right engine.
Outcome / Impact
Stood up a self-hosted, distributed recommendation engine for the product, proving the studio’s ability to evaluate, integrate, and operate OSS ML infrastructure rather than rebuilding it.
Capabilities Demonstrated
- Integrating and customizing an OSS recommender (Gorse)
- Operating a distributed master/worker/server ML architecture
- Self-hosted, containerized model serving
- Pragmatic build-vs-adopt engineering judgment