← All work Case study · Founding engineer · 2026–now
Hut Yangu
A property app for Kenya. Renters browse homes neighbourhood by neighbourhood in a social-style feed with video tours, chat with listers, and see trust signals instead of scrolling classified ads.

Finding a rental in Nairobi often means classified sites full of stale or fake listings, agents who don't reply, and viewing fees for houses that don't exist.
Renters need to see real homes and know who they're dealing with. Honest listers need a way to stand out.
I'm the founding engineer and wrote almost all of the code: the web app, the mobile app, the database and its security rules, and the backend functions.
Problems I solved, and how
-
One backend for web and mobile
- Problem
- Two apps with separate backends would mean every rule, and every security bug, exists twice.
- Approach
- The Next.js web app and the Expo mobile app (35 screens) share one Supabase backend. Access is enforced in Postgres with row-level security on every table, about 150 policies, so a rule fixed once is fixed for both apps.
-
Search that reads plain queries
- Problem
- People search the way they talk: "2 bedroom in Kilimani under 30k". Filter forms on a phone are slow.
- Approach
- A parser turns the query into filters for bedrooms, area and budget, results are ranked, and the search widens step by step when nothing matches. I used rules instead of an LLM because for this job they're faster, cheaper and predictable.
-
Moderation one bad actor can't trigger
- Problem
- If any user can flag a listing down, a competitor can bury honest listers.
- Approach
- Only flags from viewers with a verified visit count. Two such flags send a listing to review, and one severe flag suspends it. It runs as a database trigger with a guard against recursion.
-
Chat with read receipts, without a chat vendor
- Problem
- A third-party chat SDK adds cost and another place for user data to live.
- Approach
- Threads, messages and reactions live in Postgres. Each member has delivery and read cursors that are updated through a single secured function, and push notifications confirm delivery.
-
AIReadable by AI assistants
- Problem
- More people will search through AI assistants, not just browsers.
- Approach
- The site publishes an MCP server card and WebMCP tools so assistants can look up listings. It's an early version that returns sample data for now.