UX CASE STUDY  ·  PRODUCT DESIGN  ·  NONPROFIT  ·  MOBILE APP

Good Help Local Support, Within Reach

An end-to-end mobile resource hub for essential community services across Santa Barbara County — designed for urgency, unreliable connectivity, and real-world stress.

Good Help app on three phone screens — map search, category browse, and shelter detail

OVERVIEW

The Brief.

My Role
Product Designer
Team
7 Designers
Design Manager
Project Manager
Timeline
May – August 2025
Tools
Figma · Notion · Slack

Good Samaritan Shelter provides emergency housing, recovery programs, and long-term support across Santa Barbara County — a region known for affluence that has faced persistent homelessness for decades.

I joined a cross-functional pod of seven designers to create Good Help: a mobile app that consolidates 55 scattered programs into a single, discoverable, stress-aware experience — one that works with or without internet and supports time-sensitive decisions.

I owned the service discovery architecture and led the tracks within it: accessibility, offline behavior, and map feasibility.

MY CONTRIBUTIONS

Service Discovery Architecture
Accessibility & Touch Targets
Offline-First States
Technical Feasibility (Maps)

THE PROBLEM

The help was there.
It just wasn't in one place.

Good Samaritan Shelter runs dozens of programs across the county, but reaching the right one, checking program availability, or finding help in a crisis meant navigating service information that was never in one place.

RESOURCES SPREAD ACROSS

Spreadsheets
Web pages
Internal docs

Lack of awareness

Many people never learned the full range of services GSS offers; programs existed that the people who needed them couldn't see.

Delayed updates

Time-sensitive changes, shelter availability, and program updates weren't reaching people quickly enough to act on.

Scattered organization

With no shared structure, what someone found depended on where they happened to look, not on what they actually needed.

RESEARCH & DISCOVERY

Research designed
to do no harm.

Direct interviews with unhoused individuals were intentionally avoided as introducing research during a crisis risks harm, coercion, and emotional burden. The constraint shaped the method, not the depth.

WHY NO DIRECT INTERVIEWS

GSS clients are often navigating housing instability, recovery, or crisis. Instead, we reviewed paper surveys collected by the GSS website team and interviewed shelter employees as proxy users — staff who help clients locate services every day. Real workflows, zero added burden.

Research surfaced four patterns that shaped every decision that followed:

Shelter comes first

Access to shelter is consistently the first priority. The fastest path to housing-related programs had to anchor the entire discovery experience.

Connectivity isn't guaranteed

Many individuals lack consistent internet access. Anything critical had to survive a dead connection; offline wasn't an edge case.

Low digital literacy is the norm

Most existing tools assume confident, fluent users. Every screen had to work for someone using it for the first time, under stress.

Guidance beats exploration

Step-by-step direction matters more than open-ended browsing when locating resources. The flow had to lead, not just list.

DESIGN STRATEGY

Six features scoped.
One core to get right.

Research and client requirements defined a six-feature MVP. Most of them depend on one thing working first — that a person can actually find the service they need.

Service Finder

Core

Alert Center

Offline Mode

Urgent Help

Onboarding

Saved Resources

The team's focus: making 55 programs findable.

Service Finder was the heart of the product — the feature the other five lean on. Three of us designed it together, covering browse, search, and map discovery across Santa Barbara County.

D
D
A

A three-designer feature.

WHERE I WENT DEEP

SHOWN IN

Discovery architecture

UP NEXT

Accessibility & touch targets

DECISIONS

Offline states

DECISIONS

Map feasibility

DECISIONS

THE ARCHITECTURE

55 programs that
refused to sit in a tidy tree.

I owned the discovery structure — translating a messy Excel dataset of 55 programs into a navigable system. The hard part wasn't the levels. It was that real programs don't each have one clean home.

The clean answer — county-level discovery down to a single program:

Level 01
County
Level 02
Department
Level 03
Service
Level 04
Program

SPOTLIGHT · THE HARD PART

One program, many homes.

A program that offers several services has to appear under every one of them — reached from any path, but always the same single record.

Service
Housing Support
Service
Veteran Services
Service
Community Outreach
Diagram: Housing Support, Veteran Services, and Community Outreach cards all connecting to one program record, SSVF
ONE PROGRAM · E.G.
SSVF

One example of many — across 55 programs, cross-listing was the rule, not the exception.

Surfaces under every service it offers — from one source record, never a duplicate.

Handles uneven depth — some paths run four levels, some honestly say "no services yet."

Scales past 55 — new programs slot into the hierarchy with no redesign.

VISUAL EVOLUTION

Iterating toward clarity.

Three phases — from structure-first sketches to a refined interaction system, with friction surfaced and fixed before visual polish.

READING THESE SCREENS

All three phases show the same step — choosing a department — so you can watch one pattern move from raw structure to a finished, standardized component.

Low-fidelity screen with five placeholder rows labeled "Department" under "Type of Help"
PHASE 01

Structure first

Placeholders only

Low-fidelity layout with placeholder rows, no color, and no real icons — proving the structure and navigation held up before any polish.

Mid-fidelity screen labeled "Select Type of Help" with five category rows and monochrome icons
PHASE 02

Real but rough

Not yet systematized

Real chrome, content, and icons arrive, and tap zones get tuned — but the icons stay mono and the label ("Select Type of Help") is still jargon.

Hi-fidelity screen labeled "Choose a department" with five category rows and tint-fill icons
PHASE 03

A standardized system

Reusable component

The finished pattern: plain instruction ("Choose a department"), tint-fill category icons, locked type, and clear tap targets — built once, reused everywhere.

