My Lifelong Doctor
A private channel where patients upload lab results and get a clear explanation from a real doctor.

A lab report full of unmarked numbers is frightening. My Lifelong Doctor (나의 평생주치의) gives patients a private place to send those results and hear back from an actual doctor, in language a non-specialist can use.
Role
I built the patient-facing mobile app and the web tools doctors use to reply. I also worked on the upload and auth paths — health data is not a place to be casual about who can see a file.
Constraint
This is not a chat demo. People open it when they are already anxious. The interface has to stay quiet, file upload cannot fail silently, and the backend has to treat records as sensitive. We used Firebase and AWS for auth and storage, and kept the conversation as the center of the screen.
What I built
- Patient app in React Native / Expo: upload results, read replies, without a clinical-looking UI.
- Doctor-facing web in React and Ant Design.
- Auth and private file handling so a result does not leak across accounts.
The product is on the App Store.
Stack
- Mobile: React Native, Expo, Redux, Formik, TypeScript
- Web: React, Redux, Ant Design, Formik, TypeScript
- Backend: Flask, Python, MySQL
- Infra: AWS, Firebase
What I would do differently
I would have written the upload failure states before the happy path. When someone is sending blood work, "try again" with no explanation is worse than a slow spinner.
Screens





