Hacker News new | ask | show | jobs
by rajeemcariazo 3470 days ago
Who is using Phoenix Framework in production?
8 comments

These companies are: http://bleacherreport.com/ https://www.brightcove.com/en/ http://cargosense.com/ https://www.inverse.com/ Apple has listed it in the stack in some job descriptions over the last year
What benefit does Elixir provide to content companies (50% of these examples) given the low technical requirements of their product?
I think I remember a Bleacher Report engineer talking about this on an Elixir podcast. They use it to power their push notifications and pride themselves in being consistently the fastest among their competitors.
Not Phoenix specifically, but here's a growing list of companies that use Elixir.

https://github.com/doomspork/elixir-companies/

Tinfoil Security! All of our release engineering is orchestrated through a small Phoenix app that calls out to docker images to perform various types of deployments (Heroku, EC2, ECS, building docker images, etc).

I'll probably do a write-up on it at some point, because it is now trivial for anyone on the team to deploy any of our services to any environment (or a new one!), and to integrate new services into the platform.

We do at TalkJS (https://talkjs.com). It's a pluggable user-to-user messaging service, and the concurrency that Phoenix and notably Elixir offer have been really helpful in keeping our infrastructure simple.
Changelog.com is using Phoenix. They also recently gone open source: https://changelog.com/posts/changelog-is-open-source
Postmates [0] for a variety of internal services. It's been rock solid and easy to ramp new team members on to. We do have a good number of in-house erlang folk, too.

[0] https://twitter.com/postmatesdev/status/803775289713049600

Me. Feel free to ask me anything.
How good is the "dynamic but functional and immutable" nature of the language good at catching potential bugs?
The immutable nature helps with 1) reasoning locally (you can always understand exactly what happens in a function by reading the function itself) and 2) debugging. Additionally, dialyzer provides a very nice (optional) typing system for erlang / Elixir.
And with the new deprecation in 1.4 of bare words, a disambiguation goes away where when looking at a function you sometimes had to go "is this a variable or a function". Now functions with 0 args have parens, always.

I've found the locality of everything in the function that you mentioned helps IMMENSELY in refactoring. Just give a function a namespace and call it, and then figure out where it actually belongs later as you figure out your implementation.

Us as well, I'll answer what I can!