Borrowed Ground

Borrowed Ground
Nano Banana/Anti Writings illustration.

I spent days rebuilding a feature Laravel took away. The project never shipped.

Laravel used to ship team support through Jetstream. Authentication, invitations, permissions. Install it, move on, build your actual product.

Then Laravel replaced Jetstream with starter kits. Team support vanished. No migration path, no replacement, no timeline.

When I started building a Trello alternative, I knew I'd need teams. Invitations, permissions, the whole dance. I knew I'd have to build it myself.

I spent a day pulling what I needed from Jetstream's source code. One day turned into forcing the full Jetstream install into my project and rewriting the outdated frontend by hand. I didn't bring everything over. Just enough to pretend it was mine.

Digging into how Jetstream worked under the hood fascinated me. But I didn't sign up to maintain a team management system. I wanted to ship a product. Momentum bled out before I ever touched the main functionality.

Then the fear crept in. What if Jetstream stops getting security updates? Now I'm married to code I didn't write, responsible for holes I can't see.

Using an older Laravel version wasn't an option. I tried. The installer pushes you forward. That door closed in ten minutes.

The project went nowhere anyway. All that fear about maintaining someone else's team code, for a project that didn't live long enough for it to matter. I was fortifying a house that was already on fire.

A couple weeks ago, I was scrolling X and saw the announcement. Laravel starter kits now support teams. Relief. Frustration about the timing: this would've saved me months ago.

Some understanding for the Laravel team too. They were moving fast on starter kits and teams weren't ready. Fair enough.

I tried it the same day. Registration, team creation, team switching. The backend is solid. The frontend for team switching and invitations still feels like it's finding its legs.

I don't even need it right now. My current project doesn't require teams. But I wanted to see how the core team brought it back versus what I hacked together. Is this the real thing, or is it going to get discontinued again? Once burned.

When you rely on a first-party solution, you're trusting that it'll stick around. Laravel taught me that trust is fragile.

I still trust Laravel. They've earned it over time. Great framework, free ecosystem, good packages. They try to do what's best for the community, and they're free to move in whatever direction they want.

This isn't just a Laravel thing. My coffee brand could disappear tomorrow and I'd be lost too. Anything you depend on that you don't control has an expiration date. You just don't know when it is.

Enjoy the convenience. Ride the momentum. Ship your thing.

But know that the ground you're standing on is borrowed. Have a plan for when it shifts, because eventually, it does. Not out of malice. Just priorities, moving on without you.

If they change direction again, I'll figure it out. I always do. I just wish I didn't have to.