About me

Hello, my name is Aaron Francis.

I'm a software developer, content creator, and co-founder of Try Hard Studios. I'm on Twitter all the time, and I make videos on YouTube.

I'm a CPA and used to be a tax accountant at a Big 4, but I've gladly left that life far behind me.

I love making things and having lots of projects going. I live in Dallas with my beautiful and perfect wife Jennifer, our two-year-old twins, and our four-month-old twins.

I'm very online, you can find me:

Me and the Boss

Me and the Boss

First set of twins

First set of twins

Second set (!!) of twins

Second set (!!) of twins

Course research

Course research

Laracon EU

Laracon EU

GitHub Universe

GitHub Universe

Projects

Digital bits

Mastering Postgres
An upcoming course on the database PostgreSQL.
High Performance SQLite
87 videos teaching you everything you need to know about running SQLite in production.
screencasting.com
A 4.5-hour, on-demand video course that teaches you how to produce high-quality screencasts faster than ever.
Personal YouTube channel
My personal channel where I talk about Laravel, PHP, and general web development.
Try Hard Studios YouTube channel
Our studio channel where we share behind the scenes looks at building a business
Mostly Technical podcast
Discussions on Laravel, life, business, and an eclectic mix of related topics. Recorded and released every week.
Torchlight.dev
A service for perfect syntax highlighting.
Open source
My open source code, mostly Laravel packages.
acct229.com
Accounting tutoring for students at Texas A&M.
A solo podcast I used to do, where I read articles that changed my life.
A podcast with my friend Andrew Culver, where we talked about web frameworks and development.
My old work channel where I talk about MySQL, PlanetScale, and databases. I no longer work at PlanetScale

Projects

Physical things

The Aaron Francis Studio of Light and Sound™
Turning an apartment into a YouTube Studio (ongoing!)
Shedquarters
I turned a 10x20 shed into an office.
Handwriting robots
Creating four, giant handwriting robots to write marketing mail.
Walking treadmill conversion
Taking an old treadmill and turning it into a walking treadmill for under my desk.

Content

Things I've published

Favorites

What if you tried hard?

22.3k views
aaronfrancis.com

An Introduction to Laravel Nova

74.9k views
Laravel YouTube

PHP doesn't suck (anymore)

223.0k views
Personal

Stop using COUNT(id) to count rows

381.6k views
PlanetScale
2026

Token Town Live - OpenAI & Hugging Face

515 views
Personal

Token Town Live

488 views
Personal

Token Town Live - Sol Release Day!

461 views
Personal

Token Town Live - Fable 5 Is Back!

542 views
Personal

Token Town Live: Fable 5 Is Here

660 views
Personal

How to protect your agent's context

2.5k views
Personal

Agent orchestration, simplified

6.4k views
Personal

Codex reverse engineered my studio lights

3.3k views
Personal

Token Town 002 (Live)

319 views
Personal

The coding harness for your coding harness

7.6k views
Personal

Anthropic kneecaps 3rd party tools?

2.1k views
Personal

Escaping the Underclass

2.9k views
Personal

Escaping the Underclass

1.6k views
Personal

Testing a New Solo Version

1.8k views
Personal

Build a deep research tool

8.0k views
Personal

I made $10,000 from a vibecoded app

21.8k views
Personal

Are designers cooked?

28.0k views
Personal

Your new agentic development environment

8.0k views
Personal

Building w/ AI

3.7k views
Personal
2025

The future of this channel

10.7k views
Personal

The database for all your AI needs

4.4k views
Personal

Programming by wishful thinking

6.2k views
Personal

Rewriting SQLite from scratch (yes, really)

7.9k views
Personal

Downloading YouTube videos

12.9k views
Personal

Level up your design with this CSS property

3.3k views
Personal

Hacking the Laravel router

12.9k views
Personal

Making MySQL faster

3.9k views
Personal

Become known for a thing

aaronfrancis.com

Super Ultra Tilted

Mostly Technical

You can't trust a nice guy

2.9k views
aaronfrancis.com

The Haters Were Right

Mostly Technical

Eye on the Future

Mostly Technical

I was a kid once too

1.2k views
aaronfrancis.com

Mob Mentality

Mostly Technical

Why Most Developers Overcomplicate Everything w/ Aaron Francis

Whiskey Web and Whatnot: Web Development, Neat

Explore vs. Exploit

Mostly Technical

The Big Tweet

Mostly Technical

Laravel's Big Day

Mostly Technical

Open source work

4.1k views
Personal

Robber Baron Mentality

Mostly Technical

Don't Be A Dummy

Mostly Technical

Testing my TUI

5.0k views
Personal

I built a GUI in the terminal (with PHP)

11.5k views
Personal

The Big Reveal

Mostly Technical

Zombification

Mostly Technical

The Existential Threat

Mostly Technical
2024

Year in review: 2024

4.2k views
aaronfrancis.com

Yes Man

Mostly Technical

Unreliable Narrator

Mostly Technical

Doing Too Much

Mostly Technical

Publish your work, change your life

