Neofortunity is a young 501(c)(3) focused on research and education, about a year old when I joined. The founders wanted a new way for people to learn from the organization and work with it. They also knew how most small nonprofits reach volunteers: a flyer on Instagram, a Google Form to sign up, a Saturday to run. That fills a morning but builds no relationship. People connect with the event on the flyer, not the organization behind it, so every sign-up starts from zero trust.
We agreed the iOS app had to do three things flawlessly: help volunteers find opportunities near them, let volunteers record hours and get them approved, and give donors a clear way to support the mission.
Before I drew anything, I audited an established volunteering app by hand and logged twelve findings. A view called Near Me showed events in other cities because the location setting was buried. The cancel action hid behind a vague label, two levels deeper than a high-stakes action should be. Navigation mixed verbs and nouns, so people had to stop and decode each tab. None of it was a bug. Each was a choice that made a stranger work a little harder to trust the product.
Those findings became three root problems, twelve requirements, and fourteen user stories. Every element of the information architecture had to serve at least one story, pillar, or persona need, which kept the product from growing features nobody needed.