Bail Fund CRM
Led end-to-end design for a CRM that helped bail funds coordinate community bail across 14 states.

Context
CZI's Justice & Opportunity team built tools for bail funds coordinating community bail. 10 days after I joined, the team was shut down. We had 16 weeks to wrap up work before spinning out to external partners.
Problem
Bail funds were tracking 200+ cases in spreadsheets—copying formulas, manually filtering rows, rebuilding reports every week. Power users needed access to all 79 case fields. Volunteers needed dead-simple views showing just 6 core fields. We had no time to build custom workflows for each organization.
Approach
I designed an 80/20 system: lock down the core data model and workflows, but make views and filters fully customizable. These workspaces allowed coordinators to save custom filter combinations, column visibility, and sorting with minimal configuration.
Solution

I built 5 features that let bail funds configure their own workflows without engineering support:
Workspace System
Pre-built views ("New Requests," "Court Dates In Next 7 Days") for novices, custom workspaces for power users. Funds could create views like "Cases by County" or "Bail Amount > $2,500" in under 5 minutes.
Multi-Field Filters
AND/OR logic on any field. Applied filters show as removable pills in the toolbar.
Column Visibility
79 fields per case, but you can toggle any of them visible/hidden. Coordinators see everything, volunteers just see the 6 core fields.
Court Appearances Dashboard
Separate view for tracking upcoming dates. Critical because missing a court date forfeits the bail.
Case Detail Page Redesign
Collapsible sections with jump links. Critical info stays visible, power users can drill down to all 79 fields.
Impact
I shipped 7 weeks early and the product still scaled 3x while the team was shutting down.