Fighting boredom with curiosity.

Tony Messias

I'm a programmer from Brazil. I write my techinical blog posts here, have a YouTube channel where I share some screencasts, and a newsletter at Hey World. Subcribe there if you want to receive my most recent posts/screencasts/ideas.

Programmer at Tighten

I'm a Full Stack Programmer at Tighten. My main focus is on building web applications with Laravel and whatever frontend stack the project needs or already uses.

Open-Source Work

I've a couple of open-source packages you may be interesting in checking out. I've been trying to brige the Rails and Laravel Worlds a little bit.

Creator of Turbo Laravel

Lately I've been diving into Hotwire and I built the Turbo Laravel package to make the most out of Hotwire in Laravel.

Creator of Importmap Laravel

Importmap Laravel is an alternative to working with JavaScript in your Laravel apps without the need for Node.js or a bundler (such as Vite or webpack).

Creator of TailwindCSS Laravel

TailwindCSS Laravel is a wrapper around the Tailwind CLI, which the Tailwind Labs team built. With this package, you can keep using TailwindCSS in your Laravel apps without a bundler (such as Vite or webpack).

Courses and Screencasts

Sometimes I record a screencast about a topic I'm tinkering, a problem I've encountered, or a tool that I'm building or learning.

Hotwire & Laravel (short video series)

I've recorded a short series on using Hotwire, you may find it here (it's free).

Kubernetes for Laravel Developers (video series)

I've also recorded a video series on using Kubernetes from a perspective of a Laravel developer. You may find it here (it's also free).


My technical writings are hosted here, but you I also have a Hey World newsletter. Subscribe there if you want to receive updates and new posts.

Rich Text Laravel Attachments With Media Library

In a previous introduction to the Rich Text Laravel package I hinted that I wanted to cover how to build a more advanced attachment handling using

Read more

Globalid Laravel

Polymorphism is a very known concept in programming. To put it simply: it's the idea that many things can play the same role in the system. For instance, think about the Pull Request Reviewer feature on GitHub. You can assign a single team member, multiple, or an entire team as the reviewer. You...

Read more

Rich Text Laravel - Introduction

Version 1.0.0 of the Rich Text Laravel package was released last week and I wanted to work on some content to showcase the package. If you prefer video, I've recording a tutorial based on this post:

Read more

Double Dispatch

I have been reading the book "Smalltalk Best Practice and Patterns", so I'm going to share some cool patterns in this blog. I shared this on Twitter: Some cool design patterns I've learned recently:- Method Object- Doub...

Read more

When Objects Are Not Enough

I've been looking up resources on the roots of Object-Oriented Programming - a.k.a. OOP. This journey started because there is a trend in the Laravel community of using Actions, and the saying goes as that's what "Real OOP" is about. I had some doubts about it and instead of asking aroun...

Read more

Cloud Native Buildpacks: Docker Images without a Dockerfile

