Overview and role

CUF Prepara is a bilingual (Portuguese/English) client-side experience that personalizes colonoscopy preparation guidance. I designed and built the product end to end, treating automated quality as part of the product rather than a final checklist.

This is a sanitized case study. The repository is private; the demo is public at cuf-prepara.pedrorobalo.com. Patient information, internal systems, and employer-confidential detail are omitted.

Problem and users

Patients preparing for colonoscopy need a clear, timed plan. Generic PDF instructions are easy to misread: steps get missed, timing drifts, and exams can be delayed for avoidable reasons.

The primary users are patients (and supporting family members) who must follow diet, medication, and exam-day guidance under time pressure.

Constraints and risks

  • Clinical inputs must drive personalization without turning the interface into a medical record system.
  • The experience must work well on phones; preparation happens at home, not at a desk.
  • Copy and timing cues must stay precise in both Portuguese and English.
  • Private clinical and institutional detail cannot appear in a public portfolio write-up.

Key decisions

  • Client-side wizard with local persistence so progress survives reloads without a backend.
  • Deep links so a session can be resumed within the product flow.
  • Calendar export (.ics with VALARM) so reminders live where patients already manage time.
  • Vanilla JS modules to keep the runtime small and the core logic unit-testable.

Quality strategy

  • Unit tests around core personalization and timing logic (coverage target ≥80% for critical modules).
  • Playwright end-to-end coverage for the journeys that matter.
  • CLS-conscious UI decisions so layout stability is part of the experience quality.
  • Lint/format gates and pre-commit hooks to keep the feedback loop close to the code.

Outcome and evidence

A responsive prep experience that turns clinical inputs into a timed, bilingual plan with testable core logic and automated journey checks. It is not in use yet: it is a project we plan to present to CUF.

Lessons and next steps

  • Preparation guidance is a product problem, not only a content problem: timing, language, and resumability matter as much as the clinical text.