Easiest dev environment setup for a classroom?

Hi !

I’m going to do a one-week workshop in late spring 2026 with graphic design students. I’ve already taught web development basics (html/css/js/git & forges like github/how internet works/build your own site) to graphic design students 2 years in a row and am totally confident I can pull it off.

We are going to build them a modest multiplayer document editor with Phoenix and Liveview.

The goal is not to make them adopt elixir in the future (even if I would love that) but to expose them to interesting computing and language paradigms, rather than the JS imperative beginnings they go through (JQuery is still the main driver in this specific setting), and to work in a collaborative fashion.

What I’m questioning myself about is the setup.
With “web development basics” it was easy-ish : back in 2016, I had everyone install Atom and the Github desktop app, and that was enough to have a working and similar enough experience across their machines (a mix of mac/windows laptops).

For Elixir, well… I think you get it. I would like a non-invasive experience (do not make them tinker with their systems too much). We cannot count on an okay internet connection, because hey, it’s only 2025 in France. So any remote dev environment is out of the question.

Honestly, the best option I am thinking of right now is to go there with a bunch of raspberry pies with preinstalled everything, since there are screens and keyboards/mice at the school.

This would also allow to give them the experience of forming a distributed system on LAN (I’ll have my own router) without putting their systems at risk.

1 Like

Don’t know if you considered it but it seems to me Livebook might be a good option here. :thinking:

1 Like

That’s actually a great idea, I should read more about it. I’ve never gotten to use Livebook more than a few minutes so far. Thanks for this suggestion.

Have you also considered Github codespaces (or the equivalent Gitpod) for providing a common setup?

I know you said you’d rather not depend on stable internet connection, but you cant really beat cloud dev environments for ease of booting up a fully configured workspace that’s working the same for everyone out of the box with pre-installed dependencies etc. And you only need a browser to access

1 Like

I considered it, but it’s not so that I would rather not count on internet, but that I know there won’t be a stable nor unfiltered link there. Last time I taught there, the classroom shared 2mbps downlink and I’d rather not mention upload speed. I’ve heard from the teachers that this has not changed in the past years.

A solution would be that everyone tethers from their phone, or providing a 5g uplink.. Depending on the bandwidth needs of 1 github codespace instance, that could be doable.

Maybe reframing the problem as “how to get internet there” rather than “cross-platform elixir installation” makes it easier.

I wish we had an integrated experience like Racket or SLIME for lisp do !

1 Like

Hi Lucas! I’ve run classes and workshops using Livebook and it’s a fantastic tool for teachers. You can see how I set up classes for the DockYard Academy curriculum: GitHub - DockYard-Academy/curriculum.

If you want the simplest setup possible I would recommend have your students download some .livemd files and run them with Livebook Desktop. The hardish part will be making a Livebook that starts a Phoenix server. That said maybe a github codespace as you mentioned is a good solution too, I just know less about that path.

I’ve seen @chrismccord demo running a LiveView app from within Livebook, so I know it’s possible. But, I’ve recently been trying to track down where the examples of doing this are since I think I saw him do it at a 2024 conference.

Also, Livebook let’s you have multiple people connected to a single notebook, however I haven’t done much of this myself. I believe @hugobarauna knows a teacher who has multiple students connect to a Livebook session during lessons. That might be overkill for your use case though.

Hope that helps! Feel free to reply here or DM me if you want to talk about ideas for how to run your workshop. Happy to hop on a call sometime. C’est une raison parfaite pour pratiquer mon français parce que j’habite à Montréal!

5 Likes

There’s the phoenix_playground package for exactly that.

3 Likes

That’s what it’s called! That’s the package I saw Chris demo, thank you! I’ve been digging to find that.

Wojtek in Rapid Prototyping in Elixir also goes through Phoenix Playground, 25 minute mark. :raising_hands:

2 Likes

Thanks everyone. Livebook Desktop was the piece I was missing. This is the integrated experience I was looking for, and phoenix_playground is the cherry on top :slight_smile: .

6 Likes