Inspiration
I've always wanted to create a platform that related to the medical field, but every hackathon there are so many great medicine and healthcare projects that make it hard to solve a unique challenge. Our fundamental idea of Nurser-E stems from a commonly glossed over, yet widespread issue: people who have symptoms and concerns regarding their health, but not enough to go and make an appointment, or to do the proper research and find a healthcare professional. Small issues can slowly morph into more threatening circumstances, all because many of us either feel intimated by the idea of seeing a doctor, or just never seem to remember all the details, sitting in a sterile room while a stranger takes notes on us like we're infected with the plague.
Nurser-E is targeted towards those who just can't seem to get over the hurdle of taking medical action, whether that be an 18 year old who just moved to a brand new city for college, a foreign student with no clue how to verbalize their symptoms and medications, or someone like me who grew up in a family that treated visiting the doctor like going to court, pulling all our documents, getting briefed on our medical histories, and memorizing all the past medications we ever took.
What it does
We have 2 main objectives with Nurser-E: to make describing your condition easy and unintimidating, and to be an all-in-one platform to store all of your medical history in your Nurser-E profile.
Instead of filling out a form that feels like taking a test, or answering a long list of questions in person that may not yield the most accurate answers, we created an open ended patient description system, allowing patients to write down symptoms, different instances where those symptoms caused them issues, and allows patients time to think and remember all the things on their mind that they are curious about or frustrated by. Patients don't understand all of the specific metrics a doctor needs but allowing them to brain dump first gets more detailed and personalized information.
We send raw patient symptom descriptions to our LLM to help structure their response and organize it into specific categories, eventually creating a professional and standardized patient pre-appointment report. The patient is then recommended what kind of doctor or practice they need to see, and appointments are auto-generated and filled out using patient user profile data. They are also ranked based on location, rating, and times available, allowing the patient to simply scroll through the options and pick a specific appointment. Once booked, the doctor who is matched with the patient receives a copy of their pre-appointment report and has time to get briefed on patient details before meeting face to face, making the actual appointment more productive and less frustrating for both sides.
After the actual appointment concludes, the patient receives a post-appointment report that can automatically be pushed to their profile and saved in their medical history. This not only helps the patient keep track of past appointments and diagnoses but allows for new doctors to quickly get up to speed with your past medications and conditions.
Following appointments, users can also anonymously review the firm and doctor they met with to help future patients have an easier time finding the right fit for them.
A feature we want to implement for the future is a forum page, allowing for users that have similar conditions or experiences help answer each other's questions, recommend doctors and firms, and just be there to talk to one another knowing that there are indeed other people out there who have gone through the same pain and struggles.
How we built it
Nurser-E is a full-stack AI healthcare web app built across three layers:
Frontend - uses React 18 with TypeScript and Tailwind CSS for a fast, fully responsive single-page application. We built five core feature pages: a user dashboard, a multi-step Doctor Seek flow, a reddit-style Community forum where people with similar illnesses can connect and discuss treatments, doctors etc., a detailed Appointment Detail views, and a Patient Profile.
Backend - Node.js + Express API handles server-side logic, JWT-based authentication middleware, and role-based access control between patients and doctors.
Database & Storage - Supabase underpins everything: PostgreSQL stores users, appointment data, medical records, forum posts etc.; Supabase Auth handles sign-up/sign-in; and two Supabase Storage buckets hold patient-uploaded photos, videos, and post-appointment prescription files.
AI Logic - We use OpenAI's Structured Outputs API (via the gpt-4.1-mini model) to interact with the patient, generate smart, context-aware follow-up questions based on what the patient described and turn the conversation into structured medical data with strict JSON schema validation. All AI logic is server-side in the backend, making it invisible to the frontend. The structured pre-appointment report is then assembled and stored so the doctor can read it before the appointment even starts.
Challenges we ran into
Dual-role data model - Building a single app that behaves differently for patients vs. doctors across every screen (appointments list, profile, detail view) required careful querying and UI branching throughout.
Appointment lifecycle state machine - Coordinating the requested → confirmed → done → cancelled status flow between two users, and triggering the right prompts (prescription upload, rating modal) at exactly the right moment, took several iterations to get right without race conditions or missing edge cases.
Media uploads in the browser - Letting patients upload photos and videos directly from the browser to Supabase Storage, generate preview URLs, and then attach those URLs to a structured report all within a single multi-step wizard required careful sequencing of async operations.
Accomplishments that we're proud of
The Doctor Seek workflow - A five-step patient intake flow that collects text symptoms, photos, a video note, and dynamic follow-up questions, then uses AI to generate a clean, structured report that incorporates the patient’s medical history to help identify possible disease onset and highlight some tests the doctor should prioritize, and suggests the most appropriate specialist, all before the patient has ever spoken to a doctor. Doctors get this report before the appointment starts, which is the core value of the app.
Full appointment lifecycle - From the moment a patient submits a report to the doctor marking it done, the patient uploading their prescription, and leaving a rating, every step of the post-consultation workflow is covered and persisted in a searchable medical history.
Complete two-sided product - Both patients and doctors have differentiated, production-grade experiences in the same app, not just a patient-only demo.
What we learned
Structure before intelligence - The most impactful AI feature turned out to be the structured report. Getting a patient's chief complaint, symptom duration, severity, pain type, and current medications into a clean, scannable format saves a doctor significant amount of time than.
Role design is the foundation - Almost every product decision downstream (what data to fetch, what UI to show, what actions to allow) flows from user role. We learnt the importance of getting that data model right early
Supabase as a full platform - Using Supabase Auth, PostgreSQL, and Storage together meant we never had to write a single line of file handling, user management, or schema migration infrastructure, which let our team of 2 to ship a lot of product surface in a short time.
What's next for Nurser-E
Community forum - A Reddit-style healthcare community with categorised tags (Mental Health, Nutrition, Chronic Conditions, etc.), upvote/downvote, and doctor-badged posts, giving patients peer support between appointments.
Prescription OCR - Automatically parsing uploaded prescription images to extract medications and dosages, rather than requiring manual entry, would close the loop on the post-appointment workflow.
Telehealth integration - Embedding a video call directly into the appointment detail page so the full consultation can happen inside Nurser-E, making the platform end-to-end rather than a pre/post-consultation tool.
Built With
- express.js
- node.js
- openai
- react
- supabase
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.