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.

Installation and Introduction to Go

Getting started with the language

Go Basics

A quick rundown on the basics of Golang


How to use goroutines and channels in Go

Building a real Go program

Building a concurrent GIF downloader CLI

Testing your Go Application

Using Go Standard Library for tests


The code in the applications was produced by:

./luiz filho

Luiz Filho

Luiz is a Software Engineer with 8+ years of experience. Currently working for Globo.com, the internet branch of Globo, the 4th largest media conglomerate in the world. His current activities include: developing and maintaining Globo.com Live Stream CDN, which successfully broadcast more than 50 live channels during Rio Olympics and a bunch of microservices to support that.

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.