taddgiles 2 days ago

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.

  • mig4ng 2 days ago

    I use it for many side projects, and I am starting to use it for bigger ones too.

    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

    • huqedato a day ago

      Same here, using Elixir only for personal/hobby projects. Sadly, my customers when they hear about Elixir they get scared as hell. The "song" they love includes only JS, Java, C#, or Python.

    • taddgiles 2 days ago

      Yes to all of the above. The goal is to share as much as possible what people are doing with Elixir.

    • freedomben 2 days ago

      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

      • innocentoldguy 2 days ago

        There are open source projects on the site, such as Oban and Absinthe. Is that what you’re looking for or did you mean something else?

  • taddgiles a day ago

    A big thank you to everyone for the interest, the suggestions and for the many submissions. Thank you!

  • ch4s3 a day ago

    How do I get in touch to correct the tech stack on one of these?

    • taddgiles a day ago

      Hello! Email me at hello@14hippos.com and I can get that fixed up for you.

pixelmonkey 2 days ago

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.

https://se-radio.net/2018/08/se-radio-336-sasa-juric-on-elix...

  • itissid 2 days ago

    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

kylecazar 2 days ago

Cool -- I've suspected Elixir is used in many more companies than it's "famously" used in. A quick survey on Indeed somewhat confirms that.

Big fan, of both the language and community.

  • sorentwo a day ago

    This is absolutely true.

    I can confirm, from firsthand knowledge, that Elixir is used at dozens of Fortune 500 companies in the US.

  • garbthetill 2 days ago

    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

    • input_sh a day ago

      Truth Social is just Mastodon on the backend and an alternative Twitter-like frontend called Soapbox. Soapbox is indeed Elixir-based and open source.

      Soapbox has a very weird history of first being forked from Gab for a feminist platform called Spinster(.xyz), then it got acqui-hired by Truth Social, then many of them left Truth Social to be independent. Soapbox(.pub) today is mostly abandonware, the team switched focus to building products on top of Nostr.

      The amount of times it switched sides in its 5 or so years of existence has been truly fascinating and difficult to keep track of.

    • sarchertech 2 days ago

      One of the devs at truth social is fairly infamous in the elixir community. I have several friends who worked with him at other places.

shomp a day ago

Right now I'm using Elixir to build an open-source nonprofit tech company, I will have to remember to add it to this project directory once we launch. Cool idea, keep up the good work. As a nonprofit tech company keeping costs low matters a lot, and Erlang/Elixir on BEAM makes it very easy to have tons of concurrent users with minimal overhead. Server start time is very fast. Coming from other functional languages like Clojure helps, but is not a requirement for getting started quickly.

recroad 2 days ago

Elixir is fantastic. Liveview is a huge productivity multiplier - lot of boilerplate disappears.

  • andrewflnr a day ago

    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?

    • ipnon a day ago

      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.

      • andrewflnr a day ago

        I guess I should have said "offline-first".

    • mau013 a day ago

      Checkout Hologram. It aims at client based state (but it’s all Elixir as it transpiles the Hologram pieces to JS).

    • SJMG a day ago

      LiveSvelte or LiveVue have some impressive demos. I've never used them though.

    • arcanemachiner a day ago

      Alpine.js is a good tool for this, but it can have issues when LV updates the DOM.

    • jamauro a day ago

      You can take a look at JS commands and hooks. Ultimately I came to the determination that while LiveView is cool, I think I want the opposite. I’m hoping Hologram will be the answer.

tommypalm a day ago

This is a great idea. I'd like to make a few suggestions though:

- Allow filtering by companies and libraries. I'm interested in both, but I wanted to look at just the list of companies to see if there were any I didn't recognise.

- Adding a company seems to be just adding _your_ app. It would be good to suggest companies to be listed as long as you have some evidence that they use Elixir. I know that Apple has Elixir in their Environmental team, but I'm not sure how I would go about adding that.

- Move the category filtering to the directory page. It would be more interesting to see the whole list at once and filter by category.

  • taddgiles a day ago

    Great suggestions! Thank you for taking to the time to share those.

mmaia 2 days ago

A suggestion for addition:

> 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

  • taddgiles a day ago

    Will do, thx for the idea!

k__ a day ago

Half-OT: When would you use Elixir, when Erlang, and when Gleam?

