Laravel maintenance for two established travel websites
How we took ongoing technical ownership of two live Laravel travel websites — cutting a key search page from about 17 seconds to about 1 second along the way.
Our client runs two established travel websites on a shared Laravel platform. Both sites were live and taking bookings, so the brief was clear from day one: no risky rebuild — take ownership of what exists and keep making it better.
The challenge
The platform showed the typical symptoms of a mature application that had outgrown its original setup:
- An important search page took around 17 seconds to load.
- Production and staging bugs needed careful investigation and controlled releases.
- Servers saw high load, including bot traffic spikes nobody had explained.
- The business kept needing new features, which had to ship without destabilising the live sites.
What the client needed was not a one-off fix but a long-term technical partner responsible for the whole platform.
What we did
We became the ongoing technical owner of the platform — development, QA, project management and infrastructure support from one team, working the way we describe on How We Work.
- Rebuilt the slow search. The cause was remarkable: the page loaded every result — images included — and hid them in the browser so search could filter on the frontend. We added real pagination, cut the image sizes and cleaned up the JavaScript. From about 17 seconds to about 1 second, verified through QA before release.
- Took the same approach to a heavy listing page: 1,072 database queries became 222, the framework loaded 151 models instead of 1,806, memory use halved from 26 MB to 12 MB — and the page went from 1.21 seconds to 425 milliseconds.
- Lighthouse performance scores followed: the about page went from 46 to 98, the homepage from 63 to 79, and a key property page from 66 to 80 — driven by image optimisation and a reorganised JavaScript bundle.
- Fixed the surprises hiding in plain sight: the 404 page alone returned 431 kB of HTML and loaded a 3 MB image, taking up to 4.9 seconds just to say “not found” — it now answers in milliseconds.
- Eliminated a production crash: one API endpoint could exhaust the server’s 512 MB memory limit answering a single request. Safe pagination fixed the crash — while the admin team kept the full list view they rely on every day.
- Fixed business-critical production issues at the root cause — invoice views, upload behaviour, availability logic, broken routes — instead of patching symptoms on the server.
- Set up CloudWatch monitoring with CPU and disk alarms, which caught unexplained load spikes — the trail led to scanner bots, and to a fix at the right layer (that story has its own case study).
- Kept delivering business features — service levels, board types, weekly pricing, personal recommendation price boxes and integration planning for external availability sources.
The outcome
The headline number: the key search page went from about 17 seconds to about 1 second. Just as important, releases became routine — investigated, fixed, tested and shipped through a controlled workflow — and monitoring gave the client a real view of server health for future infrastructure decisions.
This is what our Laravel support and maintenance engagements look like: the platform keeps evolving, and someone is clearly responsible for it.
More case studies
industry
Travel & hospitality
tech stack
Laravel, MySQL, AWS
service
Maintenance & Support
Want results like these for your application?
Start with a System Risk Check — a fixed-price technical audit of your application with a written, prioritised report. The report is yours, whatever you decide next.
We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.
The cookies that are categorised as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. We also use third-party cookies that help us analyse how you use this website, store your preferences, and provide the content and advertisements that are relevant to you. These cookies will only be stored in your browser with your prior consent. You can choose to enable or disable some or all of these cookies but disabling some of them may affect your browsing experience.