Skip to main content
TekXpat

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.

The Phonex Taxi homepage on a desktop browser, showing the booking call-to-action and airport transfer service.
Homepage — booking and WhatsApp are the first two actions.
The Phonex Taxi homepage on a phone, showing the same booking actions stacked for a narrow screen.
The same page on a phone, where nearly every visitor arrives.

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

The parts that took the longest and are hardest to see. These are the reasons this site exists to talk about, rather than a gallery of screenshots.

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.