An extensible, customizable, free/libre text editor — and more.


Each lesson focuses on a single aspect of building the project, like modeling the data, building a GraphQL server in Elixir, or building a mobile client for it in Flutter.


Introducing Emacs

A basic introduction to the Emacs text editor.

Splitting the screen and switching buffers

How to see multiple files at once, and choosing which files to see.

Setting up package management with use-package

Learn how to configure emacs to download and use external packages.

Finding and using emacs' built-in documentation

Emacs' built-in help and docs are second to none. Take advantage of them.

Intro to org-mode

Taking notes, marking TODOs, checklists: welcome to org-mode.


The code in the applications was produced by:

./aldric giacomoni

Aldric Giacomoni

I am a second-degree black belt in isshinryu karate. To pay the rent, I'm a software developer. My favorite language is Ruby. I am an advocate and fervent user of XP practices, and have found that using agile methodologies is the best way to build software.

Featured Lessons

Our content library is pretty great, here are a few lessons we think you might like.

What our Superusers are Saying!

Some other people were willing to publicly state that they like us!

Taylor Dolezal

Software Architect

Smooth Terminal has easily been one of the most helpful resources on my journey to better understand Elixir and the Phoenix web framework.

James Edward II


With any language there are so many details to learn. What functions are built-in? How should I structure my code? What tools are available for improving my workflow? It’s rare to find one source that can answer so many of these questions, but Smooth Terminal does this and more.

Rex Van Der Spuy

Game developer

Smooth Terminal is by far the best resource for learning Elm anywhere, and among the very best online learning platforms, period.