cobra

cobra

Song-Recommender - a naive song recommendation system built with Elixir and Neo4j

Hey everyone, hope you’re all good. I’ve been really interested in graph databases for a while now and decided to build some sort of project with the aim of improving my skills in this particular domain. After reading so many articles I saw that graph databases can be used to make product recommendations or things like that. I tried thinking about making a simple recommender system for something like Amazon products but that wasn’t that interesting to me. So I thought about making one for song recommendations (yes like Spotify). Anyway to make a really good song recommendation system, I would have to combine some ML with various other things and I wasn’t really going to become an ML engineer overnight. So I thought of something simpler. What if I could just extract relationships between various songs and artists, categorize songs into genres and track user activity to see what they were really listening to? Based on this, I could then make simple song recommendations, minimizing repeating songs while also ensuring I don’t show absolutely irrelevant songs. I happened to come across a csv file with song data of over 1 million songs which would be enough for this simple experiment ( Spotify_1Million_Tracks | Kaggle ).

To do this, I of course had to settle for a graph DB and I picked Neo4j. There happens to be tons of Bolt Elixir drivers out there, but the same isn’t quite reflected in the number of public repos that are utilizing Elixir + Neo4j(Cypher). The reason I’m posting is to probably get some views from others who have gone down the same path. How do you structure a phoenix project where you’ll primarily be interacting with a Neo4j backend? Total beginners may also benefit.

Here’s the completed project

Waiting for feedback :slight_smile:

First Post!

cobra

cobra

Where Next?

Popular in Announcing Top

grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 52673 488
New
versilov
Could not wait for the missing Elixir ML libraries to appear, so, I wrote one myself, taking https://github.com/sdwolfz/exlearn as a foun...
New
bryanjos
Hi, I wanted share a small library we at Revelry Labs made for rendering react components from the server side. There are instructions fo...
New
sasajuric
I’d like to announce a small library called boundaries. This is an experimental project which explores the idea of enforcing boundaries ...
New
mathieuprog
Hello :waving_hand: Allow me to introduce you to Tz, an alternative time zone database support to Tzdata. Why another library? First a...
New
gabrielpoca
Hello everyone! I want to share with you something that I’m really proud of: https://stillstatic.io/ Still is a static site builder for...
New
fuelen
Hey folks! Want to present a toolkit for writing command-line user interfaces. It provides a convenient interface for colorizing text...
New
tfwright
After working on it for a couple of months and using it in production for most of that time, today I’ve released LiveAdmin, a LiveView ba...
New
zachdaniel
Ash Framework What is Ash? Ash Framework is a declarative, resource-oriented application development framework for Elixir. A resource can...
New
mtrudel
Bandit is an HTTP server for Plug and WebSock apps. Bandit is written entirely in Elixir and is built atop Thousand Island. It can serve...
New

Other popular topics Top

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
jaysoifer
Is there a way to rollback a specific migration and only that one (“skipping” all the other ones)? Would mix ecto.rollback -v 200809061...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
Nvim
Anybody knows a comprehensive comparison of Django and Phoenix, thanks for the help. Where are they similar? Where do they differ the m...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
marius95
Hello everyone, I try to use an Javascript Event Handler in my root.html.leex file. Therefore I created a function in the app.js file: ...
New
svb
Hi! Currently I want to submit a form by pressing the Enter key. However, since my input field is of type “textarea” this is just adds a...
New

Latest on Elixir Forum

We're in Beta

About us Mission Statement