I know relatively new projects that started with Erlang, despite Elixir being available and stable for years now.

  • cess11 a day ago

    Erlang is leaner and more elegant than Elixir. If you don't need the bells and whistles of Phoenix and Ash and so on, and your team is senior enough to just go with the syntax, then Erlang is a good option. Especially if you're doing sophisticated network plumbing and distributed processing stuff but not much direct interfacing with non-technical users.

    Gleam takes inspiration from Elm, so if that's your thing and something you'd consider using, probably go with that rather than Phoenix. Again, if your team can handle it.

    Personally I build web interfaces and so on as well as plumbing stuff and I'm also very fond of the one language through the entire stack experience it allows, so I mostly stick to Elixir. Prototyping in REPL, moving to scripts, and then into proper modules in the more stable projects. It also has a very nice code generation 'story' that allows a lot of nice shortcuts and sophisticated tools.

    • dbsimmons64 a day ago

      Small nitpick - I'd say the main Gleam web framework, Lustre, takes inspiration from Elm. Gleam itself takes inspiration from a number of sources, Rust, Erlang, the ML family of languages. I think Gleam is a lovely little language (though I'm also a huge fan of Elixir).

    • paradox460 20 hours ago

      Is never say erlang is more elegant than elixir, simply due to things like ending functions with commas vs periods (yes they have actual meaning, no it's not really something worth worrying about), lack of pipes, and lack of things like with

      They both compile down to the same bytecode, and both have fairly optimum compilers

      As for gleam, it's a fun ml dialect, worth using if that's your thing. Same goes with LFE, if you like lisp

    • mmcclure a day ago

      > Gleam takes inspiration from Elm, so if that's your thing and something you'd consider using, probably go with that rather than Phoenix. Again, if your team can handle it.

      I think you meant Elixir there, not Phoenix?

      • cess11 a day ago

        Elm targets web browser languages, so I considered Phoenix to be a better point of comparison than Elixir broadly.

        • mmcclure a day ago

          I’m not sure I’m following. Gleam is inspired by Elm in a lot of ways, and the major draw over Elixir would be the Elm-inspired type system, but Gleam is still a language not a web framework (which Elm is not either, since it only targets clients afaik).

fbn79 2 days ago

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.

  • andrewflnr a day ago

    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.

    • linkdd a day ago

      > It's even possible to run BEAM on bare metal, (almost?) entirely in place of the normal OS.

      How? With a unikernel?

      • andrewflnr a day ago

        It's been a while, but I believe so. I think I'm remembering the "Erlang on Xen" project, which seems to be defunct now.

      • signa11 a day ago

        i would think so, no other option afaik.

        • toast0 a day ago

          I've built a hobby OS around BEAM... BEAM doesn't require a whole lot from the OS, I built a minimal kernel that runs a single process, which you could consider a unikernel or at least very close. I had originally wanted BEAM in ring 0, but I had a lot of trouble getting started. This way, I can just use a pre-compiled BEAM for FreeBSD and don't have to fight with weird compilation options. Anyway, with x86-32 at least, I can give my Ring 3 process access to all the ioports and let it request a mmap of any address, so the only drivers I need in the kernel are IRQ controllers, timers, and pre-beam console. Once beam is up, console i/o and networking is managed from erlang code (with a couple nifs)

  • cess11 a day ago

    What makes you think the BEAM VM is "heavy"?

    It's almost like an OS in itself and initially designed to be like a more capable and robust OS on top of rather constrained computers. In my experience it's trivial to shell or port out to the environment when I want to, and I also see people that I don't think of as highly skilled low-level programmers do things with NIF:s so that can't be exceptionally demanding either.

    • conradfr a day ago

      Yes it's definitely not heavy like a Java program that will cannibalize your RAM.

      It's actually quite lean.

      It will use all your cores without you asking (which is fantastic right?) but it's configurable AFAIK.

      • cess11 a day ago

        It will also use preemptive multitasking, so busy processes won't pin CPU cores at the expense of other tasks.

didip 2 days ago

Why not just make it a yaml document in a git repo instead of making users register?

  • taddgiles a day ago

    That's worth considering. Avoiding the user registration would certainly be nice.

desireco42 a day ago

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.

  • taddgiles a day ago

    Thx! Glad you're finding it useful!