Skip to content
Back to projects

Doctor Patient Mobile Interface Project

A mobile healthcare interface prototype with doctor listing, detail, profile, auth surfaces, and Expo/React Native web screens.

  • Mobile Apps
  • React
  • React Native
  • Expo
  • Node.js
  • Express
  • Sequelize
  • Mobile

Project image carousel

Doctor Patient Mobile Interface

Image 1 of 5

Project Concept

An Expo mobile app for discovering and searching doctors — patient or doctor account registration, a doctor directory with specialty/address/ hours, and an editable profile. Appointment booking is not implemented in the current version.

What the Interface Shows

A welcome screen over a doctor photograph, sign-in, the authenticated home screen, the doctor directory, and a single doctor’s detail view with an explanatory offline-map panel instead of a real map.

My Role and Decisions

When I found real environment secrets tracked in the repository’s history, I tried the same rewrite approach used on the previous project, but hit a different failure: the default macOS filesystem is case-insensitive, and the history contained an old rename between home.js and Home.js — same name, different casing — which caused a collision. The fix was creating a temporary, fully case-sensitive APFS volume and redoing the rewrite there successfully. The bigger design decision was “disable, don’t delete” for the maps feature: instead of removing Google Maps integration entirely to make the app work offline, I built a demo mode that swaps the map for an explanatory panel when no API key is present, while fully preserving real map behavior for a deployment that does have a real key.

Technical Aspects

Express + Sequelize + PostgreSQL, Expo 54 (React Native + React Native Web), a one-to-one relationship between User and Doctor, JWT authentication with native bcrypt. A single Docker image bundles the Expo-exported web client, the server, and a local PostgreSQL instance together.

Project Value in the Portfolio

This project demonstrates handling a rare, confusing filesystem issue (a case-collision) with a practical workaround instead of giving up, and a graceful-degradation design for an external feature rather than removing it outright.

View more projects
View more services