FOIA Request Workflow
A state-driven workflow for FOIA, open-records and patient-referral requests from intake to fulfilment.
- Role
- Product Designer
- Timeline
- 8 weeks
- Platform
- Web App · React
- Year
- 2025
RecordFlow handles FOIA requests, open-records requests and patient referrals, each with its own multi-stage lifecycle. I designed a workflow that keeps every request legible as it moves through as many as nine statuses.
What wasn't working
Requests spanned legal deadlines, multiple parties and strict compliance steps, but the tooling didn't make the current state or next action obvious. Things slipped.
What success looked like
- Make the current status and next action unmistakable at any moment.
- Unify three request types under one coherent workflow language.
- Route users to the right screen based on state, not a generic dashboard.
What I learned first
- Mapped all nine referral statuses and the transitions between them.
- Identified the deadlines and hand-offs where requests most often stalled.
The hard parts
- One workflow that fits FOIA, open-records and referrals without feeling generic.
- State-based routing that always drops users exactly where they need to act.
How I worked through it
- 01
Model
Defined a shared status vocabulary and the legal transitions between states.
- 02
Route
Built state-based routing so the app opens on the step that needs attention.
- 03
Clarify
Designed status pills and timelines that read the same across every request type.
Structure before surface
Storyboarded a single request across its whole lifecycle to find where clarity broke down.
The path a user takes
- 1Request is intook and classified by type
- 2System routes it to the correct current stage
- 3Owner acts; status advances with clear deadlines
- 4Request reaches fulfilment with a full audit trail
Where it landed
A workflow where a complex, deadline-bound process feels like a series of obvious next steps, never a guessing game.
What changed
- 9
- Referral statuses unified
- 3
- Request types on one workflow
- State-based
- Routing to the right action
What I took away
- Complex workflows become simple when the next action is always obvious.
- Shared status language beats bespoke screens for every request type.
Deadlines and compliance make this a high-stakes flow. Designing calm into something that legally can't slip was deeply rewarding.