Elixir/OTP projects and ideas


No amount of exercise or book problems replaces writing an actual library or application, but it can be hard for a newbie to know what to write. This is a thread that helps with that.

I’m looking for two things:

  • General Elixir project ideas—things Elixir is good and well-suited for. Doesn’t have to be something new or worth putting in a portfolio.
  • What libraries do you think are missing in the ecosystem? Writing something many others may use feels great.


Forum software?


I would love to see more Elixir efforts around an open source ecommerce platform. The ecommerce options out there are downright depressing and this is an area where Elixir/Phoenix can really shine. See peach for a WIP (the only one I know of!).


We were looking for funding for e-commerce platform at one point. To be competitive the feature list alone is about 60 pages.


You are totally right though the existing e-com options are beyond horrible including Enterprise ones like SAP Hybris and Oracle ATG.


Although it is far from trivial, probably, I would like it if there would be a Lets Encrypt client implementation in Elixir/OTP, so we could have automatic, safe and free SSL certificates on our web applications.


+1 :041:


What would also be an interesting idea, is to create variants of the Erlang Lexer/Parser libraries Leex and Yecc that use Elixir-syntax instead of Erlang-syntax to describe their behaviour. See this wonderful guide on how Leex/Yecc work.

Interestingly, it would be possible to build this Elixir-Leex/Yecc-to-Erlang-Leex/Yecc-lexparser itself using Leex and Yecc (and maybe, just maybe, they could later become self-hosting). :grin:


I’d love to see an Elixir client library for ROS. I’m hoping to start one myself if I can get some free time.


@andre1sk could you please share this list (if you can)?


I can’t unfortunately share the list we created but it was greatly similar to Hybris:
[https://drive.google.com/file/d/0B5lby2DAF-PbYXhWQmE0VkdVUDA/view?usp=sharing] (https://drive.google.com/file/d/0B5lby2DAF-PbYXhWQmE0VkdVUDA/view?usp=sharing)
Our differences were in Catalog management,
fully integrated DAM,
CDN integration


Thank you for information :wink:


A cool project would be Analytics platform as the only
Open Source option with decent traction is piwik.


I would like to have grpc implementation in Elixir :slight_smile:

  • Elixir application can call Go application over grpc
  • Go application can call Elixir application over grpc

There are also other languages.

I am not so good yet at Elixir/Erlang :).


Your URL seems to be broken, do you mean this one: http://www.grpc.io/?


Yes. fixed url.


I’m not sure I see the point in that gprc thing. If you have to use protocol buffers anyway then it is not open to the service it connects to. For mobile I tend to just open a raw socket connection to a server and send data back and forth in bursts after queuing up to save battery for a bit based on need.

A Let’s Encrypt handling library to put in a phoenix project however would be wonderfully nice and actually quite easy to do once a base library is built. I might get around to doing that within the next few months if no one else does.


Porting this to Elixir/Phoenix would make me so happy:



I think the main point the google use it internally is:

  • enable to connect micro services written in different languages
  • it use more efficient binary protocol instead of REST/JSON

####Building Scalable Microservices using Kubernetes, gRPC, and Containers


For interfacing with Google systems sure, I could see that, that is an external defined API. But that library implies nothing of the sort and seems to be something more generic. For my erlang projects I tend to just use term_to_binary, I even use such things for many of my C projects (as I have a habit of integrating them to erlang things eventually anyway, plus it is convenient and fast). I never use REST/JSON for anything that is not strictly webserver oriented for external API’s (and even then, depending on if tcp itself is allowed then I might make a better tcp level API that bypasses the webserver). If I truly need to pack data tightly then I always bit-twiddle it together, it is always possible to shave off some bits some-how and in such places as that then protobufs is a very heavyweight protocol.