Notesclub — Discover Livebook Notebooks

Hello!

I built https://notes.club to discover Livebook notebooks.

At the moment it is a proof of concept. But you can already browse and run almost 2000 notebooks and every day we fetch new ones from Github’s API.

You can filter notebooks by user. For example:

Also, you can filter by repo. For example:

There are many things that could be implemented or improved. For example:

  • Filter by mix library. E.g. notes.club/mix/kino
  • Sort columns, search, pagination, replace filename with title, etc.
  • Improve the way we download notebooks from Github to include older notebooks.
  • Notifications. Weekly emails with new notebooks, send a tweet with each new notebook, etc.

Yet, before spending time on this I’d love to know if you find Notesclub useful. If so, consider contributing to the open source repo. It is a very simple Phoenix app. Also, if you’d like to sponsor or contribute in a different way, let’s have a chat.

By the way, I’m also open to contract work or a position where I can spend some time in open source projects like this. More details: Hec Perez — 9y web dev, 1.5y Elixir/PETAL, remote Madrid/EU

Let me know what you think of Notesclub!

28 Likes

This is awesome! I will have to contribute once I have some free time after Elixir conf.

Thank you for this fantastic resource :pray:

1 Like

Thanks! Brilliant that you want to contribute. Let me know if I can help.

Enjoy this edition of ElixirConf!

1 Like

Now we can discover all Livebook notebooks created in the last seven days:
notesclub_last_week

Lots of thanks to our newest contributor @FabriDamazio!
He added LiveView to Notesclub.

Other news:

  • Improved search across both filenames and content
  • Infinite scroll

Let me know if you have any feedback!

2 Likes

Searching Livebook notebooks in Notesclub is faster now and works across:

  • GitHub username
  • repo name
  • title
  • filename
  • content

For example, you can find all notebooks which include bumblebee.

2 Likes

News:

  • Now notes.club is mobile-friendly — in case you’d like to discover notebooks on the go!
  • @dmarcoux added docker-compose, GitHub actions and Credo among others. Thanks!!

I’m thinking about how we could find the best notebooks to give them more visibility.
How about allowing alchemists to log in with GitHub and “like” or “star” notebooks?
Any other ideas?

1 Like

Hex.pm tracks the number of downloads, which is a sign of interest…

1 Like

That’s a good idea, thanks @Rich_Morin.

We could track the number of times a user clicks on “Run in Livebook” or opens it on GitHub.

1 Like

Blockquote
That’s a good idea, thanks @Rich_Morin.
We could track the number of times a user clicks on “Run in Livebook” or opens it on GitHub.

I created an issue for this. If anyone wishes to contribute to this open-source Phoenix app, this is a good one to start:

Otherwise, I’ll do it at some point. Thanks!

Don’t take me wrong, but why you are fetching them from github. I mean the repos are public, however what is the point of having all the random notebooks from github here, or I am missing something?

Don’t take me wrong, but why you are fetching them from github. I mean the repos are public, however what is the point of having all the random notebooks from github here, or I am missing something?

Sometimes I find Notesclub handy to search notebooks that use a concrete function, hex package or a concept.

For example, if I want to learn metaprogramming, I search that. Then, I’d have a quick look to the results and open on Livebook one that looks good and I trust like the one by DockYard Academy on metaprogramming.

That way, I can change or try related new things on Livebook as I read along – compared to a book or online content which I have to copy-paste, etc. to try code, modify it, etc.

Does it make sense?

Anyway, if you or anyone else wants to share more about their views on Notesclub I’d love to hear them. Thanks!

I understand that, however I find kind of intrusive to crawl on repositories and fetch files, even if they are open, but maybe my concern is unfounded.

I thought everyone would be okay with us indexing their notebooks as the repos are public. If you have a moment, I’d love to know more about your concern:

Is it ok for you that people use GitHub’s advanced search – or Google – to find livemd files? Otherwise, the easiest solution for all this – including Notesclub – is not to include notebooks in public repos. By the way, if you upload a notebook in a public repo on GitHub, Notesclub will fetch it. But, if you delete it from the default branch on GitHub, we’ll delete it on Notesclub too.

We could also implement a way to exclude certain users or repos from Notesclub so people can opt out. Do you think this would be enough? Or is including all by default still a concern for you?

Anyway, do you personally have notebooks in public repos you would prefer we didn’t include in Notesclub or is it a concern you think others might have? I’d like to confirm it is a concern to someone with public notebooks on GitHub before considering implementing a solution. Thanks @D4no0!

2 Likes

Well this is not very encouraging.

I have nothing against fetching livebooks, as long as you respect privacy, a opt-out strategy would be nice.
On the other note, not all repositories are MIT/Apache2 and some of them have copyrighted content, so it would be nice if you respected licenses too.

Just to demonstrate that other voices exist, I have zero issues with what notesclub is doing with the public (ie published) information on GitHub, to the extent that I’m surprised the contrary opinion exists.

The choice of deleting when the author deletes from the default branch elevates you from beyond reproach to downright polite.

Just my 2¢

3 Likes

Can you explain what’s not encouraging? The response of @hectorperez seemed to solicit your concerns, and is open to your criticism. I’d say the opposite is true: that response was very encouraging.

I am against data mining, even how google search crawls over sites and extracts and correlates data is highly questionable, of course we take these things as norm now, another example is how copilot that is trained on open-source repositories, is a commercial product.

In this case it is clear that this project is not malicious by design, however I would appreciate if we could use other modern tools to find solutions to problems and not just fallback to these mining strategies.

@D4no0 Thank you for explaining your concern.

Unfortunately, I don’t see how Notesclub could work without fetching notebooks from GitHub. Also, I don’t see why this is a problem.

4 Likes