Transport · Chileka
Namanjirinji Investments
Elliot Khoza has run taxis out of Chileka International Airport since 2013, with two cars and no office. The site had to carry enough detail for a traveller to choose him before they land — and no detail he had not actually confirmed.
- Sector
- Transport
- Where
- Chileka, Blantyre, Malawi
- Live at
- namanjirinji.tekxpat.com
The brief
What they needed
Be findable by travellers arranging a pickup before they fly into Chileka.
Show the cars, because a passenger with luggage wants to know what is coming.
Give a number that works when dialled from abroad.
What we built
The work
The fleet, described from the photographs
A Nissan Juke and a Nissan X-Trail, five seats each, with the colour read off the pictures Elliot supplied and the drivetrain given in his own words. Nothing about either car is stated that a photograph or Elliot does not support.
Opening hours that are literally true
Monday to Sunday, 06:00 to 20:00, held once and rendered both as the 24-hour form the structured data needs and the 12-hour form a person reads, so the two cannot drift apart.
Payment methods stated plainly
Airtel Money, TNM Mpamba, cash and bank transfer, on the contact page and in the structured data, so a traveller knows before arrival that they will not need to find an ATM.
Five static pages, no backend
No database, no forms, no API routes. Enquiries go by phone or WhatsApp, which is how this business already works.
Built with
- Next.js 15 (App Router)
- TypeScript (strict)
- Tailwind CSS
- Fully static — no database, no API routes
- Schema.org structured data with opening hours and payment methods
- Managed hosting on our own server
Decisions
Why it was built this way
Late flights are a separate fact from opening hours
Elliot will meet a flight outside his published hours by arrangement. Folding that into the opening hours would have made the schema claim he is open until midnight, which is not true and would strand somebody at an airport. It is held as its own flag, said in the copy where a traveller reads it, and kept out of the hours the schema publishes.
“Since 2013”, not “13 years of experience”
The founding year is stored and the phrasing derives from it. A baked-in duration goes stale on a date nobody has diarised, and is then quietly wrong by several years.
The site disagrees with the printed business card, on purpose
The card shows an email address that does not reach him. The site uses his working inbox and records the mismatch in the code, so that the next person to compare the two does not "correct" the site back to an address that goes nowhere.
No local phone format exists in the codebase
Numbers are stored in international form and every displayed, dialled and WhatsApp variant is derived from it. This site is largely for people arriving from outside Malawi, and a local 0-prefixed number is undiallable from a roaming phone — so there is no code path that can produce one.
A number plate is blurred at the client’s request
One of the vehicle photographs is published with the plate obscured because Elliot asked for it. Worth stating because it is the kind of request that gets forgotten between a conversation and a deploy.
See for yourself
namanjirinji.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
Phonex Taxi
Taxi and airport transfer service in Blantyre. A Next.js site with a booking system, set up to be found by people searching for a ride.
Read it →Prefer to talk? WhatsApp us.