Commit Your Code Conference

Chasing Vanity

Mostly Technical

Reputation is portable

2.3k views
aaronfrancis.com

Reservable models in Laravel

2.4k views
aaronfrancis.com

Moving from Redis to SQLite with Mike Buckbee

20.5k views
Personal

The To-Done List

Mostly Technical

Make 5x faster outbound requests in Laravel

2.3k views
aaronfrancis.com

Configuring (and viewing!) logs in Laravel

1.6k views
aaronfrancis.com

Definitely For Profit

Mostly Technical

Because I wanted to

3.8k views
aaronfrancis.com

Building a TUI

4.1k views
Personal

Joint stream with Joe Tannenbaum

1.6k views
Personal

Tier Maker

Mostly Technical

Vectors in SQLite! (with libSQL)

16.3k views
Personal

Try Hard Empire

Mostly Technical

Launching Mastering Postgres!

4.4k views
Personal

Create A Spectacle

Mostly Technical

Mastering Postgres

masteringpostgres.com

Talking About Liquid

Mostly Technical

Tips for handling timezones in Postgres

11.2k views
Personal

Building a Flyio driver for Laravel Sidecar

3.3k views
Personal

Paid In Respect

Mostly Technical

Configuring (and viewing!) logs in Laravel

24.2k views
Personal

Clean up after yourself

aaronfrancis.com

Laravel's higher order collection proxies

1.1k views
aaronfrancis.com

Don't undo what you haven't done

1.1k views
aaronfrancis.com

The Milk of Texas

Cheese and Weather

An argument for logging off

13.9k views
aaronfrancis.com

Code tip: Don't undo what you haven't done

10.7k views
Personal

File based routing in Inertia.js

1.9k views
aaronfrancis.com

Aaron and Caleb Porzio talk wrappers

Notes On Work - by Caleb Porzio

SQL for fun and profit

16.2k views
Personal

The Contest

Mostly Technical

Laravel Dusk: painless browser automation

36.2k views
Personal

You're always doing something wrong

3.1k views
aaronfrancis.com

Struggling with Laravel + Vite

13.8k views
Personal

Idea About Ideas

Mostly Technical

SQLite's WAL mode is fast fast

57.3k views
Personal

Just Do Stuff

Mostly Technical

Building a Life OS

3.9k views
Personal

Building a Life OS

5.8k views
Personal

Push The Button

Mostly Technical

High Performance SQLite

highperformancesqlite.com

Launching High Performance SQLite

6.5k views
Personal

Beginning of the Empire

Mostly Technical

One Big Bet

Mostly Technical

Production SQLite with Turso and libSQL

18.3k views
Personal

SQLite is not weakly typed!

17.9k views
Personal

Morning Person

Mostly Technical

Offline-first, multiplayer SQLite

18.9k views
Personal

Real-time monitoring for Laravel applications

20.5k views
Personal

Laravel Pennant: first-party feature flags

27.4k views
Personal

Distributed SQLite with Litestream and LiteFS

19.9k views
Personal

Laravel adds a new email provider

15.7k views
Personal

Business Dad

Mostly Technical

DHH discusses SQLite (and Stoicism)

155.1k views
Personal

Laravel vs React

91.8k views
Personal

Laravel + Livewire todo app (and so much more)

65.0k views
Personal

It's All Vibes

Mostly Technical

The Secret

Mostly Technical

AI Therapy Connoisseur

Mostly Technical

Fight or Win

Mostly Technical

We're Gonna Make It

Mostly Technical

Laravel + Cloudflare D1 speedrun

19.4k views
Personal

YouTube Growth Secrets

Rogue Startups

Ben steps away from Tuple

Hackers Incorporated

Ben steps away from Tuple

Hackers Incorporated

It Gets Harder

Chantastic

