4 ms·
At Stylitics, we use Clojure & ClojureScript to automate building outfits from retailers' product catalogs, arranging them in a visually appealing collage image
by jraines 9y ago
At Stylitics, we use Clojure & ClojureScript to automate building outfits from retailers' product catalogs, arranging them in a visually appealing collage image, serving those to their product pages and track engagement & other analytics.
Biggest wins for me:
1. Reagent - building UIs has never been easier for me
2. Figwheel - I know hot-reload can be had with other tools & languages, but it's so nice to have and especially when integrated with your REPL
3. Concurrency - lots to say here, but coming from Ruby, literally just `pmap` alone is awesome, haha.
4. Deploying an uberjar is easy
5. compojure-api is a great way to build documented, live API docs/explorers
6. integrant (or component) for building up & managing running systems out of interdependent parts
That stuff's pretty basic but it's been a boon. There's a lot more cool stuff that we've used in the past and/or hope to use in the future - core.logic or constraint programming libraries for implementing rules & constraints, core.async for various things (trying to be more judicious but it's definitely useful), onyx for building distributed computation flows.
The biggest side benefit of working in Clojure, in my opinion, is training your mind to think data-first and simplicity-first. This is kind of cliché, but I've found it to be true and I feel like if I had to leave Clojure I'd be more equipped than when I started to work with the types of systems the future will need. But I'm hoping to stay :)