Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Browse all series

The TALL Developer

In this course, you'll learn how to build full-stack web applications using the TALL stack — Tailwind CSS, Alpine.js, Laravel, and Livewire. These four tools work incredibly well together and will help you construct modern, interactive websites without writing too much JavaScript. To illustrate these tools, let's build a simple, yet fully functional job board application using the TALL stack.

Progress

Series Info

Episodes
16
Run Time
2h 53m
Difficulty
Beginner
Last Updated
Nov 25, 2025
Version
Latest

Series Episodes

  1. Introduction (1)
    1. Become a TALL Developer

      In this lesson, you’ll get an introduction to the TALL stack and the application you’ll be building. We’ll review what each tool in the stack does and the essentials you need to get started.
  2. Tailwind CSS (3)
    1. Setup and Work With Tailwind CSS

      Let’s set up Tailwind CSS in a fresh Laravel project, and get a first look at how utility-first CSS works in practice.
    2. Using Tailwind CSS to Style the App

      Style the dashboard and job cards using Tailwind's utility classes. See how quick and flexible styling can be.
    3. Style the Job Cards

      Let’s style the dashboard and job cards using Tailwind’s utility classes, so you can see just how quick and flexible this approach can be.
  3. Alpine (2)
    1. Alpine.js Basics

      Let’s talk about why Alpine.js is such a handy tool, and then we’ll walk through its core directives—like x-show and class binding—to see how they fit into your workflow.
    2. Make Our App Interactive Using Alpine

      Let’s add some interactivity with Alpine, including toggling details, adding or removing bookmarks, and even showing a quick toast message.
  4. Laravel (5)
    1. Setup Laravel and Understand the Basics

      Let's set up Laravel using Herd, and get familiar with the project structure, the MVC pattern, routes, views, and the environment file.
    2. Add Authentication, Routes and Views

      We’ll install a Livewire starter kit, walk through the authentication and routes it adds, and then set up the dashboard and bookmarks routes and views.
    3. Create Models, Migrations and Seeders

      Now, we'll create the Role model, migration, and seeder, install TablePlus to explore the data, and then build a controller that fetches all roles and displays them on the dashboard.
    4. Eloquent and Relationships

      We’ll dive deeper into Eloquent, learn how to define relationships, and use those relationships to fetch and insert data into the database.
    5. Build the App With Blade and Controllers

      Let’s use forms and controllers to add roles to your bookmarks and remove them when you’re done with them.
  5. Livewire (4)
    1. Livewire Basics

      Learn how Livewire works and what makes it great for building dynamic front-end without writing JavaScript. Look at some simple examples.
    2. Using Livewire For Reactivity

      Let’s make your app dynamic with Livewire by updating the bookmark feature so it works instantly without a page refresh.
    3. Implementing Search With Livewire

      Now,let's build a Livewire search that filters jobs in real time as you type, without reloading the page.
    4. Livewire With AlpineJS

      We’ll combine Livewire and Alpine to show a toast whenever the user toggles a bookmark.
  6. Conclusion (1)
    1. Wrapping Up

      We’ll recap what you’ve learned so far and look at a few ideas for what you might build next with the TALL stack!

Continue Learning