3 ms·
We use Clojure extensively at Yieldbot. The entire data-science side of the house is Clojure. That includes Spark jobs that computes forecasts and estimates cli
by ljosa 10y ago
We use Clojure extensively at Yieldbot. The entire data-science side of the house is Clojure. That includes Spark jobs that computes forecasts and estimates click-through rates and a number of Storm topologies that crawl our publishers' websites and analyze the contents of the pages (so we can use them as part of the signal for the user's intent and find ads that match). It's been very powerful to use the same language for experimentation/research and production; sorenmacbeth talks about that a bit in his Clojure/West talk: https://www.youtube.com/watch?v=omSTAwSjYc8 https://www.youtube.com/watch?v=omSTAwSjYc8
We also use Clojure for the "matcher," which is a webserver that receives a request every time someone visits one of our publishers' websites. The matcher must decide very quickly which ads are relevant and decide which one to show. There is some online machine learning involved. Porting this latency-sensitive service to Clojure (from Python) has been great: the Clojure version is much more performant, it is easier to change, scale, and monitor, and it fails more gracefully.
Our data pipeline moves events for pageviews, ad impressions, clicks, etc. through kafka queues between AWS regions, archives them, and indexes them into ES. It's all Clojure.
Finally, we use Clojure and Datomic for the database where campaigns, creatives, etc., are configured.
Oh, and we're hiring.