Transport · Blantyre
Phonex Taxi
A taxi business does not need a brochure. It needs to be the result someone finds at 05:00 when they have a flight to catch, and it needs the booking to arrive somewhere a human will see it.
- Sector
- Transport
- Where
- Blantyre, Malawi
- Live at
- phonextaxi.tekxpat.com
The brief
What they needed
Be findable when someone searches for a taxi or an airport transfer in Blantyre.
Take booking requests without needing someone to watch a phone all night.
Load quickly on a phone, on a mobile network, because that is where every customer is.


What we built
The work
Booking request system
Pick-up, drop-off, date, time and passenger count, delivered straight to the operator. The form tells the customer immediately if the request could not be delivered and gives them a number to call instead.
Search presence
Structured data describing the business, its service area and its hours, a correct canonical tag on every page, and a real sitemap. Paired with a Google Business Profile so the listing and the site agree with each other.
Service pages built around real searches
Separate pages for airport transfer and town trips, because those are different searches by people with different intentions.
Managed hosting
Runs on our server with SSL, automated backups and uptime monitoring. Status is visible on our hosting page.
Built with
- Next.js 15 (App Router)
- TypeScript
- Tailwind CSS
- Webhook notifications
- Managed hosting on our own server
- Google Business Profile
Decisions
Why it was built this way
A failed booking is never shown as a success
If the notification webhook is unreachable, the API returns an error and the customer is told to call. It would have been easier to accept the booking and log the failure quietly — and for a business whose product is arriving at an airport at 04:00, that is the single most damaging thing the code could do.
Fonts are self-hosted, not fetched from Google
next/font/google downloads from the Google CDN during the build. Our build environment cannot always reach it, and when it fails the whole build fails. The font files are committed to the repository instead, with their licences.
Booking pages that answer two different searches
Someone booking an airport transfer at 05:00 and someone wanting a lift across town are not the same customer, and they do not type the same thing into Google. They get separate pages with separate structured data rather than one page trying to rank for both, which reliably ranks for neither.
The browser support target was widened deliberately
Past the Next.js defaults, down to Android 6 and Safari 12.1. The default target quietly drops users on older phones, and in Malawi those are real customers rather than an edge case.
See for yourself
phonextaxi.tekxpat.com is live right now
Open it on your phone. Time how long it takes to load. Search for the business on Google. Everything on this page is checkable, which is the only kind of claim worth making.
The other one
R&H Car Rentals
Car hire from a staffed desk inside Chileka International Airport. Fleet catalogue, rates and booking enquiries.
Read it →Prefer to talk? WhatsApp us.