Nira
Nira is a mobile app that makes it fair and frictionless to split electricity costs among tenants sharing a prepaid meter — no more manual calculations, no more disputes, no more WhatsApp messages asking “who owes what?”
Fair by design
In Nigeria, millions of households share a single prepaid electricity meter. One person tops up. Everyone uses different amounts. And at the end of the month, someone — usually the most assertive tenant — decides how to split it.
That’s the moment Nira was built for. Not a spreadsheet. Not a WhatsApp argument. A calm, clear, fair breakdown every time.
“Enter meter readings. Nira does the math.”
I designed and built Nira from zero — product definition, UX, visual design, and the React Native codebase — bringing it to a fully working app on both iOS and Android.

The problem
Shared prepaid meters are ubiquitous in Nigerian cities — apartment blocks, compound housing, student accommodations. The top-up mechanism is simple: one person buys units and loads them. The problem is everything after.
When it’s time to settle costs, tenants are left with:
- No record of who used what
- No shared understanding of how the split was calculated
- No way to account for common areas like hallways or security lights
- Manual arithmetic that’s easy to get wrong and impossible to audit
The result: mistrust, disputes, and a recurring social tax on people who already have enough to worry about.
I lived this problem. The insight wasn’t just the math — it was the transparency. People don’t just want to know what they owe. They want to feel confident that the number is right, and that everyone else is seeing the same thing.

Designing the core flow
The core user is a household admin — the person who buys the units and organises the split. They already carry the cognitive load. My job was to make that load feel lighter.
The primary flow I designed:
- Create a household once, add tenants by name
- For each top-up, open a new billing session: log the amount paid and units purchased
- Enter each tenant’s meter readings — start and end
- Nira calculates the cost breakdown instantly
- Close the session to lock it as a permanent record
- Share the breakdown as a screenshot or formatted text message
The biggest UX challenge was meter reading input. The mental model of “enter a number from your card reader” is familiar to Nigerian users, but the flow needed to feel fast and forgiving. I designed auto-save on every keystroke (debounced at 800ms) so nothing is lost, and pre-populated each tenant’s previous reading from the last closed session — saving the admin a repeated lookup.
For shared utility areas (e.g., a hallway light everyone benefits from), I built configurable split logic: equal share, percentage, or a custom ratio like “3/5”. This edge case came up early in user feedback and almost always caused arguments in households that had it.

The moment that matters
The cost breakdown screen is the entire product. Everything else — auth, household setup, meter entry — is scaffolding for this single moment: seeing your name next to a fair, auditable number.
I designed this screen to show, per tenant:
- Units consumed
- Percentage of total usage
- Cost share in Naira (₦)
The hierarchy was intentional. Most tenants don’t care about the raw kWh number — they care about the Naira amount. But showing the percentage and units alongside it creates the legitimacy. It says: “here’s the number, here’s exactly why.”
Validation was equally important. If the units entered don’t add up to the total purchased, the session cannot be closed — a hard block enforced at both the UI and database level. The error is specific: “5.2 units unaccounted for.” Not just a red state, but a clear, fixable signal.
Transparency isn’t just a design value here. It’s the product.

Trust at the edges
A cost breakdown only resolves disputes if every tenant can see it. But asking all five tenants to create accounts is too much friction. So I built guest mode.
Every household generates an 8-character share code. A tenant opens the link, sees the full session history and their cost breakdown — no sign-up, no password, no friction. The admin manages the data; everyone else just reads it.
The share flow was the other trust surface. After closing a session, the admin can share a formatted text message or a screenshot of the breakdown card directly through the native share sheet. The text format was carefully written to feel neutral and factual — not like it came from one tenant making a case, but from a system everyone agreed to use.
These two features — guest access and shareable receipts — are what make Nira social infrastructure, not just a calculator.

Reflections
Building Nira taught me what it means to design something for a specific place and community. The constraints were real: low-end Android devices, inconsistent connectivity, users who are comfortable with phones but not necessarily with apps that ask them to think.
The math behind Nira isn’t complex. But designing it so that the math disappears — so that the interaction feels like a conversation rather than a spreadsheet — that took real work.
- Designing for trust means making the system legible, not just correct
- Reducing friction for the admin reduces conflict for everyone
- Guest access isn’t a nice-to-have when the product’s value is shared
- Validation UX should be specific enough to act on, not just to signal failure
Nira is a small product solving a real problem for a real community. That constraint made it sharper.