2026 Week 10
Laracon Week
It was finally Laracon week, which meant making my way from Berlin to Amsterdam. In another life, I would have taken the train without thinking twice. Amsterdam is close enough, and normally I prefer the rhythm of rail travel — arrive at the station, board, sit down, read, think, arrive. No security lines, no gates, no silent countdowns on departure boards.
But I booked late. The train options weren't great, and most of them involved multiple changes and platform hopping. After my recent train situation coming back from Amsterdam (which I'm still not fully over), I had promised myself: if I'm doing Berlin–Amsterdam, it has to be direct. No connections. No drama.
So I flew.
I left early for the airport, and somehow still arrived in Amsterdam almost six hours after leaving my house. That's always my internal test — if the total airport ritual (getting there early, security, waiting, boarding) creeps toward four hours, and the train would take five, I'll usually pick the train. At least on a train I can open a book and feel settled. At the airport, you're suspended in waiting.
This time the flight was delayed twice. More waiting. More pacing. And with that, my original plan quietly collapsed.
I had intended to arrive early, finish some prep for Helfer, and then visit friends who just had a baby boy. The idea was simple: land, work a bit, visit them in the afternoon, meet the newborn, then return to the hotel and finish preparing for the event. But landing late meant choosing. I knew the event days would run from around 9 AM to 6 PM, and I'd probably be exhausted after. If I didn't go that evening, I likely wouldn't go at all.
So I chose to visit them. And that meant letting go of the work I had planned.
Sometimes the trade-offs are small but still heavy.
One thing that lifted my mood when I finally arrived was the hotel. I had seen photos before booking, but walking into the room felt unexpectedly reassuring. It was calm, clean, thoughtfully designed. In moments where plans wobble, small comforts matter more than they should.
First Time at Laracon in Person
I've attended Laracon online for years. Watching from a screen is one thing; walking into the venue is another. I was curious what it would feel like physically — the scale, the energy, the people I've only known as avatars and usernames.
It's strange how meeting someone in person fills in the missing dimensions. You realize how tall they are. How they laugh. Whether they're quieter or warmer than you imagined. One of the first people I ran into was Marcel, and I was genuinely surprised he recognized me from just an online photo. We exchanged a few words, talked about what he's working on, and I showed him Helfer. It was brief, but grounding.
There was a lot of conversation around AI — unsurprisingly. Seeing how openly the community is embracing it felt significant. Not in a hype way, but in a “this is here, let's use it well” way. When Taylor spoke and demonstrated some of what they're building, you could sense that shift. After his talk, I managed to say a few words to him too. Friendly, open, curious.
I kept thinking about how Laravel is positioned right now — especially for people who aren't traditional developers but want to build things with AI assistance. It feels like we're entering a phase where more people will be able to create real applications, and the framework is ready for that.
There were also other builders working on tools similar to Helfer. That was both validating and motivating. It's clear there will be many more of these kinds of tools in the ecosystem.
If I'm being honest, the one low point for me was the food. I've been trying to be more open with food choices, but I still struggled to find options that felt right. Drinks were everywhere — Coca-Cola, juice, coffee — but the food itself just didn't quite land for me. It wasn't a huge issue, just one of those small discomforts that lingers.
Airport Friction
On the way back to Berlin, security confiscated most of my perfume, body spray, and a cream I use for my scalp.
They kept repeating the 100 ml rule. Some of the items weren't even up to 100 ml, but the containers were larger. I tried explaining that I had flown in from Berlin just two days earlier with the same items and no one said anything. It didn't matter.
At one point they asked if I had a prescription for the cream, which surprised me because it's something I bought over the counter. Even if I had a prescription, it's not like I walk around with it.
In the end, I let it go. Maybe I should have double-checked everything more carefully. Maybe the difference was just stricter enforcement. Still, it's frustrating to throw away things you were already using — especially when some were nearly finished anyway.
I briefly considered leaving them with friends in Amsterdam so they could bring them back the following week, but I was too close to boarding time to figure that out. So now I'll just buy them again.
Another small travel tax.
Closing the Loop
After Taylor's talk, an idea kept circling in my head.
What if Helfer could receive events from different sources — say, a GitHub issue being opened — understand the intent, and start working autonomously? Open a branch. Create a PR. Do the work. Decide whether to merge or notify someone. Close the loop from “something is requested” to “it's fixed and shipped.”
I started hacking on it that night in Amsterdam. When I got back to Berlin, I kept going.
The hardest part was also the most interesting: wrestling with AI-assisted code that was technically impressive but structurally too complex. At the core, the idea made sense. But the implementation path kept drifting into something more rigid than I wanted — imagining everything as an “incident” instead of a more general “task.”
I had to slow down and really read the code. Break things apart. Focus on one channel at a time — GitHub, then Nightwatch issues, then others. Divide and conquer. I even asked it to write a command that would simulate the full lifecycle: receive task, create branch, open PR, commit changes. That helped. Suddenly the system became testable.
Then came another subtle problem: commits.
Initially, the idea was simple — let the agent work, and at the end commit everything in one go. But testing revealed edge cases. Sometimes it would do meaningful work early on. Sometimes it would partially fail. Waiting until the end to commit meant losing clarity and forcing us to guess a commit message based on a pile of changes.
So I nudged the agent toward incremental commits. If meaningful work has been done, commit it. Let the agent decide the message. Continue.
But how do you detect “meaningful”?
I settled — for now — on heuristics. If a significant number of tokens have been spent, that likely means substantial reasoning. If writable tools were successfully called, that likely means changes happened. When those thresholds are reached, the system nudges the agent to commit.
It's not perfect. But it's moving in the direction I want: autonomous, but guided. Not a final dump of changes, but a steady rhythm of work.
Right now, GitHub integration is working well. The next step is connecting it properly to GitHub issues, understanding how tasks flow in, how users stay informed, and how the loop closes cleanly.
It's a fun challenge. The kind that makes you tired in a good way.
I'm hoping to roll it out soon and see what people think.
Till next time, Bosun