TL;DR You can use Cloud Native Buildpacks to create Docker Images without having to write a single line in a Dockerfile. You will need: Pack CLI tool (download); Docker (

Read more

On SaaS Boilerplates

I tried to explain why it's so much simpler to adopt a SaaS boilerplate such as Jetstream instead of rolling your own, but apparently I failed. I'm not sure if I did a bad job at explaining or what. So here's another attempt....

Read more

Running Laravel Feature Tests in Parallel with Paratest

Pretty neat to see the Rails parallel test runner peg all cores and hyperthreads on my 8-core iMac. 10,000 assertions across 2,000 tests completing in 1 minute, 29 seconds. No fancy magic! All hitting the Dockerized DB. (This is for a 0.8 test...

Read more

Infinite Scrolling with Inertia.JS

A while ago I wrote an introduction to Inertia.js article showing how it enables building modern monolith applications that wants to use a JavaScript framework as the rendering engine instead of your regular server-rendered HTML t...

Read more

Premature optimization is the root of all evil...

You might have read this quote before. This is actually only part of the real quote, which was: Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their pro...

Read more

On Elo Rating Systems

You might remember this scene from the movie The Social Network. That formula indicates they used the E...

Read more

Reddit's "hotness" algorithm

I long time ago I was working on a location-based social network. We basically divided the World into groups according to the demographics of the region (crowded places would have more, smaller groups). Inside a group, you have many different "topics" (that's not what we called all this, it's jus...

Read more

The Secret Life of Programs (a book review?)

I wanted to write about this book because it really got me thinking about my experience and my relationship with computers. I feel like this is going to be a bit personal, but I'm not entirely sure how this will end up. I graduated in 2012 in System Analysis (4 years) and a few years late...

Read more

Introduction to Inertia.JS

Modern SPA frameworks can add drawbacks to a team’s workflows. You suddenly need to build an API, deal with API versioning, handle CORS and all that, while maintaining different applications at the same time. Inertia.JS allows building modern SPAs without most of those drawbacks, easily integrati...

Read more

True hybrid mobile applications with Turbolinks

In this video, I want to cover one aspect of using Turbolinks that I think it's not shared enough. Turbolinks has mobile bridges that make it really easy to wrap your existing web applications in a real native shell application, having some real mobile navigation and behaviors on top of your web...

Read more

On Serverless and Monoliths

I've just read the article "The Serverless Supremacy: The fall of the Monolith" and wanted to share my thoughts here real quick. I feel like it's missing the point. It's again saying that monoliths...

Read more

On OOP and Active Record

I'm a huge fan o Sandi Metz, I have watched some of her recorded talks multiple times, the most recent one was called "Polly want a message" and it's also my favorite so far (if this is a referen...

Read more

On using Frameworks

I'm a huge fan of frameworks. Particularly the Full-Stack ones. My framework of choice (and the one I use daily) is Laravel. It has a really powerful ecosystem for writing modern applications in PHP. Before I found Laravel, I had been using other framewo...

Read more

Top lessons for startups

We've worked for a lot of different companies. What is the top lesson we can share with startups that we've learned from our experience? This was the KnowYourTeam question this week at work, and I found it so interesting...

Read more

Integrating Elasticsearch with your Laravel app (2019)

Searching is an important part of many applications, and it sometimes is treated as a simple task. "Just query using LIKE and you're good to go". While the LIKE clause can be handy, sometimes we have to do some more complex queries. After researching for a while I found a few goo...

Read more

Multiprocess Containers with S6 Overlay

Note: I originally wrote this article as an introduction to S6 Overlay in the internal blog at madewithlove. Containers really shine when your service has a single OS process (or have the main process that handles children processes). That process i...

Read more

Declarative Infrastructure and Application Releases

Containers have been in the hype for quite some time now and Orchestrators have enabled us to shift the way we deploy software from task runners to something more declarative way. In this article...

Read more

Queues and Async Apps (Video)

Right after I posted the video where I introduce the Laravel WebSockets Package, I got a request to maybe talk more about a preview of an old talk I had...

Read more

Using MySQL for testing (in Laravel)

I wrote about running your test suite faster against a disk-based database instead of an in-memory one, and a Docker trick that uses tmpfs to have MySQL writing in-memory. If you are into Laravel and/or testing, check it out at

Read more

Kubernetes 101

I took some notes while I was learning Kubernetes, added more content to it after my experiments and it resulted in an article that covers the basics, like lingo (naming of things in the Kubernetes World), architecture of a Kubernetes cluster. I also work through deploying a demo Laravel applicat...

Read more

Using Laravel WebSockets package (Video)

This is a short introduction to using a recently released package called Laravel WebSockets as a replacement for Pusher. Hope you like it. Check it out here:

Read more

Building a Slack clone using Laravel, Tailwind CSS and Vue.js

I shared a tweet a while back about building a Slack clone app in PHP using Laravel, VueJS, TailwindCSS, and Pusher. That got some attention, so I was invited by Pusher to blog about using Push...

Read more

Want to receive updates on new content? Here's my RSS feed. My email address is