Ask HN: App ideas to learn Phoenix / Elixir

26 points by jamil7 ↗ HN
I've been wanting to learn Phoenix / Elixir for forever basically and have never gotten the chance. This year is the year. Most of my side-projects are small, single-user focused apps but to learn and take advantage of Phoenix I want to focus on something social, collaborative, real-time maybe. Any ideas for something fun HN? Maybe a game? I'll probably write the client for mobile/iOS if that helps but I'm open to anything really.

21 comments

[ 2.9 ms ] story [ 59.6 ms ] thread
I’ve been in your situation where I also wanted to learn Elixir/Phoenix and I fortunately had an idea of a web app that was a nice fit and I am releasing it this week.

So I suggest to just go with any project, for example just duplicate something that already exists (twitter, etc). This way, when you find an idea you really like, you’ll be able to build it quicker.

And if I really have to suggest an idea, I think some project management or collaboration tool is a nice fit. You can build it so that it helps you organize your projects or collaborate with your friends, and then see if it may be helpful for other people too.

Chat app/Slack clone is good material for learning a range of Elixir concepts.
Bonus points if you utilize their websocket login. Will teach you websockets, genserver, pattern matching, and how to lose your hair in 10 days because of all the hidden shit you have to figure out because they're not documented for websocket connections, e.g. return message shapes!
I like this project, which demonstrates Phoenix, Elixir and LiveView capabilities and also provides you a useful Kanban style development tool. It provides well organized code and a variety of useful database interaction examples.

https://github.com/seb3s/kandesk

Make a simple game. Games are fun and keeping it simple allows you to focus on learning. I made a multiplayer, last player standing trivia game to try out LiveView and it was great.
To add to this, you don't need to come up with the game mechanics. I'm taking this approach with making a LiveView-based version of the board game Azul.
Ahh!! A forum? Where you can showcase your project and ask for help on it lol.

I really want a place to chat with people about what they're building +or thinking of building!! Like product hunt but for prelaunch/hobbies

Hello, that’s exactly what I am building and launching next week. I still have some final touches to finish including adding some presentation of the project, but I would highly appreciate if you could take a look at my project [0] and give me some feedback.

[0] https://www.hackario.com

I tried to register but it said "Forbidden"...

But then I navigated back to the main page and it logged me in :shrug

Nice site! I think the text could be a _little bigger_ but yeah -- looking forward to more touches!

Thanks for your feedback! I will try to investigate the registration issue and fix it. I've seen that you finally were able to register and to post some test content.

Also, would it be a problem for you if I reset the database when I redeploy the website for the launch or do you prefer if I keep the content that you have created?

A Real-time collaborative Wordle clone? Or maybe a turn-based one where you can see the other players keystrokes in real-time but can’t alter them?
Maybe a planning poker site? Should benefit from Live-View and presence features from Phoenix.
The fediverse desperately needs a global search engine. By design there are thousands of instances, each with thousands of accounts on average. Your instance only knows about the instances it is connected to, and nothing about the others. As such small, personal instances are penalized because they might not be super connected.

A single entry point will give a better view about what's happening on the whole fediverse, and potentially accounts to follow. Building such an entry point will require a stack that can handle asynchronous jobs run in parallel, an area where the Erlang platform can truly shine. Give it a live view with Phoenix/LiveView and it's gonna be a banger.

Cool idea, I do use mastodon and see a bit of discussion around this topic. Looks like there’s even some existing code.