Engineering · 2026
Jemine AI
One healthcare engagement platform with pharmacy, lab and hospital portals that automates refills, results, reminders and loyalty.

ChallengeKeep patients on track with refills, results and appointments, across three very different kinds of healthcare provider, from one product.
Overview
Jemine AI is a multi-tenant SaaS platform for healthcare communications. One product serves three types of provider, each with its own portal:
- Pharmacies: prescription tracking, automated refill reminders, pickup alerts and adherence loyalty points
- Medical labs: pre-test instructions, results-ready notifications, fewer recollections and screening package promotion
- Hospitals: appointment reminders, no-show recovery flows, post-visit check-ins and preventive care loyalty
Patients are reached over WhatsApp and SMS. I worked on the platform as a frontend engineer in a small team, from March to August 2026.
What I built
My work sat where the portal meets the automation: the screens staff use every day, and the logic behind the messages patients receive.
- Patient records. New fields on the add-patient flow, and attachments on patient notes, so staff can keep supporting documents with the record.
- Refill-due reminders. The refill-due flow that decides when a patient's prescription is due and feeds the automated reminder jobs.
- Messaging. Fixes to email and SMS delivery, and more graceful handling when a send fails.
- Languages. Added Yoruba as a supported language.
- Account access. A password reset flow and an updated login page.
- Deployment. Build and config changes to get the app running on the production host.
The stack
The platform is a Next.js app with its API in the same codebase: PostgreSQL through Prisma, NextAuth for authentication, Zod for validation, BullMQ on Redis for scheduled and background jobs (such as reminders), Twilio for SMS and Resend for email.
Working across the portal UI, the job queue and the messaging services meant every frontend change had to respect what happens after the button is pressed: a reminder that fires on the wrong day is a worse bug than a misaligned layout.