WeUseElixir is a curated directory of apps, libraries and companies that use the Elixir programming language.
A few years ago I was introduced to Elixir. It was the first functional programming language I'd ever used. I became a huge fan of the language and the community.
I've now used Elixir in a variety of different projects both professional and personal. It's become my go-to language for building web applications. It is just fun to work with.
I created WeUseElixir as a way to increase awareness of the Elixir language and how it's being used. WeUseElixir provides a place for creators to share their projects and allows others to discover new and interesting projects.
Just personal opinion, I would get a lot of value out of having open source projects on there like plausible. I'm fact that might be the most useful thing personally
I just did a small programming side project with a friend in Elixir and I was pretty impressed with the language, especially how it approaches functional programming, concurrency, parallelism, and “programming in the large” (e.g. networked systems and clusters).
I still think there’d be some sort of mental hurdle for me to consider using it for a project of the kinds described on WeUseElixir (vs my go-to language of Python).
But simply toying around with a concrete example of a concrete “word count” program scaled up to multi-core and multi-node made me “get” Elixir a lot more.
Also, I highly recommend this podcast interview with the author of “Elixir in Action.” He does a really nice job describing what makes Erlang and Elixir unique vs other commonly used backend programming languages.
Have you tried the codecrafters exercises, you can build a shell and a redis cache in it. It's not even that hard when you have a nice planned laid out like they do
I have a digital studio that needs to find good companies to pitch them my services... just searching LI is not very helpful, this is way better.
Also, as a place that uses Elixir... I can find all the new tools and cool projects without watching endless videos on Youtubes... As I want to spend most of my time working on projects, not trying to catch up.
I think this is excellent, thank you for making it in this format.
I never used Erlang, and I'm a functional programming fan. But languages based on heavy VM that abstract OS away always make me doubt that's the right direction.
That's not a crazy instinct, and maybe if OSs were better you would even be right, but there's not really another way to get a skrillion communicating processes that can all crash/fail independently. Without a dedicated VM, all the other approaches are either less safe or too inefficient.
I consider BEAM an indication of a direction that OSs could and maybe should move. It's even possible to run BEAM on bare metal, (almost?) entirely in place of the normal OS.
yep, its always funny to come across a company that uses it. For me the latest one was tubi, ive heard truth social also uses it not 100% sure. Sometimes I wonder if they're quiet about elixir praise is because the technology just works with very little to no issues
LiveView is fun, but my problem is that in practice I often want local-first state. Is there a good way to do that with LiveView, maybe a clean way to write the little javascript snippets so they work with local state?
LiveView already has local first state. The magic in LiveView is how it uses WebSocket connections to the client to keep the client state in sync with the server state. This is why you just need to update the socket and the rest just works.
If you want to have some state that only exists on the server, then you simply don’t assign that data to the socket.
A few years ago I was introduced to Elixir. It was the first functional programming language I'd ever used. I became a huge fan of the language and the community.
I've now used Elixir in a variety of different projects both professional and personal. It's become my go-to language for building web applications. It is just fun to work with.
I created WeUseElixir as a way to increase awareness of the Elixir language and how it's being used. WeUseElixir provides a place for creators to share their projects and allows others to discover new and interesting projects.
Should we submit personal projects and smaller side projects, or is this for fully fledged app only?
Also, should we add know open source applications such as Plausible[1]?
I am always happy to see Elixir and Erlang hit the front page.
[1] - https://github.com/plausible/analytics
I still think there’d be some sort of mental hurdle for me to consider using it for a project of the kinds described on WeUseElixir (vs my go-to language of Python).
But simply toying around with a concrete example of a concrete “word count” program scaled up to multi-core and multi-node made me “get” Elixir a lot more.
Also, I highly recommend this podcast interview with the author of “Elixir in Action.” He does a really nice job describing what makes Erlang and Elixir unique vs other commonly used backend programming languages.
https://se-radio.net/2018/08/se-radio-336-sasa-juric-on-elix...
Also, as a place that uses Elixir... I can find all the new tools and cool projects without watching endless videos on Youtubes... As I want to spend most of my time working on projects, not trying to catch up.
I think this is excellent, thank you for making it in this format.
I consider BEAM an indication of a direction that OSs could and maybe should move. It's even possible to run BEAM on bare metal, (almost?) entirely in place of the normal OS.
How? With a unikernel?
https://www.grisp.org/software
ElectricSQL Supabase Felt
There’s another list here: https://elixir-companies.com
Big fan, of both the language and community.
I can confirm, from firsthand knowledge, that Elixir is used at dozens of Fortune 100 companies in the US.
> Plausible Analytics is a standard Elixir/Phoenix application backed by a PostgreSQL database for general data and a Clickhouse database for stats.
https://github.com/plausible/analytics
If you want to have some state that only exists on the server, then you simply don’t assign that data to the socket.