← Work

Tulo

A guide to real places to sleep in Zambia. Real photos, exact pins, real availability, and every place checked by a person.

RoleFounder and engineer. Backend, iOS, admin and property portal.
StackGo, Postgres, Swift and SwiftUI, Next.js, Mapbox.
StatusLusaka pilot. Free on iPhone, Android in testing.

The problem

Finding a room in Zambia means a WhatsApp number that may not answer, a price that changes at the gate, and photos that belong to a different building.

The international booking platforms do not have the inventory, because the inventory was never online. The lodges and guest houses that people actually stay in are discovered by word of mouth, and priced in person. Tulo starts with the one question that matters first, which is where you will sleep tonight, and grows out from there into the amenities nearby.

Decisions

Verified by a person, not scraped

Anyone can suggest a missing place, but nothing publishes until an admin verifies it. That caps how fast the map grows and it is the entire reason the map can be trusted. Coverage is the easy metric; being right is the product.

Pay the property, not the platform

You reserve in the app and pay the room at the gate, by Airtel Money or MTN MoMo. Tulo only charges the reservation fee. Holding card details for a market that runs on mobile money would have meant building the wrong thing beautifully.

No account to browse, no ad tracking

The map works before you sign up. A sign-up wall in front of a question as urgent as tonight's bed is a way of losing the user you were built for.

One Go API behind every surface

The iOS app, the admin dashboard and the property portal all read and write through a single Go service over Postgres. One place for the rules about what a verified place is, and what a reservation means.

What shipped

iOS appSwift and SwiftUI. Map-first discovery, place detail, reservations. Free on the App Store.
BackendGo and Postgres. Public discovery endpoints, admin authentication, reservation and booking state.
Admin dashboardNext.js. Adding, editing and reviewing pinned places, and working the queue of user suggestions.
Property portalA PWA for property staff: inventory and the booking queue, usable on whatever device reception already has.
Marketing sitetulo.homes, where the promise is stated plainly enough that a lodge owner can decide in one screen.

Happy to walk through the architecture, the verification pipeline, or anything else here.

Get in touch