What Elixir related stuff are you doing?

I am working on the backend of a hybrid app, and the backend is in Elixir.

3 Likes

This week I have been learning how to implement something similar to the elixirforum.com giveaways, the random number generator, phoenix + liveview + alpinejs.
I have a github public repository, in case anyone wants to try it out.
If I get some time, I will try to upload it to gigalixir.
GitHub - JuanjoA/giveaway

It’s a working in progress.

Have a nice weekend!

2 Likes

I’m currently building a tool for recording songs or audiobooks from spotify to directly sync them to a toniebox. (Don’t know if its kinda popular or even known outside of germany but it’s a childrens music box). Some automation using oban, walllaby and the spotify web sdk going on here. All nicely integrated with realtime updates utilising LiveView.

I’m probably going to open-source the code if anybody is interested (also having a hosted version of it in the next couple of days available)

6 Likes

vesaba.at
Shop system without a database, based on how the Dashbit Blog was made.
Or related to nimble_publisher.
A hobby project in my free time for my wife.

sdg-quiz.suedwind.at
Quiz application based on LiveView.

stadtmacherei-salzburg.at
JSON API backend based on Plug.
But also serving the website and a bunch of webviews via Phoenix & LiveView for the app.

PS: Sorry all pages are in German language.

5 Likes

Following the The Complete Elixir and Phoenix Bootcamp at udemy.

5 Likes

Getting more involved in opensource elixir projects like Keila(OOS Mailchimp clone) and Solid(Liquid template engine in elixir).

Also finally continue reading „Real-Time Phoenix“.

3 Likes

Quick follow up to my last post. The toniebox - spotify recorder is now available at https://toniefy.me. If you’d like to give it a spin you can enter the waitlist and I’m gradually getting more users in.

The stack is kinda interesting and has been a nice challenge for me. The spotify recording is happening via the spotify web sdk player which is controlled via Wallaby and a GenServer which observes the state of the player. All running in a separate docker container with a virtual frame and audiobuffer spun up by oban jobs. During playback it is sending live updates to the UI so that the user knows at any time what’s currently recording. LiveView is just amazing for these things.

When you’re done recording you create your own playlist and can send the playlist to your creative tonie. This way you can also quickly change the content on the creative tonie with a single click and without the need of additional recordings.

I’m going to open-source this in the next weeks. Still need to get a bit of documentation done so that it’s actually in a state where it can be published.

Unfortunately it’s currently only in German as I simply don’t know if there is any demand outside German spoken countries.

5 Likes

A few things, in no order of priority:

  • looking into IOT with nerves for micro-farming
  • building a bookmarking tool
  • learning how to use rust and wasm with elixir
4 Likes

I spent some time adding some features to spotifywall.com.
Spotify Wall is a small side project of me that basically allows you to create groups (Walls) for you and your friends or coworkers in order to share the current song you’re listing to on spotify.

Things I have recently changed:

  • Instead of using a per person invite link a new global join link is now used (think slack). This makes it way easier to just drop it somewhere in your company or friends chat and let them join. If the link gets in the wrong hands it can be revoked easily and members can be removed on a case to case basis.
  • Until now only the owner of the wall was able to remove members. Now you can leave walls on your own without needing the owner to do so.
  • Temporarily stop sharing your activity to a wall. Now you can stop sharing your acitivity to a particular wall. You can pause and resume sharing anytime and it takes imeditate effect (thanks PubSub!).

I mostly built this project to dive deeper into some OTP things and have a real project that forces me to use it.
So feel free to try it out with your friends. It’s free and I don’t plan to monetize it.

10 Likes

I’m working on a headless SDR-RTL steaming server. It is called Guillotine. I want an easy way to listen to my Software Defined Radio at my desk while positioning an antenna in different directions. So I’m writing a Plug Cowboy server that streams the data from the rtl-fm piped to the sox utility (converting the raw audio to a .wav stream) to an HTLM5 audio tag. It works with one FM channel but I basically want to build a scanner. Efficiently changing the streaming source (FM channel) which doesn’t effect the RPi’s performance is proving difficult, and I have no CLUE how I’m going to work in an windowed FFT to find strong signals (if that is even the correct method, not crazy strong with this low level digital signal stuff). Which kinda makes it even more fun :smiley: Also going to add an upconverter to pickup AM and shortwave. Planning on piping that through some DSP plugins setup in a loop to get some trippy sounds . Heavily inspired by David Dvorin’s really sweet sound machine I heard once back in college. I’ll add it to my github and make a post here once its actually presentable. Using Elixir as the webserver has proven to be a great choice. Manipulating ports, the streaming, Plug’s built in stream chunking as a browser response, etc. is invaluable.

4 Likes

Writing time based cursor pagination plugins for Ecto because doing time-based graphing data and sequential reads with filtering isn’t all that much fun!

3 Likes

When you talk about micro-farming you mean actually growing crops but in small surfaces?
If that’s the case then I imagine you’re collecting temperature, humidity, soil pH and things like that?
Could you expand a bit on your explorations? That’s a topic I would love to hear more about.
If it’s not related at all with this, sorry to ping you :x

1 Like

I’m implementing the TeX math layout algorithm based on the new OpenType Math Tables (instead of using TeX font metrics). Handling the complexities of the OpenType tables has been the hardest part. I’m still dependent on a Python utility that converts the binary font files into a very helpful XML file, which is much easier to inspect.

Ideally I’d write an OpenType parser direct in Elixir which would be much faster, but (1) I’d need to evaluate maxima and minima for Bézier curves to get vertical metrics (and the python utility does that for me) and (2) parsing the font file can be done at “build-time” by a mix task and the results can be stored for later use.

3 Likes

Interesting, I am creating a temperature sensor running on BLE to a Nerves hub back to the cloud for my Pantry, Cold room and old Freezer in my garage.

1 Like

For the last couple of weeks, I have been learning about the Phoenix Framework by reading ‘Programming Phoenix’ by Chris McCord.

2 Likes

Finally getting back to checking out @devonestes’s Muzak mutation testing tool. I want to have a decently clear view of it before June, when I talk about mutation testing at a conference in Berlin, where he lives! :wink:

3 Likes

Hey @DevotionGeo can you share some resources or how you are implementing from mobile app to Phoenix app,
I’m newbie here I’m confused(between web socket/channel and absinthe/GraphQL) a bit on connecting my flutter app to Phoenix backend.

2 Likes

I’m still learning, following the exercises of the elixir track at exercism (currently 30/94). I’m also reading Elixir In Action.

I’d appreciate feedback on public solutions at https://exercism.io/profiles/rslopes :slight_smile:

2 Likes

Hi @ambareesha7,
Thank you for the mention!

We are using JSON APIs and to get started with writing JSON APIs in Phoenix I recommend following Building a JSON API in Elixir with Phoenix 1.5 by Víctor Adrián.

Using GraphQL shouldn’t be hard either even for a beginner. There are two very high quality learning resources for learning to use GraphQL with Phoenix,

  1. Pragmatic Studio’s video course, Full-Stack GraphQL with Absinthe, Phoenix, and React
  2. Pragmatic Bookshelf’s book, Craft GraphQL APIs in Elixir with Absinthe, written by the creators of Absinthe themselves.

Edit: Forgot to mention this free tutorial for getting started with GraphQL with Absinthe, graphql-elixir Tutorial.

4 Likes

thank you so much for sharing

2 Likes