HIGH story-contact-list-search-coordinator-004 3 pts
3
Story Points
High
Priority
Contact List & Search
Feature

User Story

As a user
I want to open a filter panel and narrow my contact list by status, area, or custom fields
So that So that I can quickly focus on a specific subset of contacts without manually scanning the entire list

Acceptance Criteria

  • Given a user is on the Contacts screen, when they open the filter panel, then they see options to filter by status, area, and available custom fields
  • Given a user applies a status filter, when the filter is active, then only contacts matching the selected status are shown in the list
  • Given a user applies multiple filters simultaneously, when results are displayed, then only contacts matching all active filters are shown
  • Given a user has active filters, when they view the filter button, then a visual indicator shows that filters are active
  • Given a user clears all filters, when the action completes, then the full unfiltered contact list is restored
  • Given filters are applied, when the Contact Search Service queries Supabase, then the filters are enforced server-side in addition to client-side rendering

Business Value

Filtering is essential for coordinators managing hundreds of contacts across large organisations such as NHF (1,400 local branches). Without filtering, finding peer mentors with a specific status or in a particular area requires manual scrolling, which is both time-consuming and cognitively demanding. Effective filtering directly reduces administrative overhead and enables coordinators to act faster on tasks like matching mentors to assignments or following up on paused mentors.