Skip to content

From a Laracon pitch to working on the Laravel website


A couple of weeks ago I wrote about a new client who was hard coding every landing page, and I said there’d be more on that later.

Well, here it is. That client was Laravel.

How it came about

Back in the summer I got to pitch Poker Friday onstage at Laracon in Boston. Aaron Francis was up there with me while I walked through one of the features. We met briefly, I said thanks, we chatted over a drink outside afterward, and that was about it.

Fast forward a couple of months. Aaron, who is VP of Marketing at Laravel, reached out to Jack at Statamic looking for some help on the Laravel marketing website. Jack introduced me.

I’d like to think this came about because of the effort I’ve been putting into my YouTube channel and the podcast. None of that was aimed at getting a particular job, but it just meant that when the right conversation came up, my name was already in it.

This is a real result (I would like to believe) of increasing your luck surface area. You don’t get to pick what comes of it. You just have to keep putting things out there.

The work

The problem was the one I wrote about in the Oct 20 post. The designers were cranking out new landing pages, and every one of them had to be hard coded, committed, reviewed, merged, and deployed by a developer. The marketing team had big goals, and the process was slowing them down.

So the job was to figure out the best way to enable the writers to publish without all of that work; in the end, the solution was to build a page builder in Statamic, so marketing could put pages together and publish them on their own.

What was interesting

The part I enjoyed most was that I didn’t have to start from scratch on the front end. And I didn’t want to.

Laravel already had a good set of React components, rendered with Inertia. The easy mistake would be to rebuild all of that in Antlers or Blade so it fit the “normal” Statamic way of doing things. But then you have two versions of every component, and the developers who own the front end are maintaining something they didn’t build.

Instead, the page builder sits on top of the components they already have. Editors build pages from sets in the Control Panel, and those sets map onto the existing React components. Developers keep working in React. Marketing gets a publish button, and everyone stays in the tools they’re good at.

This is the same idea I keep coming back to in The Foundation is the Work. When the existing structure is coherent, you can build on it instead of around it.

The Laravel homepage

The other piece was content that lived in a Filament dashboard. There are two ways to handle that in Statamic. You can move the content into Statamic collections entirely, or you keep the data in Eloquent and use Runway which brings those models into the Control Panel, which is great when other parts of the app still depend on that data.

Both approaches made sense for different parts of the project, but we were able to leverage Runway to do most of that heavy lifting, since actually migrating to Statamic collections was more work than it was worth, for the same net effect.

I wrote up the full project as a case study over on the Cascadia site.

What’s next

This was a really fun one. Working directly with the Laravel team itself was a blast, and it was so satisfying to actually move the needle for them in a meaningful way.

It also reminded me how much I like this kind of work: dropping into an existing Laravel team, figuring out what’s slowing them down, and fixing it in a way that really works for them.

If your team could use that kind of help, part-time or ongoing, I have room for more of it. Get in touch.

And if you’ve been sitting on something you made, go talk about it. You never know who’s listening.