I got laid off (and what I'm doing next)

3.3k views
Try Hard Studios

Try Hard Studios

Mostly Technical

What if you tried hard?

22.3k views
aaronfrancis.com

The Layoff

Mostly Technical

Indie Tycoon

Mostly Technical

Careful, Careful!

Mostly Technical

Do literally anything

14.4k views
aaronfrancis.com

What's The Good Word?

Mostly Technical

Real Dad Stuff

Mostly Technical

My Mind Vise

Mostly Technical

Your Glove Situation

Mostly Technical

A Man of Culture

Mostly Technical

It's Content, Baby!

Mostly Technical
2023

Year in review: 2023

1.7k views
aaronfrancis.com

Two new MySQL expressions

11.1k views
PlanetScale

Supercharge Markdown with Laravel

11.6k views
Personal

Customizing Laravel Pulse

11.9k views
Personal

Faster than a regular database index

21.9k views
PlanetScale

Ecosystem of Cards

Mostly Technical

Creating a custom Laravel Pulse card

6.1k views
aaronfrancis.com

Rendering Blade components in Markdown

2.9k views
aaronfrancis.com

You don't always need JOINs

124.0k views
PlanetScale

Make self-healing URLs with Laravel

42.0k views
Personal

Self-healing URLs in Laravel

2.1k views
aaronfrancis.com

Read the docs (don't skim them)

15.9k views
Personal

Ep 004: Goblin Mode Revisited

This Week, Next Week

Saving a SaaS on the weekend

107.3k views
PlanetScale

Storing feature flags as JSON (with indexing)

24.0k views
PlanetScale

Read the docs like a book

6.0k views
aaronfrancis.com

Laravel's atomic locks

18.4k views
Personal

Ep 003: Goblin Mode

This Week, Next Week

An Introduction to Laravel Nova

74.9k views
Laravel YouTube

SSG is dead. Long live cache.

16.7k views
Personal

You don't need NoSQL (use MySQL)

80.2k views
PlanetScale

Easy database indexing strategies

29.3k views
PlanetScale

Using MySQL to stop freeloaders (in only 8 minutes)

37.2k views
PlanetScale

I love my database GUI

85.6k views
PlanetScale

Late Night Bite

Mostly Technical

No more Docker for PHP

29.8k views
Personal

Your database will break in 2038 (or sooner)

17.3k views
PlanetScale

The Power of Sharing Expertise

The Bootstrapped Founder

Database enums are weird

12.3k views
PlanetScale

Just Enough Laracons

Mostly Technical

INT(11) is a lie

19.5k views
PlanetScale

Galaxy Quadrant Theory

Mostly Technical

Faster database indexes (straight from the docs)

131.0k views
PlanetScale

The End

Hammerstone

Forward Only!

Mostly Technical

screencasting.com

screencasting.com

The Week of Aaron

Mostly Technical

Faster geospatial queries in MySQL

24.1k views
PlanetScale

He Likes a Manifesto

Mostly Technical

Pagination in MySQL - offset vs. cursor

83.3k views
PlanetScale

The Year of Livewire

Mostly Technical

PHP doesn't suck (anymore)

223.0k views
Personal

It's React in PHP

Mostly Technical

The Pilot

Mostly Technical

Stop using COUNT(id) to count rows

381.6k views
PlanetScale

Make your database queries 1000 times faster!

49.9k views
PlanetScale

PHP on the frontend! No more Javascript!

136.3k views
Personal

Don't hide your database indexes!

13.6k views
PlanetScale

Burned out on Javascript

15.1k views
Personal

Storing money in MySQL (the right way)

45.5k views
PlanetScale

Finish your projects

The GitHub ReadME Project

MySQL case insensitive searching (don't use LOWER)

19.5k views
PlanetScale

PHP is the future

195.0k views
Personal

MicroConf Recap

Hammerstone

Video

Framework Friends

Testing

Framework Friends
2022

Year in review: 2022

aaronfrancis.com

APIs

Framework Friends

Conferences

Framework Friends

We're back baby!

Hammerstone

Live Streaming Tools and Toys

Rubber Duck Dev Show

Deploying Torchlight

Pushing to Production Podcast

Build your own luck

The GitHub ReadME Podcast

Aaron Francis on Torchlight

Twenty Percent Time

Sometimes they say yes

The GitHub ReadME Project

Is COUNT(*) slow in MySQL?

21.8k views
aaronfrancis.com

Use Cases

Hammerstone

Half a Job You Love

Art of Product

Remix with Kent C. Dodds

Framework Friends

The Rails SaaS Conference

Framework Friends

Glimmers of Hope

Hammerstone

Laravel Nova 4.0

Framework Friends

Some Big Changes

Hammerstone

Origin Stories

Framework Friends

Adding a microservice to your monolith

1.2k views
aaronfrancis.com

Efficient MySQL pagination using deferred joins

41.4k views
aaronfrancis.com

Inertia server side rendering on Laravel Vapor

3.5k views
aaronfrancis.com

Using Ziggy with Inertia server side rendering

7.9k views
aaronfrancis.com
2021

Bitmasking in Laravel and MySQL

9.0k views
aaronfrancis.com

Using Laravel's schema builder outside of migrations

1.0k views
aaronfrancis.com

Efficient distance querying in MySQL

30.6k views
aaronfrancis.com

Hiring a Personal CFO

aaronfrancis.com

A little bit of Lambda

Laravel Worldwide Meetup

Who _Are_ You?

Hammerstone

Riding Sidecar with Aaron Francis

North Meets South Web Podcast

The perfect Vercel + GitHub Actions deployment pipeline

6.4k views
aaronfrancis.com

Blogging with markdown in Laravel

4.0k views
aaronfrancis.com
2020

Handling large CSVs with Laravel

8.8k views
aaronfrancis.com

Laravel pseudo daemons

4.5k views
aaronfrancis.com
2016

Breaking the Chain

Music Makers

Prove It

Music Makers

Just

Music Makers

Winging It

Music Makers
2015

Be Kind

Music Makers

Stuff

Music Makers

Move Your Feet

Music Makers

Find The Time

Music Makers

Cool Is Overrated

Music Makers

Work vs Life

Music Makers

Dads: Be Doers

Music Makers

Most People Won't

Music Makers

Do The Work.

Music Makers