As developers, few things are more exciting than that initial spark of a new idea. The moment you see a problem clearly and realize you have the ability to build the solution.
I’m currently deep in the “hustle phase” of bringing a new concept to life. It’s a project I’m incredibly excited about, and as I’ve been mapping out the architecture, I realized something terrifying:
My usual go-to tools might not be the right fit for this job.
A Love Letter to Laravel
Before the PHP defense force gets their pitchforks, let me be clear: I am a massive fan of PHP and, specifically, the Laravel ecosystem.
For 90% of the projects I build, Laravel is the undisputed king. The developer experience is unmatched. The ecosystem, from Cashier to Inertia to the endless packages, allows me to go from “idea” to “deployed MVP” faster than almost anything else. When the goal is shipping features and iterating quickly, Laravel is my weapon of choice.
It handles the heavy lifting of authentication, routing, and ORM management so I can focus on business logic. I am not abandoning PHP.
The New Constraint: Performance Per Watt
However, my next project has a different set of requirements. It’s an API-heavy concept designed for high concurrency. The priority isn’t just “how fast can I build it,” but “how efficiently can it run at scale?”
When you are building something intended to handle thousands of simultaneous, lightweight requests, the overhead of booting up a full framework and the PHP interpreter for every single hit starts to add up.
I need my next API to sip resources, not gulp them. I’m looking for maximum CPU efficiency and a minimal memory footprint per request.
The “Developer Dilemma”

This brought me to a classic developer crossroad:
Path A: The Comfort Zone. Build it in Laravel because I know it inside and out. I’ll ship faster, but I know I’ll be spending more on server infrastructure and dealing with performance bottlenecks sooner.
Path B: The Learning Curve. Choose a technology specifically designed for high-performance, low-resource environments (like Go or Rust). Development will be slower initially as I learn the nuances, but the end product will be fundamentally more efficient.
For this specific idea, Path A feels like fitting a square peg into a round hole just because I like the hammer I’m holding.
The Search for the New Stack
I’ve decided to take Path B. I am trading the rapid development cycle of Laravel for the raw execution speed of a compiled or highly optimized language.
I’m currently evaluating a few contenders that are famous for their low overhead:
- Go (Golang): The current frontrunner. Its concurrency model (goroutines) is incredible, it compiles to a single binary, and it seems to strike the right balance between performance and developer sanity.
- Rust: The performance king. It offers memory safety without garbage collection, which is hugely appealing for predictable resource usage, though the learning curve is steeper.
- Bun: It is a fast all-in-one JavaScript runtime & toolkit. It is a drop-in replacement for Node.js, but it is much faster and has a better developer experience.
Embracing the Shift
Stepping outside a framework where you are highly productive is daunting. You take for granted how much “magic” Laravel does for you until you have to implement it yourself in a lower-level language.
But that’s also part of the thrill of this job. It’s easy to get comfortable, but growth happens when project requirements force you to adapt.
This isn’t the end of my journey with PHP, but it is the start of a new chapter focused on raw efficiency. If I do choose a new stack, I’ll be documenting the build process, the struggles of learning a new stack, and the eventual benchmarks here on the blog.
Time to get to work.
~Joshua
Tags: Php , Laravel , Go , Golang , Rust , Api , Performance , BackendSelf-Host Obsidian Sync in 10 Minutes with Docker
Using Antigravity AI to Build Websites