Aster.
A patient companion for a modern clinic — A calm, human companion app that turns a nervous clinic visit into something people actually understand — appointments, results and follow-ups in one quiet place.
Overview
Aster came to us with a familiar problem: brilliant care, buried under a patient experience that felt like paperwork. Visits were confusing, results arrived as jargon, and follow-ups slipped through the cracks.
We designed and built a companion app — end to end — that sits between the clinic and the patient. It explains what is happening in plain language, remembers what matters, and gently nudges people toward the next right step.
The challenge
Health is high-stakes and low-tolerance for friction. Every screen had to be legible under stress, trustworthy at a glance, and fast on a three-year-old phone in a waiting room with one bar of signal.
- Explain clinical results without dumbing them down
- Earn trust with restraint, not dark patterns
- Work offline-first for patchy clinic Wi-Fi
- Meet accessibility from day one, not as a retrofit
Our approach
We ran a two-week discovery with real patients and clinicians, then designed in the open — shipping a clickable prototype in week three and testing it with people who were, days earlier, actual patients.
- Research-led flows, tested with 14 patients
- A quiet design system in Bricolage + system text
- SwiftUI front end, typed API, offline cache
- Weekly builds the clinic could hold and react to
The outcome
Aster shipped in fourteen weeks. Appointment no-shows dropped, support calls fell, and — the metric we care about most — people said they felt calmer walking in. The clinic now treats the app as part of the care, not an add-on.
“It’s the first health app our patients open twice.”
Under the hood
Native SwiftUI and Jetpack Compose clients share a typed contract with a Node.js tRPC backend; PostgreSQL holds the clinical schedule, Redis handles reminder fan-out, and an offline-first cache keeps the app useful on one bar of clinic Wi-Fi.
- End-to-end types: tRPC contract shared client/server
- Offline queue with conflict-safe replay on reconnect
- HIPAA-style audit trail on every record touch
- Push via APNs/FCM through one dispatch service on AWS ECS
Also considered Flutter or React Native for a single codebase — we went native for HealthKit depth, accessibility APIs and scroll feel.