โ† Back to Projects

MediConnect

In Progresshealthcare

A full-stack medical appointment platform with patient booking, doctor dashboards, subscription plans for doctors, Stripe payments, and Medi โ€” an AI assistant for patient data management.

๐ŸŒ Live Site๐Ÿ“ GitHub RepoBy Kyle Parsotan ยท 2025

Problem

Healthcare providers waste significant time on manual scheduling, patient record lookup, and billing. Patients struggle to book appointments with specific specialists and track their medical history in one place.

Solution

Built a full-stack Next.js application with Prisma and PostgreSQL for relational data, a custom JWT authentication system, Stripe for doctor subscription plans, and a Medi AI chatbot that helps doctors filter and query patient records in natural language.

Tech Stack

Frontend
Next.jsTailwindCSSshadcn/ui
Backend
Next.js API RoutesPrisma ORMStripeResendCustom JWT Auth
Database
PostgreSQL
DevOps
Vercel
Other
OpenAI API (Medi AI assistant)

Architecture

Frontend

Next.js App Router with middleware-based route protection checking the JWT role claim. Three dashboard experiences: patient (booking, history), doctor (patient list, schedule, Medi AI), admin (platform analytics). shadcn/ui provides consistent UI components across all portals.

Backend

Custom JWT-based authentication issues signed tokens on login, validated on every protected API route. Prisma ORM manages all database queries. Stripe handles doctor subscription billing โ€” webhooks update the subscription status in PostgreSQL. Resend sends appointment confirmations and reminders. Medi AI calls the OpenAI API with a structured system prompt that includes patient data context.

Database

PostgreSQL via Prisma. Schema: users (patient | doctor | admin roles), appointments, patientRecords, doctorProfiles, subscriptions (Stripe-synced), and aiChatSessions.

Features

Future Improvements

By Kyle Parsotan ยท 2025

Get to Work

Contact me for freelance work, full-time opportunities! I'm always open to discussing new projects, creative ideas, or opportunities to be part of your visions.