Part 1 · Problem analysis
Problem breakdown, assumptions, questions, and the evidence treated as fact.
A prioritization problem, not a calendar problem: a mobile-first overview that starts with Budapest's overdue translation, then lets Priya see every document without losing her place.

One action hierarchy across Safari and iPhone. Safari 26 mockup by DesignBolts under CC BY 4.0; iPhone 16 Pro frame via Apple Developer Resources.
60-second brief · Submission, at a glance
Priya doesn't need four progress cards. She needs one named next action, why it matters, and what remains everywhere else.
More information looked reassuring. The missed deadline made one defensible next action the priority.
Problem breakdown, assumptions, questions, and the evidence treated as fact.
Three structures tested on real data, with why each rejection failed.
A mobile-first overview, working state changes, and three-tier tokens.
Three screens teach phases, lead time, and next-action priority.
Priya applies to Riga, Budapest, Pilsen, and Zagreb: same four phases, different deadlines and exceptions. A reminder can say something is late; it can't rank what matters across four applications.
Risk-first feels less reassuring than progress-first. I accepted that because hiding the missed deadline would be calmer and less useful.
On March 10, the right first answer isn't a percentage. It's Budapest's translation, due March 1, nine days overdue.
All 5 documents submitted
Exam registration · Mar 20Certified translation missing
Documents · Mar 1Translation in progress
Documents · Mar 31All 5 documents open
Documents · Apr 15I tested each direction against the real March 10 state. All three could show the data; only one said what to do next without making Priya hunt.
Urgency-first breaks the neat symmetry of four equal applications. The screen becomes opinionated, which is the job.
The hierarchy answers the brief in order: what to do next, then where every application stands.
Budapest's late translation could sit below Riga's completed documents.
Rejected: ownership over urgencyThe certified translation became a red dot, not the thing to submit.
Rejected: comparison over action"8 documents open" is analytics, not a document, university, or deadline.
Rejected: status over decisionCertified translation · due Mar 1 · 9 days overdue, packaged for support without inventing policy.
Every open document stays named; status and deadline set order.
All four phases stay visible, including Zagreb's no-exam exception.
The core deliverable is a working mobile overview on Priya's data, coded so reviewers can complete tasks, expand each university, and watch priority recalculate.
A coded prototype took longer than a static screen, but state is the design problem here. A happy-path image would hide whether the hierarchy survives change.
Completing Budapest promotes Riga's exam registration; reopening a document restores its correct phase, not a false completion.
Open the product, complete the late translation, then inspect every university.
Launch full screenEach screen teaches one thing before the overview makes sense, then hands Priya into the same visual language without repeated button labels.
Onboarding delays the first task, so I kept it to three replayable screens instead of a forced first-run wall.
It explains parallel journeys, lead time, and priority without a second interaction model.
Compare the same four phases across every university.
Translations take about two weeks; visas take six to eight.
See one next action first, then the complete university picture.
An alternative submission format was pre-approved: this page replaces the process board; the working product replaces the static design file. The architecture lives in components, responsive rules, and a three-tier token chain.
I documented only the components and tokens this product uses, not a speculative system around one flow.
One data model drives mobile, tablet, and desktop without changing the action-first order.
teal-500 · space-4 · radius-lgcolor-brand · color-danger-surfaceaction-overdue-bg · card-paddingI used Copilot through analysis, concept comparison, build, and review. Its value wasn't more options. It made each option's consequences easier to inspect.
AI can make weak reasoning sound finished, so I kept the supplied data beside every concept and cut suggestions that invented policy. These are condensed build records, not transcripts.
Each record shows the prompt, what AI accelerated, and the decision I kept human-owned.
Accessibility, usability-under-stress, responsive, and trust reviews on the working product mostly changed behavior: honest recovery language, reversible state, preserved onboarding progress, and one reading order at every width.
This still proves an interaction model on fixture data, not university policy or applicant outcomes.
The product handles the awkward data without hiding it, survives completion and reopening, and states its remaining assumptions instead of presenting them as facts.
Rank uses status and date only, untested with real applicants.
The product packages details for support; only the university decides.
Real service needs submitted/received/accepted, not local completion.
Production dates need a source, freshness, and conflict handling.
One mobile-first screen answers what's next and where Priya stands.
Overdue, due soon, in progress, done, and far-future work.
University-first, phase-first, and generic dashboard, tested and discarded.
Parallel journeys, lead time, and next-action priority.
Complete the overdue document, replay onboarding, and inspect every journey.
Knowledge, overview, and priority, not one generic reminder problem.
The structure earns its order against Priya's awkward March 10 data.
A typed, responsive, stateful product, not a clickable happy path.
AI accelerated the work; this case records what I kept, rejected, and fixed.