ux-proofsheet · competitive design review · sample

Mobile Home — Field Service App

Source: Design Refresh › “Home” · Competitor set: Jobber, Housecall Pro, Stripe, Deel · Generated 30 Jul 2026
A clear step up on hierarchy — the money-owed hero and reordered modules put decisions before shortcuts. Most issues are copy and token hygiene, not structure.
Competitive position: On par → slightly ahead of the field-service market on information hierarchy; behind on copy consistency.
2 High 4 Medium 2 Low 3 Fix before share
Navigation & IA4
UX copy2
Visual & tokens3
Accessibility3.5

The design under review

12:30●●● ▮
☰
Locksmiths
▾
◔
Good morning, RitwikFri, 22 May
You're owed
$3,892
7 open invoices · 2 overdue
Send remindersCollect
Needs attention 4Show all
2 disputes · $2,322
Respond within 7 days to avoid auto-loss
IgnoreReview disputes
Shortcuts
▤
Create invoice
$
Quick collect
≣
Create estimate
⛭
Create job
Pending invoicesSee all
Sam Altman
Apr 22, 2026
$232.23
7d overdue
Sam Altman
Apr 22, 2026
$232.23
7d overdue
What it is. The proposed home for a field-service app, reordered around money and decisions. Below, each finding shows a recreated crop of the exact element and links straight to that layer in Figma. (Sample recreations; a live report builds these from the design's tokens. Real pixels: Open in Figma ↗ / Mobbin View ↗.)

What's working

  • Priorities before shortcuts. Money-owed and “Needs attention” sit above the create-actions — decisions outrank tools. This is the right call and matches Jobber/Stripe.
  • Money-first hero. Leading with what you're owed is a deliberate, defensible differentiator for an owner audience (keep it — see D2).
  • Inline team switcher. Moving the switcher into the header resolves the team's own canvas note about the old popup — good response to feedback.

UX copy & terminology

C1“Ignore” on a financial-dispute alert is harsh — it tells the user to walk away from money owedHIGH
Element · C1
2 disputes · $2,322
Respond within 7 days…
IgnoreReview disputes
Pairs Review disputes with Ignore — which reads as dismissing money at stake.
Fix
Use Dismiss or Not now — non-destructive, keeps the safe action primary.
Backs
Deel uses Pay / Review; Klarna frames overdue alerts empathetically (benchmark).
Layer
Open in Figma ↗ · 575:4638
C2“Quick collect” breaks the verb pattern of the other actionsMEDIUM
Element · C2
Create invoice
Quick collect
Create est.
The other three read Create invoice / estimate / job; Quick collect breaks the pattern and is ambiguous alone.
Fix
Consider Collect payment for parallelism and clarity.
Layer
Open in Figma ↗ · 575:4616

Visual & design tokens

D1Misspelled token names will ship into codeHIGH
Bound vars
outline-deafult
nuetrals/white
text/header
brand/blue
Variables on this frame include outline-deafult and nuetrals/white — they flow straight into generated CSS and are painful to rename later.
Fix
Correct to outline-default / neutrals/white in the library before the refresh propagates.
Layer
Open in Figma ↗ · 529:14090
D2Money-owed hero is a deliberate divergence — keep itLOW
Element · D2
You're owed
$3,892
7 open · 2 overdue
Most field-service homes lead with the schedule; this leads with a You're owed $3,892 hero.
Note
Differentiator Money-first is the consumer-fintech move (Afterpay, Revolut) and a defensible edge for an owner audience — protect it, don't normalize it away.
Layer
Open in Figma ↗ · 529:14078

Pre-review blockers — placeholder data

P1–P3Dummy content that will distract stakeholdersFIX BEFORE SHARE
Pending invoices
Sam Altman$232.23
Sam Altman$232.23
Sam Altman$232.23
Every invoice row reads Sam Altman · Apr 22; the leaderboard lists Arlene twice; badges carry trailing whitespace. Not design flaws — but reviewers fixate on them. Swap in varied, realistic data first.
Layer
Open in Figma ↗ · 575:4842

Accessibility (WCAG 2.1 AA — computed)

A1Disabled/meta grey fails AA for normal textMEDIUM
Contrast · A1
Apr 22, 2026
#798087 on #fff
Computed from your tokens: #798087 on #fff = 4.0:1 — fails AA for normal text (needs 4.5:1); passes for large/UI only. The overdue-red #b50012 on #ffe8ea = 6.05:1 is fine.
Fix
Darken the meta/disabled grey to ≥ #767676 (4.54:1 on white) or reserve #798087 for large text only.
Layer
Open in Figma ↗ · 575:4820

UX copy matrix

Element / your stringDeelKlarnaJobberRead
Disputes secondary CTA: Ignore Review Not now — Harsh vs constructive — backs C1
Shortcut tile: Quick collect — — Collect payment-style verbs Breaks Create-* parallelism — backs C2
Hero label: You're owed — Afterpay: Total owed Schedule-first homes Differentiator to protect — backs D2

Benchmark — real apps

✓ Evidence from Mobbin. Inline visuals are recreations of the relevant element; open View ↗ for the real screen. Includes direct competitor Jobber. (Placeholders in this sample.)
Jobber
Jobber View ↗
“Business health” groups Quotes / Jobs / Invoices, each with a trend pill.
Backs: business-overview layout · note Jobber labels the tab “Schedule”, not “Jobs” (counter-evidence)
Deel
“Upcoming actions” card whose buttons read Pay / Review — constructive, never “Ignore”.
Backs: C1 (verb choice on the disputes card)
Afterpay
Afterpay View ↗
“Total owed $38.28” as a big-number hero with one primary action.
Backs: D2 (money-owed hero — the differentiator)

Prevalence — what the design already matches

Pattern in your designApps that do itPrevalence
Bottom tab bar (5 tabs)Jobber, Housecall Pro, Square, most SMB appsuniversal
“Needs attention” stack on homeAmazon, Deel, Remotecommon
Money-owed hero as the first moduleAfterpay, Revolut (rare in field-service)rare

Prioritized next steps

  1. Swap placeholder data for realistic content before any stakeholder review (P1–P3).
  2. Reword “Ignore” → “Dismiss / Not now” on the disputes card (C1).
  3. Correct the misspelled tokens in the library — deafult / nuetrals (D1).
  4. Align the shortcut verb — “Collect payment” (C2) — and keep the money-owed hero (D2).

Share summary

Recommended follow-ups

Sibling skills:
  • design:ux-copy — a full voice/tone pass; C1/C2 are the worst offenders, but the greeting, promos, and empty states want a consistent voice.
  • design:accessibility-review — a complete WCAG audit; this pass computed contrast only (A1).
  • design:design-system — token consolidation; misspelled/duplicate values (D1).
Continue in this chat: dig into C1 · only Jobber · re-run copy · Quick on empty state
Illustrative sample generated by ux-proofsheet (Full mode). Design mock and per-finding crops are HTML recreations from design tokens; permanent Mobbin + Figma links carry the real pixels. Content is fictional; app names are real public products used as benchmark references. Scores anchored in the findings above.