CodeIgniter.
I would not start a new project on CodeIgniter in 2026, and I will say so before you ask. But I have shipped three production systems on it, which is the part that matters if you are already on one. Inherited CodeIgniter apps are usually working fine and nobody left knows them — that is a real situation, and it needs someone who can read the code on day one rather than learn the framework on your budget.
Small enough to hold in your head
Very little magic and a thin core. When you inherit a CodeIgniter app, you can read it and know what it does — which is exactly the property you want in code nobody has touched for years.
It keeps running
Few dependencies and few moving parts. CodeIgniter apps sit on a server and work, quietly, long after the team that wrote them has moved on.
Undemanding to host
Runs on ordinary PHP hosting with no build step and no daemon. Keeping one alive is cheap, which is often the honest short-term answer.
A short path to Laravel
Plain controllers, models, and queries map onto Laravel almost directly. Of the legacy PHP frameworks, this is the one that migrates most predictably.
The original team is gone, it still earns money, and it needs changes. I can work in it from the first day without a learning curve you pay for.
Route by route, behind the running app — never a big-bang rewrite. Knowing both ends is what makes an incremental migration credible instead of hopeful.
Not every legacy app should be migrated. Sometimes the right call is to fix, secure, and leave it running — and to be told that plainly.
This is the one thing I would not use CodeIgniter for. Starting here in 2026 buys you a smaller ecosystem, a thinner hiring pool, and a migration you will pay for later. If you are choosing a framework today, choose Laravel.
CodeIgniter is not part of my stack for new work — it is part of my range. It sits at the legacy end: something I maintain when maintaining is right, and migrate to Laravel when migrating is right. The judgement about which of those you actually need is most of the value.
Only if the app is still changing. If it is stable and rarely touched, migration is a cost with no return — maintain it. If you are actively building on it, every month adds to the bill, and moving sooner is cheaper.
No, and you should not. The app keeps running while functionality moves to Laravel piece by piece. A big-bang rewrite is how these projects fail.
Because it is not fashionable, and most developers would rather learn it on your budget than admit they have not used it. I shipped three systems on it. That is the whole reason this page exists.
In my work
Three production systems on CodeIgniter: a token-economy social platform with live video battles, a peer-to-peer resale marketplace with offer negotiation and object-scoped chat, and a city discovery and rating platform with a Nuxt front end.