0%
Mobile FeatureAI FeatureSaaS

Searching and Filtering

Rethinking how users find reports, tasks, and actions on mobile, combining keyword search, AI-powered natural language understanding, and multi-layered filtering in a single experience.

Company

ecoPortal

My role

Product designer

Tools

Figma, Maze and Claude Code

Context and process

Finding content in ecoPortal's mobile app meant navigating through separate lists across different sections of the product. There was no unified search. Users working in the field looking for a specific incident report, a task assigned to them, or a compliance checklist, had no fast path to get there. The project started from a simple brief: build search, and make it good enough to become one of the main navigation entry points in the app.

Understanding how users actually look for things

Before designing a single screen, the project started by mapping how different user types retrieve content, whether by memory of a title, by ownership, by date, or by type. That mental model shaped the entire information architecture of the search experience.

Term, short query or full sentence

Early on it became clear that typing "Incident" and typing "Show me the latest incident reports I filed this week" are fundamentally different interactions. Both needed to work, one through fast keyword matching, the other through AI interpretation.

A screen that works before you type

The empty state was treated as a design problem, not a blank canvas. Saved searches, recently opened items, quick shortcuts, and recent search history all surface on load, so the search screen becomes a useful navigation hub even without any input.

Key decisions

Results grouped by content type

Search results are organised into sections: Pages, Actions, and other content types. Rather than one flat list, grouping lets users scan by the category they care about and quickly jump to "see all" for a specific type without losing the broader context of what matched.

Skeleton loading as a trust signal

The loading state uses skeleton cards that match the shape of real results rather than a generic spinner. In a safety context where users depend on the app during incidents, communicating that the system is working reduces uncertainty.

Rich result cards that reduce need to open

Each result card surfaces enough context, category, location, assignee, date, stage, that users can often confirm they found the right item without opening it, reducing navigation depth for users scanning through multiple results.