JavaScript is amazing


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.

What is a PWA and Why should I care?

Diving into the PWA world

JavaScript Workers

Understanding JavaScript workers and how to use them

Manifest and Caching with sw-precache

Understanding manifest.json and using sw-precache

Using Gatsby and Grommet to build a PWA

Using the best of Gatsby and Grommet together

Caching API calls using Service Workers

How to cache API calls using Service Workers

Getting Started with Koa.js

Quick intro to Koa.js and installation.

Koa.js Core Server Configuration

Import modules and setup configuration to get your Koa.js app started.

Serving Static Assets in Koa.js

Complete configuration and middleware setup of your application.

Write your first view in Koa.js with Pug

Start styling your application with the pug rendering engin

Styling views and Errors in Koa

Use Pug to style the guitar amp pages and errors in your application.

Preact: Why you should use it or not.

A quick rundown on Preact

Understanding Neural Networks

What are Neural Networks

Implementing a simple Neural Network

Implementing a Neural Network using perceptrons

Solve a Problem using Neural Networks

Guessing the continent of a country based on GNP, Area, and Population

Propagations in a Neural Network + Linear Regressions

Checking what happens inside our NN execution

What is Deep Learning and a quick Overview of what Neural Networks are

A quick overview on Neural Networks

Compare ES8 and ES5

Take a look at ES8 and ES5 features side by side

Start building an API in ES5 and ES8

Configure and Scaffold an API in ES5 and ES8

Build an API in ES5

Build and Assess an API made in ES5

Finish the ES5 API and start building an ES8 API

Start seeing some differences between ES5 and ES8 by comparing how each builds an API.

Modern Javascript with ES8

Finish up ES8 API


An Introduction to Bankai

Uncomplicated HTML, JS, and CSS compilation with Bankai


Introduction to Choo

How and Why Choo can be a good choice for your next app


Lighting your Christmas tree with Choo

Decorate, animate, and provide a soundtrack for a Christmas tree


Functional Programming in JavaScript

Learn Functional Programming with Mori.js


Introducing Mori.js

Why and how to use Mori.js in your JavaScript code


Mori.js: hands on

Main functions and data structures


Starting an App using Mori.js

An overview of what we will build


Building our app with Mori.js

Implementing our tournament app with Mori.js

Start Building a Node.js API With Digital Ocean

Intro, MLab Config, and Architecture.

Build a Node.js API

Building the API defining our CRUD operations.

Create FreeBSD droplets and configure them to run Nginx and Node.js

Configuring FreeBSD.

Launch and enhance our API

Learning To Use PM2 and launching our API

Setup Nginx

Tying it all together with Nginx.


Introduction to Vue.js

Build a Todo app using Vue.js


Vuex and Vue-router

Exploring Vuex and Vue-router configuration


Vue.js UIs

Building UIs with Vue and Vue-Material


Vue.js & Vue Resource

Working with HTTP using vue-resource


Building a To-Do app with Vue.js

Putting together all the peices to build an app

Introduction to ReasonML

Installing ReasonML and getting to know its ecosystem, including refmt, Merlin, BuckleScript, and redex.

ReasonML Fundamentals Part 1

Dive into the core fundamentals of ReasonML, including let, type, string, char, and more.

ReasonML Fundamentals Part 2

Fundamentals - Record, variant, list, array, function, if/else

ReasonML Fundamentals Part 3

Destructuring, pattern matching, imperative loops, modules

ReasonML Standard Library

Getting comfortable with ReasonML's standard library.


The code in the applications was produced by:

./franzé jr

Franzé Jr

Software Engineer with experience working in multi-cultural teams, Franze wants to help people when he can, and he is passionate about programming and Computer Science. Founder of where he can meet people all over the World. When Franze is not coding, he is studying something about programming.

./matthew ray

Matthew Ray

Matthew is a tech news enthusiast. He spends most of his time reading tech focused news, watching sports and drinking coffee. You will probably find him at a coffee shop or the library.

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.