Inspiration

I am a mum of two young children, and Ụdho grew out of the everyday mental load of running a busy home.

Too much depended on one person remembering everything: what we had, what was running low, what had expired, what was spoiling in the fridge, what needed to be bought, and where each item was stored.

The problem was not always that supplies had completely finished. Often, something was already running low, but nobody recorded or reported it early enough. A bulk shopping trip could happen at a faraway market, only for me to hear the next day that a staple such as garri was almost finished. At other times, I would plan breakfast and discover there were not enough eggs, even though someone had passed shops the previous day and could easily have picked some up.

At the same time, food could be forgotten in one of several fridges, freezers, or storage areas until it expired or spoiled.

I realised that the home did not need another notebook that only I would remember to update. Mum brain is real, but no single person’s memory should be the household’s only inventory system. It needed a shared system that could make low stock visible early, reduce waste, improve shopping decisions, and preserve a simple history of what came in, what was used, where it was stored, and by whom.

So I started building what I initially called HomeOS. As the product became more personal and rooted in the home it was designed for, I renamed it Ụdho, the Ekpeye word for home. Ụdho is a shared operating system for the everyday work of running a home.

The goal is not to make family life feel like a warehouse. It is to reduce the invisible mental load behind keeping a household supplied, organised, accountable, and less wasteful.

What it does

Ụdho gives a household one shared place to manage supplies and activity.

It allows users to:

  • record household items and their quantities.

  • organise stock across specific locations, such as the pantry, refrigerator, or deep freezer.

  • record when items are bought, restocked, moved, or used.

  • preserve who performed each action.

  • monitor low-stock items and build more accurate shopping lists.

  • support household units such as pieces, kilograms, cups, mudu, custard buckets, cartons, and packs.

  • use the system from phones, tablets, or computers connected to the home network.

  • maintain a shared database while allowing each device to temporarily select the person currently using it.

Ụdho is designed for real households where several family members and domestic staff may interact with the same supplies.

People are recorded as people, not permanently tied to job titles. Staff can become inactive when they leave while their earlier activity remains historically accurate. This keeps the audit trail useful without rewriting the past.

How I built it

Ụdho is a Django web application with a shared household database and a responsive interface designed primarily for tablets and mobile devices.

I built the product around actual household behaviour rather than beginning with a generic inventory template. The data structure reflects real decisions such as:

  • whether an item belongs to the kitchen pantry or a particular freezer.

  • whether chicken should be recorded by type, weight, or quantity.

  • whether rice should be measured by kilograms, bags, mudu, or the cups actually used for cooking.

  • how to prevent duplicate people caused by spelling, spacing, or capitalisation.

  • how to preserve historical records when someone’s role changes.

  • how each device can remember its current user without changing the selected person on every other device.

I used Codex as an engineering collaborator throughout the build. It helped me translate product requirements into Django models, views, templates, validation rules, tests, and interface improvements. I reviewed the output, tested it against real household workflows, identified where the behaviour did not match reality, and continued refining it.

During Build Week, I used Codex to extend the original inventory foundation into a broader household operations system. I added responsive shopping workflows, clearer roles and permissions, shared activity tracking, improved tablet and mobile use, and the Ụdho Restock Assistant. The assistant turns pasted shopping notes or receipt images into structured restock suggestions, but every row remains editable and inventory changes only after explicit human confirmation. The GPT-5.6 provider integration is implemented in the application. For reliable judge testing without requiring an API key or exposing private household information, the repository also includes a deterministic demo provider and sanitised demo data.

The product decisions remained grounded in direct use: I entered real categories, storage locations, units, and stock activity, then watched where the system created friction.

Challenges

One of the hardest parts was recognising that household inventory is not simply a smaller version of retail inventory.

Homes are less predictable.

A carton may contain several individual units. A bag of food may be purchased by weight but consumed by cups. The same product can exist in more than one storage location. One person may purchase an item, another may store it, and another may use it. Users also need speed: nobody wants to complete a long form each time onions leave the pantry.

The interface therefore had to balance accountability with ease of use.

Another challenge was designing for different screens and different levels of technical confidence. A laptop has room for several controls, but those same controls can crowd a phone. Shared tablets also need clear person-selection and reset behaviour so that one user’s identity is not accidentally attached to another person’s action.

During development, I also encountered practical engineering issues such as database locking, stale local processes, session behaviour, responsive layouts, and ensuring that interface fixes did not break existing workflows. Testing became especially important because a small change in one area could affect stock history, shopping lists, imports, or device behaviour elsewhere.

Accomplishments that I am proud of

I am proud that Ụdho is not only an idea or a design mock-up. It is a working application being tested inside the environment it was created to serve.

It already supports real products, people, locations, quantities, imports, stock activity, and responsive household workflows.

I am also proud of returning to Django years after attending a Django Girls workshop in Abuja in 2018. I did not follow a traditional path into technology, but the seed remained. Ụdho brought me back to building, this time with a problem I understood deeply and a product I genuinely wanted to exist.

What I learned

I learned that the best product requirements often hide inside small household complaints.

“Who finished this?”

“Do we still have rice?”

“Which freezer is it inside?”

"How could you use the last salt and forget? Salt is used daily!"

“Why is this on the shopping list when we already bought it?”

Each question points to a missing piece of structure.

I also learned that building with AI still requires clear human judgement. Codex can accelerate implementation, debugging, and testing, but it cannot decide what a well-run home should feel like. I had to supply the context, challenge assumptions, test the details, and repeatedly bring the system back to the needs of the people who would actually use it.

Most importantly, I learned that software does not have to begin with a grand industrial problem. A home is already a complex organisation. It has people, resources, routines, handovers, purchasing, storage, consumption, and memory. It deserves tools designed for its reality.

What's next for Ụdho

Ụdho is beginning with household inventory, but the larger vision is a private, practical operating system for the home.

Future modules may support routines, maintenance, household tasks, meal planning, family information, and other shared responsibilities. The goal is not to collect complexity for its own sake. Each addition must reduce confusion, preserve useful history, and make daily household coordination lighter.

A well-run home should not depend on one person carrying the entire system in their head.

Built With

Share this project:

Updates