# Project ideas for learning?

**URL:** <https://forum.elixirforum.com/t/project-ideas-for-learning/35193>\
**Category:** Discussions\
**Tags:** learning-elixir, learning\
**Created:** [October 28, 2020, 3:05pm UTC](https://forum.elixirforum.com/t/project-ideas-for-learning/35193 "2020-10-28T15:05:43Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vik](https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/v/c67d28/32.png) [@Vik](https://forum.elixirforum.com/u/Vik)\
**Post date:** [October 28, 2020, 3:05pm UTC](https://forum.elixirforum.com/t/project-ideas-for-learning/35193/1 "2020-10-28T15:05:43Z")

</div>

Hi, Im learning this language and I was wondering what projects could be good to start using this language and learn.

what I see a lot is web development ideas with phoenyx, but nothing with just Elixir.

Can desktop apps be made with Elixir, or is better to focus in web development?

any ideas?

Thanks

---

<div class="post-metadata">

**Author:** ![kokolegorille](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kokolegorille/32/4784_2.png) [@kokolegorille](https://forum.elixirforum.com/u/kokolegorille)\
**Post date:** [October 28, 2020, 4:15pm UTC](https://forum.elixirforum.com/t/project-ideas-for-learning/35193/2 "2020-10-28T16:15:25Z")

</div>

Hello and welcome,

Web is not the only target for the BEAM, another popular project is [Nerves](https://www.nerves-project.org/), targeting embedded systems.

Phoenix is just an interface to your application, but it is widely used because it’s easy to make interfaces for the web.

Another way is to use [Scenic](https://github.com/boydm/scenic) to build desktop interfaces.

There is this blog about building a single executable…

> **[Compile Elixir applications into single executable binaries, with Bakeware](https://www.poeticoding.com/compile-elixir-applications-into-single-executable-binaries-with-bakeware/)**
>
> Bakeware is a new fantastic tool, which compiles an Elixir, a Scenic or a Phoenix application into single executable binary (yes, like go-lang!). It can be extremely useful to distribute our apps!

I like to start with simple Elixir projects, in which I put everything needed, except the interface.

---

<div class="post-metadata">

**Author:** ![Vik](https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/v/c67d28/32.png) [@Vik](https://forum.elixirforum.com/u/Vik)\
**Post date:** [October 28, 2020, 5:43pm UTC](https://forum.elixirforum.com/t/project-ideas-for-learning/35193/3 "2020-10-28T17:43:21Z")

</div>

Can you give me examples of proyects without interface? thanks

---

<div class="post-metadata">

**Author:** ![kokolegorille](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/kokolegorille/32/4784_2.png) [@kokolegorille](https://forum.elixirforum.com/u/kokolegorille)\
**Post date:** [October 28, 2020, 7:23pm UTC](https://forum.elixirforum.com/t/project-ideas-for-learning/35193/4 "2020-10-28T19:23:11Z")

</div>

Sorry if I was misleading, every project as an interface for the end user…

But it is not the main priority.

When I develop, my main interface is the console.

---

<div class="post-metadata">

**Author:** ![lucaong](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lucaong/32/21794_2.png) [@lucaong](https://forum.elixirforum.com/u/lucaong)\
**Post date:** [October 28, 2020, 7:39pm UTC](https://forum.elixirforum.com/t/project-ideas-for-learning/35193/5 "2020-10-28T19:39:44Z")

</div>

Building a web applications is definitely a good way to learn Elixir, as the ecosystem has very good tooling and learning resources centered around web projects.

That said, the web is not the only target for Elixir, as @kokolegorille mentioned already. Hardware devices with Nerves are a good one too in my opinion.

Some time ago, I wanted to help organize a beginner workshop to build an indoor air quality monitoring device with Elixir, Nerves and Phoenix. It runs on a Raspberry Pi, uses the inexpensive BME680 sensor, and presents a UI that can be browsed from a smartphone. It might not be ideal for complete beginners, but I still think it’s a great learning project for people with some experience with other programming languages.

I actually just implemented a similar hardware project this weekend, had some good fun, and ended up with something useful.
