04 / WEB & MOBILE · TRAVEL
Manzo
One booking backend, two clients. Flight search, comparison, payment and ticketing across web and mobile.


THE PRODUCT
Built around a real need.
Built with one collaborator, Manzo connects a Next.js web app and an Expo/React Native mobile app to a shared flight-booking backend. I contributed to web design, frontend and backend development, and primarily to the mobile backend.
- One-way, return and multi-city flights
- Shared search, pricing and ticketing APIs
- NGN payments and passenger information
MY CONTRIBUTION
From problem to working product.
Two-person collaboration · Web design, frontend & backend development · Primarily mobile backend
I worked with one collaborator on Manzo’s web and mobile flight-booking product. I contributed to the design and development of both the frontend and backend of the web application, and primarily to the backend supporting the mobile app. The breakdown below describes our shared project delivery, with both clients connected to one booking backend.
The customer journey
- Search flights
- Compare & price
- Enter passenger details
- Reserve & pay
- Issue ticket
01A focused flight-booking journey
The problem
Travellers needed a phone-friendly booking flow with clear NGN pricing, accurate passenger information and a usable itinerary.
What we built
We focused the product on a searchable, comparable, payable and ticketed flight journey across responsive web and native mobile. Hotel, ride and visa screens remain upcoming service shells rather than completed booking integrations.
02Airport search and complex travel dates
The problem
Airport-name ambiguity and invalid return or multi-city dates made search difficult to complete reliably.
What we built
We supported one-way, round-trip and multi-city searches, passenger counts and cabin classes. Airport lookup prioritises IATA codes for short queries. Calendar iterations improved return-date selection, progressive multi-city validation and narrow-screen positioning; mobile search also supports flexible dates.
03Results people can compare
The problem
Long result lists made it hard to judge price, duration, stops and baggage before booking.
What we built
We added Best, Cheapest and Quickest ordering, pagination, and filters for airlines, stops, baggage and travel times. Web uses expandable cards and a price matrix; mobile uses a bottom sheet for booking decisions. Cabin-aware NGN pricing carries into the payment total.
04One backend contract for two clients
The problem
Web and mobile needed a consistent search, pricing, reservation and ticket-issuance flow.
What we built
We connected both clients to shared Amadeus-backed flight endpoints. The flow searches offers, looks up prices, reserves a booking reference, takes payment through Paystack and issues the ticket. Shared field conventions and cabin normalisation keep the clients aligned with the backend.
05Passenger details and payment handoff
The problem
Passenger data needed to match travel documents, with consistent names, phone details and dates of birth across platforms.
What the project delivers
Together, we delivered a flight-booking journey spanning search, comparison, payment and ticketing on web and native mobile against a shared backend. My contribution combines web design and full-stack development with primarily backend work for mobile.
Remaining production priorities
- Add server-side search caching.
- Expand end-to-end tests for date selection and multi-city edge cases.
- Complete webhook-verified payment handling.
- Build out the deferred hotel and ride services; visa screens currently remain UI shells.
- Complete mobile store screenshots and listings.
THE TECHNOLOGY
How it comes together.
Web application
Next.js
Responsive flight search, comparison, passenger details, payment and printable itineraries.
Mobile application
Expo · React Native
Native flight booking with file-based routing and bottom-sheet results. My work focused primarily on its backend.
Backend
Node.js
Shared web and mobile booking APIs, hosted on Render and connected to Amadeus-backed flight services.
Database
MongoDB
The project’s database layer.
Payments
Paystack
Web and mobile payment integrations within the reservation-to-ticket flow. Webhook verification remains follow-up work.
Mobile release tooling
EAS Build & Submit
Mobile build profiles and submission configuration, with store screenshots and listings still to complete.