Sign in

Ed Grosvenor

@gros.co
1.3K followers 958 following 2K posts

Co-founder / CEO at artisan.build, working our fingers to the bone keeping artisanship at the center of web and mobile application development in the midst of Slopmageddon.

PostsRepliesMedia
Ed Grosvenor @gros.co · 29/09/2026
My wife is out of town for the week. She usually makes ahead a few meals before she leaves to make sure the kids get some vitamins. She didn’t this time. So tonight it’s smash burgers and roti fries.
220
Ed Grosvenor @gros.co · 25/09/2026
Three hours of flow state in PHPStorm with Pretty Hate Machine (1989 Remastered) on loop. Not a bot in sight. This was the most fun I've had at work all year. I had to do it this time because the robots just weren't getting it. But I might carve out a day a week for this and call it 20% time.
120
Ed Grosvenor @gros.co · 24/09/2026
We're out of stealth mode. One month until the official launch, this is what's been keeping us quiet and busy for the last couple of months. scalpels.app/street-team
scalpels.app
Join the Scalpels Street Team
We could use your help launching Scalpels.
040
Ed Grosvenor @gros.co · 24/09/2026
Feature request for the @laravel.com Cloud team: An orphan filter on the resources pages. I could probably have my agent identify and delete orphaned resources, but that seems just slightly risky. Unless the CLI has something preventing attached resources from being deleted.
020
Ed Grosvenor @gros.co · 14/09/2026
This whole runaway AI narrative got me thinking. What if they’re not really worried about human extinction but something much more mundane. Civil and criminal liability. We’ve already seen models used in crimes, sometimes by the labs themselves.
221
Ed Grosvenor @gros.co · 11/09/2026
My daily routine now includes pulling underpants out of my backpack and asking moms “are these yours?” No, I’m not going through a creepy phase. The daycare is trying (with limited success) to potty train our kids and they don’t do a great job of sorting out the wets before sending them home.
021
Ed Grosvenor @gros.co · 10/09/2026
AI is going to unite and radicalize people, and these companies are bringing on themselves. Yesterday’s message was “Best case scenario, you’ll lose your job. Worst case is you all die. Either way, we will happily steal anything you have of value to ensure we get rich along the way.”
020
Ed Grosvenor @gros.co · 05/09/2026
I just heard one 12-year old say to another 12-year-old “Your mom’s so slow it took her nine months to make a joke.” Switzerland really is 1980s America.
050
Ed Grosvenor @gros.co · 31/08/2026
Have you built a SaaS in Laravel and not shipped it? Or did you ship it and not get any traction, so you gave up? If so, I want to chat. Shoot me a DM and loan me 30 minutes of your time. I can't promise you anything other than a laugh or two, but I need to know where ships are sinking.
132
Reposted by Ed Grosvenor
Larajobs @larajobs.com · 29/08/2026
New job alert! 🚀 Tighten is hiring a (Technical) Project Manager! If you're skilled in leading projects and love Laravel, this might be for you. Check out the details and apply here: larajobs.com/job/3923 #laravel
larajobs.com
(Technical) Project Manager - Tighten
Tighten is looking for a Project Manager to join our team! About UsWe are a US-based, fully remote agency that specializes in web application development.  We help our clients by building their web...
011
Ed Grosvenor @gros.co · 29/08/2026
For generations, wealth accumulated because “number go up”. But the system has evolved so that one class of people can automatically accumulate wealth no matter which way the number goes. The bigger the swings, the more they accumulate.
120
Ed Grosvenor @gros.co · 28/08/2026
My neighbor is standing outside in the pouring rain, watering her trees with a hose. I desperately want to ask her why, but my desire to stay dry is slightly stronger than my curiosity.
120
Ed Grosvenor @gros.co · 28/08/2026
I logged into a website that I use fairly frequently from my phone the other day. My phone, at the time, was reporting my location as inside France, so the site displayed in French. I know the navigation well enough that I didn't bother to switch languages before completing my transaction.
100
Ed Grosvenor @gros.co · 26/08/2026
Milo is gone for the rest of the week on an alpine adventure with his class. Teddy has a cold and passed out before his mom got home from work. So we skipped the normal dinner ritual and just had beans on toast. A perfect evening.
110
Ed Grosvenor @gros.co · 26/08/2026
Me to Claude: I think we've taken this mutation testing thing a bit too far. It's taking 12 hours to finish what used to take an hour. I don't mind taking our time, but this is over the top. Claude: No problem. I'll switch to extensive browser testing instead. We can get down to 11 hours that way.
110
Reposted by Ed Grosvenor
Larajobs @larajobs.com · 25/08/2026
Looking for a new challenge? 😎 ClickGo, Inc is hiring a ClickHouse and Laravel Database Expert! If you have the skills and want to join an awesome team, apply now. Apply here: larajobs.com/job/3919 #laravel
larajobs.com
ClickHouse and Laravel Database Expert - Remote - Indeed.com
ClickGo, Inc
001
Ed Grosvenor @gros.co · 24/08/2026
artisan.build/posts/i-fail...
artisan.build
I Failed to Ship Today
I made one big mistake in code and an even bigger operational mistake in a recent launch, and it cost me an entire day of work.
230
Ed Grosvenor @gros.co · 24/08/2026
Oh crap. The robots decided that everything needs mutation testing. This is a one-shot "quick and dirty proof of concept" that I kicked off at bedtime on Friday night and is just now landing. The good news is it works, the code is fine, and the UI is bad enough that people will think it's mine.
Screenshot of Pest PHP output, showing 2 risky, 2 skipped, 3415 passed tests with 16981 assertions, taking 245.42 seconds.
110
Ed Grosvenor @gros.co · 23/08/2026
Teddy loves playing hide and seek. He could play it all day. But he always wants to the the one to hide. And he always hides in the same place. So basically I’ve turned into a method actor preparing to play an extra in a zombie movie.
330
Reposted by Ed Grosvenor
Jonathan Edward Durham @thisone0verhere.bsky.social · 20/08/2026
Listen, if you’re not happy single, you won’t be happy in a relationship either, happiness comes from picking a new hobby and then buying all the things to start that hobby then finding the perfect little storage container for those things and then putting that storage container in the spare room
493142682
Ed Grosvenor @gros.co · 21/08/2026
You might have seen the test preview I posted of artisan-tv.com a few weeks ago. I'm working on the channel lineup for the site, and I asked Claude to take a look at the channels I'm proposing and add others that are likely to appeal to this audience. It added a channel focused on trains.
010
Ed Grosvenor @gros.co · 19/08/2026
Just about every day since May has been at least 90 freedom units. We have broken the planet and the planet has broken me. Until the average daytime temperature dips into the 70s, I indent to sit on the floor, rocking back and forth, and mumbling to myself. See you in October.
120
Ed Grosvenor @gros.co · 19/08/2026
Milo has had a very tough week, so instead of our usual homework time, I surprised him and his best friend with a luxury movie experience. The movie was intentional. The luxury surprised me too. This place is the business class of cinemas.
030
Ed Grosvenor @gros.co · 19/08/2026
Life Hack: Don't wake up at 1:30 on a Wednesday morning with the fully baked solution to a months-long problem perched precariously at the edge of your mind. This is what I get for not drinking on school nights.
120
Ed Grosvenor @gros.co · 17/08/2026
There was a man sitting completely naked on the sink in a public restroom bathing himself with hand soap. He emerged 15 minutes later wearing a nicely pressed suit and carrying a briefcase. So I guess don’t judge a book by its cover, even when there is no cover.
010
Ed Grosvenor @gros.co · 17/08/2026
I'm exploring the idea of load-balancing AI work across a client's team. They have ~10 people running Claude Code subscriptions locally, some of which are seriously underutilized. So the plan is to kick "below the fold" work from a power user to an agent on a tinkerer's machine.
330
Ed Grosvenor @gros.co · 15/08/2026
I spent the afternoon with a friend who is a legacy enterprise Java developer. I often joke about bugs being load-bearing, but his really are.
020
Ed Grosvenor @gros.co · 14/08/2026
Things that definitely wouldn’t happen in America: Teddy’s preschool class spent the afternoon in France. Parents had no idea. The “we take the kids out for spontaneous outings” policy isn’t even capped at international borders. It sounds like they had a lot of fun.
250
Ed Grosvenor @gros.co · 13/08/2026
It looks like I'm going to have to figure out how to navigate the Swiss legal system. I've been the victim of what, at least in America, would constitute fraud. The primary culprit is actually in the Netherlands, hiding behind a frequently defunct Swiss company, which I think will complicate things.
140
Ed Grosvenor @gros.co · 13/08/2026
By popular demand, we've added a way for teams to publicly share their velocity pickup from AI using Ballast. So here's our chart. We were day-one adopters of Claude Code, and it's worked out well for us. The -19 score on durability is pretty good (scale is 300 - 850). ballast.now/c/019ffa2b-0...
ballast.now
Ballast
A durability score for any git repository — read from history, not AI.
010
Ed Grosvenor @gros.co · 12/08/2026
I did some mutation testing in a project a couple of weeks ago, and now Claude has started doing it on every PR. I was initially annoyed, but it's actually resulting in a better test suite than I'd normally expect from an AI. It seems like the practice has it writing better, less spell-checky tests.
110
Ed Grosvenor @gros.co · 12/08/2026
I had a group meeting with a preschool and two other moms from Teddy’s daycare. The director asked us if we were all there about one child. I thought she’d asked if we were each there about one child. So I said yes. I’m going to need to find a new preschool. And German lessons.
020
Ed Grosvenor @gros.co · 11/08/2026
It was a good day. The MCP installation story is 80% less sucky now. I've managed to make it a single-line copy / paste into the terminal for most harnesses, which will significantly clean up the "Issue a Token" page in all of our apps and let our vibe coding clients install it themselves.
110
Ed Grosvenor @gros.co · 11/08/2026
Remote MCP servers can be really useful, but getting everyone connected to them can be painful. I'm trying to solve that, at least for our clients. artisan.build/posts/living...
artisan.build
Living with a Low Pain Threshold
So much of what I've built over the past few years has been in response to tiny little annoyances. Things that take 10 minutes, but should take two.
000
Ed Grosvenor @gros.co · 11/08/2026
There are moments when we realize we've made a wrong turn in life, but we're rarely honest enough with ourselves to admit it. This is one of those moments for me. I'm trying to figure out how to publish something to npm, and I'm thinking that maybe I should have stuck to roofing.
010
Ed Grosvenor @gros.co · 11/08/2026
90% of the code that is written while I'm sitting at my desk is written by hand. 90% of the code in my projects is written by AI. Babysitting agents while they write code is a horrible use of time. Desk time is for planning and QA. The robots do their work when it's time for me to play.
020
Ed Grosvenor @gros.co · 10/08/2026
This is how we've been helping clients figure out whether AI is working for them. ballast.now
ballast.now
Ballast
A durability score for any git repository — read from history, not AI.
011
Ed Grosvenor @gros.co · 09/08/2026
Thanks to three hours of children waking up multiple times and seeking out a parent, nobody is in their own bed right now. I’m giving up and crashing on the couch. I almost certainly won’t wake up alone. First day of school anxiety, I guess.
050
Ed Grosvenor @gros.co · 07/08/2026
This is a test. This is only a test. There is nothing to see here, so don't click on the link. It'll almost certainly Rick Roll you. artisan-tv.com/watch/cGNa33...
artisan-tv.com
This Week In PHP Internals | July 15, 2026
Watch This Week In PHP Internals | July 15, 2026 on Artisan TV.
110
Ed Grosvenor @gros.co · 07/08/2026
Either this is a weird bug or I've found a way to beat the prediction markets with PHP.
A table of projects, one of which says "Last commit 14 hours from now".
000
Ed Grosvenor @gros.co · 07/08/2026
Teddy v 3.0 is out! I’ve been beta testing this version for a while. Still no volume control and gets really buggy if left to run too long. But overall, pretty darn good.
020
Ed Grosvenor @gros.co · 06/08/2026
Maybe AI is contributing to GitHub's reliability problems, but in the before times, I'd have had to sit here refreshing the status page to make sure these binaries get built and shipped asap. Now I can ask Claude to check the status every couple of hours and babysit the build once it's back.
100
Ed Grosvenor @gros.co · 06/08/2026
Never using voice dictation again. I responded to a question from a client with “Never mind. I just Laravel newed.” and, for obvious reasons, what came out the other end was “Never mind. I just Laravel nude.”
320
Reposted by Ed Grosvenor
Len Woodward @projektgopher.com · 05/08/2026
I'm speaking at Longhorn PHP in Austin this October! "How Tetris Made Me a Better Programmer" — the falling-blocks game has a real 60-page spec, I built it in PHP, and it taught me plenty about state machines and specs. Blind Bird pricing through Aug 8: longhornphp.com/schedule #PHP
longhornphp.com
Longhorn PHP 2026 — Schedule
October 15–16, Austin TX. Talks, tutorials, and the full speaker lineup.
022
Ed Grosvenor @gros.co · 05/08/2026
My wife is one of the smartest people I know, but she really struggles with math, particularly scale and volume. It's resulted in some funny purchases. A pallet delivery of healthcare products. 3 kilograms of cheese per person for a dinner party. This week she's making birthday cupcakes for Teddy.
230
Ed Grosvenor @gros.co · 04/08/2026
Today is a good reminder of why I start almost all my new projects with this. github.com/artisan-buil...
github.com
GitHub - artisan-build/laravel-nodeless
Contribute to artisan-build/laravel-nodeless development by creating an account on GitHub.
001
Ed Grosvenor @gros.co · 03/08/2026
Guin Guin is not a cartoon monster. It’s not a word in German, Swiss German, French, or Spanish. I checked. I’ve spent the past hour trying to figure out why Teddy won’t go to sleep because of Guin Guin. I finally gave up and asked Milo. It’s penguin. He’s convinced a penguin is going to get him.
230
Ed Grosvenor @gros.co · 31/07/2026
I hope my wife is asleep because instead of bringing Milo straight home from the movie, we paused at the bar. He’s drinking sparkling water and eating a giant bag of candy while I knock back some cold beers and kick his butt at shuffleboard.
130
Ed Grosvenor @gros.co · 31/07/2026
I’m excited to spend the evening seeing the new Minions movie in the original German. There’s a proper cinema (with real Swiss cinema prices) in the basement of this hotel.
000
Ed Grosvenor @gros.co · 31/07/2026
I just had a funny getting older moment. I had the wife and kids with me in a pedal boat. Milo was in the copilot seat. I started feeling a bit overheated so I did the sensible thing. I jumped in the lake.
100