Redesigning a mobile app where one input error voids legal work
The cost of inconsistency
Thousands of process servers rely on Proof to complete time-sensitive legal work in the field. The mobile app supports claiming, managing, and completing service jobs uploaded by firms, where clarity, reliability, and speed directly affect real-world outcomes.
But rapid growth outpaced our ability to maintain that clarity. Patterns, hierarchies, and interactions shifted with each release, reflecting a process optimized for execution speed over consistency.
This heavily affected areas like attempt recording, where a single input error could invalidate an entire service and render the affidavit legally void, forcing ops teams to manually verify submissions. Tickets climbed, turnaround times slowed, and trust with firms eroded.


An example of the old attempt form, featuring the universally hated rotary dial.
We felt the same friction in job discovery and job details. Buttons competed for attention, information density obscured what mattered, and feedback was either overwhelming or missing entirely. Servers wasted time parsing information that should have been instant, costing them opportunities in a competitive market.




Job offers compounded the issue, infamously bringing work to a halt. Full-screen takeovers forced immediate decisions, broke concentration, and made it impossible to compare opportunities.


The offer screen, front-and-center.
Setting boundaries
We rebuilt the app in six months, without pausing releases or dropping support for legacy devices. We focused on improving the highest-impact workflows first: discovery, offers, and attempt recording.
Three simple directives guided our work:
Consistency over one-offs. Build muscle memory and trust through shared patterns.
Clarity over density. Surface primary actions and make the next step obvious.
Feedback, not noise. Confirm intent and communicate progress without distraction.
Addressing the core flows
Explore was the natural starting point; servers land there first and use it most. With dozens of jobs claimed daily, we had to balance form with muscle memory.
I redesigned the job card to surface information by priority: price first, followed by badges indicating job properties, then address for quick orientation.
The claim modal now communicates responsibilities up front, and servers land directly on the job details page for immediate access.


Claiming a job from the redesigned Explore screen.
Job offers came next. Full-screen takeovers were replaced with a collapsible drawer that appears regardless of app location. This preserved momentum, reduced interruption, and allowed servers to compare opportunities without breaking their flow.


Accepting an offer via the new collapsible drawer.
Finally, attempt recording. We kept the familiar three-step structure but shifted the layout from left-right to top-bottom for easier scanning and a clearer sense of progression. The rotary dial was replaced with our shared drawer component, bringing this critical flow in line with the rest of the system.


Recording an attempt with the updated layout.
Weighing the outcome
We launched without formal event tracking, but the impact was clear both qualitatively and operationally.
Servers described the redesign as cleaner, less overwhelming, and easier to navigate. Many pointed to clearer pathways to key actions, reducing friction during everyday use.
Operationally, submission errors declined, and ops received fewer tickets tied to invalid attempts. Information became easier to scan, leading to faster job evaluation. At-risk partnerships stabilized as turnaround times improved, and the design system established a foundation that could support continued growth without compounding design debt.




