Building PromptlyAgent: Lessons from an AI-First Laravel Journey

27/01/2026 — Thorsten Announcements
Building PromptlyAgent: Lessons from an AI-First Laravel Journey

I’m Thorsten, a seasoned software engineer with over 30 years of professional experience. In the summer of 2025, after some successful (and truly eye-opening) experiments with AI coding, I set myself a challenge: How well could AI perform in a genuinely complex, real-world project?

I’ve always gravitated towards projects that let you build flexible workflows, think n8n and Open WebUI. But as a backend engineer at heart, and not a huge fan of JS/TS or purely visual builders, I decided to construct my own AI assistant on a framework I truly love: Laravel.

To be honest, I was skeptical. My expectations weren’t high when I started, but over time, the project evolved into a surprisingly capable AI workbench, and, if nothing else, a solid case study in “AI-first” development.

In this post, I want to share what I’ve learned, including the twists, setbacks, and unexpected breakthroughs along the way.

Tools of Choice, and Going Off the Beaten Path

I’ll be upfront, my workflow probably isn’t typical. I’m a CLI enthusiast, I avoid GUIs when I can, and I work in Linux. My primary coding sidekick was Claude Code, hooked up to Neovim via a code-bridge.nvim PR I submitted myself.

Very quickly, I realized I didn’t want to be limited by off-the-shelf Claude Code plans, so I switched to using Anthropic’s models on AWS Bedrock, which, by the way, is a game-changer for anyone managing larger projects.

Of course, building with AI at this scale isn’t cheap. It became clear you need to actively guide the AI, otherwise, you risk letting Ralph Wiggum loose in your codebase (and no one wants that).

Working with AI, a New Paradigm

If there’s one truth I learned, it’s this: AI can generate a ton of code, really fast, but it can also make wrong turns at breakneck speed. Think of it as a 4-year-old with a PhD, it believes it knows everything, but lacks the experience to make sound decisions in specific scenarios.

My first rule: don’t “auto-accept” changes unless it’s boilerplate or ultra-straightforward. I review everything the AI suggests, and frequently stop Claude early if it’s heading off-course, taking time to explain what I want instead.

I got the best results when I provided clear architectural direction up front. Sometimes I’d propose an implementation in my prompt and invite the AI to challenge my thinking, but I never let it decide every step for me.

Yes, AI can write functional code, but “functional” isn’t always “right.” Without supervision, you may end up with a working prototype full of technical debt.

That’s not always bad, in fact, it became part of my process. I’d often let Claude sketch out a feature in a throwaway branch just to see which problems would surface, then wipe it all and rewrite things properly with a well-guided, targeted prompt.

Keeping Things DRY (and Sane)

Another lesson: AI loves to repeat itself. To combat code duplication, I started using specialized “sub-agents” for tasks like documentation, API docs, and code review, ensuring the DRY principle was maintained. I still ended up refactoring quite a bit, but sub-agents did help keep things more consistent.

On tough issues, Claude sometimes “spun its wheels,” trying ideas, failing, then looping back to old solutions. In those moments, the best strategy was to stop, clear the session, review, and then provide a new, focused prompt.

Despite all the quirks, I’ve been genuinely impressed by how well the AI handles a complex, ever-growing codebase. The result isn’t exactly how I’d have written it myself, but it’s good enough to share, to use, and, most importantly, to build on and improve.

I’m well aware this project has flaws and needs ongoing iteration. But I believe there are developers out there who want a Laravel-based playground for experimenting with AI workflows and tooling, and I’m excited to share PromptlyAgent as a starting point.

Key Takeaways

  • Treat AI like an intelligent intern. With proper guidance, supervision, and patience (and the ability to type at 200 wpm), it can be a huge asset, but it needs you steering the ship.

  • Plan before you code. Use “planning mode” to head off bad decisions early. Prompts like “think carefully” are invaluable when things get complicated.

  • Break down big tasks. As always, divide and conquer! Smaller tasks are easier for both humans and AI to manage and review.

  • Mind your context. Use commands like /clear or /compact to keep the session fresh and focused on the current task.

  • Rely on Git. Version control is your safety net, AI can go off the rails, so having a rollback plan is essential.

  • Review everything. Don’t let AI work unchecked. Self-review is fine, but always double-check the code yourself.

  • Use sub-agents. Specialized agents help keep documentation, formatting, and refactoring consistent, and repetitive tasks manageable.

I hope these insights help you on your own journey, whether you’re AI-curious or a seasoned developer ready to try a new approach. Questions? Thoughts? Let’s talk!

Share this post.
Don't miss this

You might also like