A warehouse fire ended monthly grocery distribution for immigrant families. We rebuilt the operation as an app before the building was replaced.
A fire destroyed the warehouse where Rebecca’s organisation distributed monthly groceries to immigrant families, and the paper allocation sheets that ran it. Distribution stopped. We built an invite-only app with family profiles, category browse across pantry, dairy, and poultry, Tuesday morning and evening pickup slots, and per-product limits that scale with household size and children. The admin sets the pickup location each week. Distribution restarted without a permanent building.
The clients run a Canadian community organization distributing monthly groceries to immigrant families from a single warehouse. The fire took the warehouse and the paper that ran it. She came to us wanting the operation digitized, and specifically wanting it to survive not having a permanent home.
Before the fire, a volunteer at a folding table checked a family off a printed list, counted out what that household was entitled to, and wrote it down. Families queued outside from early morning, because the queue was the only scheduling mechanism the operation had.
Rebuilding would take a year. Families needed groceries the following month. And the rules that kept distribution fair, more for larger households, certain items released only to homes with children, a hard cap on staples like potatoes regardless of family size, existed nowhere except in the volunteers’ heads and on paper that had burned.
The entitlement engine went in first. The catalogue, the cart, and the pickup confirmation all had to inherit the same rules rather than re-implement them, so we modelled three limit types on every product: a flat per-family cap (fifteen potatoes, whatever the household size), a quantity that scales with the number of people on the family profile, and a gate that releases an item only to households with children on file.
Registration stayed invite-only by design. We recognised the pattern from other allocation systems: open sign-up would have pushed staff into eligibility screening they were not resourced to do. An admin invite is the eligibility decision, made by someone who already knows the family.
Slots came before ordering. Tuesday morning and Tuesday evening, each capped, because a booked slot is what replaced the queue at the door and the capacity number is what tells the team how much to have on the shelf.
One mobile app for families, one web panel for the people running the distribution.
One squad ran the build, with the allocation rules written down for the first time in week two. We sat with the volunteers who had worked the folding table and turned their working knowledge into a limit matrix the admin panel could hold. The slot and inventory modules shipped first and were run as a rehearsal distribution before any invitation went out, because the first real Tuesday could not also be the first test.
Families book a Tuesday morning or evening slot, order against what is actually on the shelf, and see the pickup location for that week in the app. Staff open the order list knowing the count before anyone arrives, and every order closes as picked up or no-show.
The pickup location is now a field an admin updates, so a temporary site, a borrowed hall, or a rebuilt warehouse all work the same way without anything being reprinted or re-announced. Adding a product category takes a configuration change in the admin panel, and the allocation rules that used to live in volunteers’ heads are enforced at selection.
“We lost the building and I assumed we had lost the year with it. What I did not expect was being asked, in week two, to write down exactly how we decided who got what. Nobody had ever done that. It is the part the app runs on now.”
If you are turning staff knowledge into a system under a deadline you did not choose, we have done that translation.
Start the conversation