TESTING & ITERATION

Tested with
the people who help.

Mid-fidelity prototypes were validated with GSS employees as proxy users via Figma and UserTesting.com — grounding feedback in real service-delivery workflows.

SAME DO-NO-HARM APPROACH AS RESEARCH

Validated with staff who route these services daily, never people in active crisis. The constraint shaped the method, not the depth.

WHAT WE HEARD

WHAT WE CHANGED

List ↔ map connection was unclear

Some users couldn't tell how the two views related.

Strengthened the visual affordances linking list and map.

Hierarchy drove decision speed

Staff knew exactly what order helps someone qualify fast.

Reordered service content: services → eligibility → description → steps.

Action priority mattered

In urgent moments, calling beats navigating.

Made Call the primary CTA, with Directions alongside.

Offline expectations were fuzzy

Users wanted to know what would survive a lost connection.

Clarified offline messaging across cached and empty states.

FEATURED — SERVICE PAGE REDESIGN

One page, re-sequenced for faster decisions.

01  Tested
02  Re-sequenced
03  Validated

BEFORE — THE FRICTION

Before: Call grouped with Directions and Download in a row below the shelter's location; hours, eligibility, and services listed further down the page
1
A global search bar stole focus

It competed with evaluating the resource the user had just opened.

2
Actions hid in a scroll row

Call sat in a horizontal scroll, equal-weighted with everything else.

3
Key info appeared too late

Services and contact details sat far down the page, slowing decisions.

AFTER THE FIX

After: Call set as a full-width primary button near the top, followed by Directions; eligibility and services offered moved higher on the page
1
Search removed

Focus stays on the selected service — nothing competes with the decision.

2
Call promoted to primary

Call leads with Directions alongside; Bookmark, Download, and Share drop to a "Save it" row.

3
Content re-sequenced

Services → eligibility → description → steps — the order that qualifies someone fastest.

DESIGN DECISIONS

Every decision
assumed urgency.

Four decisions I owned, each shaped by the same question: does this still work for someone stressed, rushed, and possibly offline?

01

Invisible 48×48 touch targets

I proposed wrapping smaller interface elements in invisible 48×48 frames — accessible tap zones without inflating the visual size of components. After validating against platform guidelines with the design manager, the pattern shipped across every interactive element.

Comfortable taps on small screens, even in dense layouts.

Visual compactness preserved, no oversized UI.

Consistent interaction behavior across navigation and actions.

Annotated card showing a 48-pixel invisible touch-target frame around the download and bookmark icons

Annotation overlay for the case study — not the shipped UI.

Offline mode banner over a still-browsable list of previously cached shelter services
Cached services
Offline mode banner over cached search results for "Jobs"
Cached search
No-internet empty state with a cloud icon, a Reconnect button, and a View FAQs link
No cache
02

Offline as three states, not one

I independently explored and prototyped offline behavior. Rather than a single "no internet" wall, the system meets people where their cache is — three distinct levels of offline access.

Cached services — previously viewed programs stay browsable in list and map.

Cached search — recent searches remain available offline.

No cache — first-time users get a clear state explaining limits.

03

Google Maps, restyled — not rebuilt

I proposed Google Maps over a custom mapping system and ran the feasibility research to confirm the SDK could support the product's needs. Familiar interaction patterns stayed; the effort went into making the map feel native to Good Help.

Map controls and overlays styled to the GSS color, spacing, and type system.

Map pins open the app's own service card — not Google's default info window.

Engineering effort saved for the discovery experience itself.

Restyled map with a pin selected, opening the app's own service card instead of Google's default info window

THE SOLUTION

Help you
can actually find.

The final Service Finder prototype — the architecture, accessibility patterns, and offline behaviors working together. Four flows, shown in motion.

01

Browse by category

Users explore resources through the department hierarchy, expanding service cards to preview program information without leaving the list.

02

Discover on the map

Map view surfaces nearby services; tapping a pin previews details through the same card component used everywhere else.

03

Search in seconds

Keyword search cuts straight through the hierarchy when someone already knows what they need.

04

Works without internet

Previously explored programs and recent searches stay reachable offline — critical information survives the moments that matter most.

THE IMPACT

Designed for real scale.

Currently in development with Good Samaritan Shelter — the work below is what the design is built to deliver once live.

5,000+

PEOPLE GSS SERVES A YEAR

The population this app is built to serve — improving access to shelter and essential programs countywide.

55

PROGRAMS UNIFIED

Previously scattered services, now restructured into a single discovery system people can actually search.

Offline-ready

EXPERIENCE

Built for urgent decisions on unreliable connections — cached services, cached search, and a clear fallback.

"We asked the team to create something that didn't exist anywhere. With the blueprints they created, I'm confident our app builder can quickly turn the vision into a working reality."
MICHAEL COX — BOARD MEMBER, GOOD SAMARITAN SHELTER

REFLECTION

What this project
taught me.

IA must scale across service networks

Structuring 55 programs meant balancing discoverability, hierarchy, and cross-listed services — architecture that grows without breaking.

Crisis contexts reorder priorities

Clear navigation, large targets, and fast access to information outrank visual density when someone is deciding under stress.

Offline resilience is a product feature

Connectivity can't be assumed. Cached data strategies and honest empty states are design work, not engineering afterthoughts.

Collaboration sharpens decisions

Proposals got stronger through the design manager, stakeholders, and the pod — user-centered and technically feasible, together.

Previous — IAGD
Next case study
GramCity
A five-day solo design sprint for a photo-op discovery feature.
CONTENTS