AI app development with Base44 offers a practical way to see how quickly a small application can be generated through prompt-driven development. This is often called “vibe coding,” describing what you want in plain language and letting the AI handle the implementation, rather than writing the code yourself. To test that workflow on something closer to what our healthcare clients actually build, we created MindCare, a small patient-therapist scheduling app, using Base44.
MindCare is a small vibe coding healthcare app combining two core flows in one: a patient-facing page to search for and book a therapist, and a therapist dashboard. The purpose of the experiment was to understand how Base44 generates applications from prompts, and how easily the generated output can be extended toward a HIPAA-friendly architecture for production deployment.
By the end of this post, you’ll have:
- A working MindCare app you can actually click through end to end: a patient portal (search therapists, filter by specialty, view a profile, book a real appointment) and a therapist dashboard where booked appointments appear
- Five seeded therapist profiles and demo patient data already populating the app, so there’s something to interact with immediately instead of an empty screen
- The key sections of the Stage 1 prompt that generated it, ready to adapt for your own idea
- The general error-fixing habit that gets you unstuck whenever Base44 generates something broken, not just a one-time fix for the specific bug this post happens to hit
Across this series, the process moves from a simple AI-generated prototype to a more scalable and secure healthcare application:
Part 1: AI App Development with Base44: How to Build a Healthcare App Using Vibe Coding (Step-by-Step)
Part 2: From AI Prototype to Production Ready: Deploy AI Apps with Base44
Part 3: How to Make a Base44 App HIPAA Compliant (Step-by-Step Guide for Vibe Coding)
Part 4: How to Build a Production-Ready HIPAA-Compliant App with Base44 (Vibe Coding Complete Guide)
This tutorial focuses on the first stage of how to build a healthcare app with Base44: generating a working prototype using AI-assisted software development.
Before You Start
You’ll need two accounts: a Base44 account, and a ChatGPT account for turning your raw idea into a structured prompt before it goes to Base44. MindCare’s Stage 1 build was simple enough to fit inside Base44’s free tier. Check Base44’s current pricing before assuming your own idea will fit for free.
Using ChatGPT first is a preference in this post, not a requirement. Everything here can also be done by typing your idea directly into Base44 and iterating there; going through ChatGPT first tends to produce a more complete, structured prompt on the first pass, which is why we did it that way, but Base44 alone works too. Just expect more back-and-forth inside Base44 itself to get to the same result.
What is AI App Development with Base44?
Base44 is an AI-powered no-code app builder: describe what you want in plain English, and it can generate the frontend, backend, database, and authentication together, rather than requiring each piece to be built separately. It runs on message credits, with a limited free tier and paid monthly plans that raise the credit allowance, and a vague, half-formed prompt burns more credits than a clear, structured one, since the AI has to do more interpreting before it can build anything.
Creating the Project in Base44
The raw idea started as a plain-English concept taken to ChatGPT, not typed straight into Base44. The first message described the idea and asked ChatGPT to break it into stages, starting with a two-page MVP, and to write the Base44 prompt for that first stage.
That first response didn’t come back with a technology stack attached, so the next message just asked ChatGPT for its suggestion. This is worth remembering as a general pattern: if ChatGPT leaves something out that you actually want, whether that’s a tech stack, a missing field, or anything else, just ask for it directly in the next message rather than assuming the first response is the final word.
Its answer folded a recommended future-production stack (React/Next.js, Node.js, PostgreSQL, Prisma, and the rest) into a fuller, expanded version of the prompt that went past the MVP, including a patient clinical record page with intake forms and medical history.
Even though the request was for an MVP, what came back was more than what was actually needed to build right now: a full clinical record system, not just the search-and-book flow. So the next message asked for a Stage 1-only version instead. Don’t build everything GPT gives you. Keep it to what your own project actually requires at this stage, and trim or re-ask when a response overshoots that.
Ghazenfer Mansoor, founder of Technology Rivers, makes the same point in Beyond the Download: “Before you write a single line of code, there’s one essential step every successful app project needs: a clear, thorough blueprint.” For a vibe-coded build, the structured prompt is that blueprint.
That’s what produced the actual Stage 1 prompt used to generate the app.
Base44 Stage 1 MVP Prompt – MindCare
These are the key sections of the Base44 MVP prompt actually used to generate the app.
Start with the goal, not the feature list. The prompt opens by stating what Stage 1 is actually supposed to prove: one specific flow, not a wishlist of features. It also says explicitly what not to build yet, right in the same breath as the goal, so there’s no ambiguity about scope from the first sentence:
MVP Goal
The goal of Stage 1 is to validate the basic workflow:
Patient → Find Therapist → View Therapist Profile → Select Appointment → Book Appointment → View Appointment
This is only the first stage of the product. Do not build the full electronic health record, treatment-plan, prescription, assessment, or clinical documentation system yet. The MVP should feel like a polished healthcare SaaS product, not a generic marketplace.
Define the two roles before the two pages. Naming exactly what a patient can do and what a therapist can do up front keeps the later page descriptions short. They just reference these permissions rather than re-explaining them:
Users
Patient can: browse therapists, search and filter therapists, view a therapist's profile, see available appointment slots, book an appointment, view their booked appointments.
Therapist can: view their dashboard, see upcoming appointments, see basic information about patients who have booked with them, view appointment details, update appointment status.
Scope the pages to the one workflow that needs proving. MindCare’s Stage 1 goal is a single flow (patient books, therapist sees it), so the prompt asks for exactly the two pages that flow touches and nothing else. Page 1 covers search, a therapist profile, slot selection, and booking confirmation; Page 2 covers the therapist’s dashboard, an appointment list, and per-appointment detail with a status update.
Both include realistic UI specifics (header structure, specialty filters, at least 5 fictional therapists) so Base44 isn’t left guessing at content. A different idea with a different core workflow would need a different page count. This one just happens to need two.
The data model stays deliberately thin. This is where “Stage 1 only” gets enforced structurally, not just stated as an intention. Notice what’s not in here: no clinical fields, no session notes, no diagnosis or treatment data. The appointment reason and message fields would still count as sensitive health information in a real product, which is why Stage 1 runs on fictional demo data only:
Data Model
Users: id, name, email, role (patient/therapist).
Patients: id, user_id, name, email, phone, age, gender, date_joined.
Therapists: id, user_id, name, professional_title, specialties, biography, years_experience, location, languages, profile_image, appointment_types.
Availability: id, therapist_id, date, start_time, end_time, status (available/booked/unavailable).
Appointments: id, patient_id, therapist_id, availability_id, date, time, appointment_type, reason, optional_message, status (upcoming/completed/cancelled), created_at.
Do not store the entire appointment or therapist information as one large text field.
Permissions get stated twice, once here and once later as explicit restrictions, on purpose. A patient not seeing another patient’s data isn’t left as an implication of the data model. It’s written out directly, and a demo role-switcher is explicitly allowed if full authentication would slow down getting the MVP working (that’s what Base44 built first):
Authentication & Permissions
Patient permissions: view therapists, view therapist profiles, view available slots, create appointments, view their own appointments, view their own profile. Patients must NOT view other patients, modify therapist profiles, view therapist-only dashboard information, modify other patients' appointments.
Therapist permissions: view their own dashboard, their own appointments, patients associated with their appointments, update appointment status. Therapists must NOT access unrelated patients or another therapist's appointments.
For the prototype, if full authentication makes the MVP unnecessarily complex, provide a simple demo role selector/login that allows the app to be tested as either a Patient or Therapist.
This is where the earlier future-stack suggestion actually shows up. ChatGPT’s recommended production stack from before doesn’t get built in Stage 1. Base44 uses its own native infrastructure for that. What it becomes here is a target direction: told explicitly so the app doesn’t get built in a way that makes migrating to that stack harder later.
Technology / Architecture
Use Base44's native infrastructure wherever possible. Frontend: Base44's supported React/component-based approach, reusable components, responsive on desktop and mobile. Backend: Base44's native backend and business logic, kept modular so it can later be migrated to a conventional production stack. Database: Base44's native database, relational entities and IDs for Users → Patients/Therapists → Appointments → Availability. Do not create an unnecessarily complicated database for Stage 1.
Future production direction (structure toward this, do not build it now):
Next.js/React, Node.js + TypeScript, PostgreSQL, Prisma, AWS S3, secure authentication and RBAC, REST APIs.
The restrictions list is where hallucination gets headed off directly. Healthcare ideas have a huge surface area, and an AI left to fill gaps on its own will often fill them with something that sounds reasonable but was never asked for: a payments flow, a messaging feature, an AI diagnosis suggestion. Naming these out loud, even the obviously-not-yet ones, is what keeps that from happening:
Important MVP Restrictions
Do NOT build: prescriptions, medication management, diagnoses, treatment plans, clinical assessments, session notes, detailed patient medical history, AI diagnosis, AI treatment recommendations, video consultations, payments, insurance, pharmacy integration, laboratory integration, wearable integrations, complex admin dashboard, multi-clinic management, billing, claims, complex messaging, advanced document management. Keep the MVP focused on therapist discovery and appointment booking.
The HIPAA line is deliberately a restriction, not a feature request. This is the same distinction Part 3 goes into in depth, stated here at the very first build stage, before there’s anything to overclaim yet:
Privacy & Prototype Disclaimer
This is a prototype using fictional/demo data. Do not claim the application is HIPAA compliant. Do not use real patient health information. Build the data structure with future privacy and security requirements in mind, including role-based access, authentication, audit logging, secure data storage, encryption, and consent management. These are future production requirements, not Stage 1 implementation requirements.
Success criteria close the prompt, so “done” is testable, not a feeling. Instead of ending on a vague “make it work,” the last section spells out the exact click-through path Base44 needs to support end to end, in both roles, using real saved data rather than a UI state that resets on refresh:
Stage 1 Success Criteria
Consider Stage 1 complete only when this works end-to-end. Patient: enters the application, searches for therapists, filters therapists, views a therapist profile, sees available appointment slots, selects a date/time, enters the appointment reason, confirms the appointment, appointment is saved, sees it under My Appointments. Therapist: enters the application, sees the appointment on the dashboard, opens the appointment, sees the associated patient's basic information, sees the appointment reason/message, can update the appointment status. The entire flow should work using real database records rather than hard-coded UI states wherever possible.
Once this prompt was submitted, Base44 generated the application automatically.
What Base44 Generated Automatically
After processing the prompt, Base44 produced an application that already included the patient search-and-filter flow, a therapist profile view, an appointment booking flow, and a therapist dashboard showing upcoming appointments.
Base44 also seeded demo data automatically (a handful of test therapists and patients), so the app was clickable immediately rather than starting from an empty database.
Generated Patient and Therapist Views
Base44 used the prompt’s allowance and built a simple toggle between the patient and therapist views instead of real accounts. Switching to the therapist view didn’t work properly, and a toggle isn’t access control anyway, so a follow-up prompt asked Base44 to split the two views and add sign-up and sign-in with email and password.
Here’s how each side of the app looks, starting with the patient. Patients sign up by choosing Patient on the Create your account screen and entering their full name, email, phone number, and password:

From there, the patient lands on the Find a Therapist page. This is where the booking flow starts: searching, filtering by specialty, and opening a therapist’s profile to pick an available slot.

My Appointments is where booked sessions appear. Before any booking, it shows an empty state with a shortcut back to Find a Therapist:

Therapists sign up on the same screen by choosing Therapist, which adds one extra field for their professional title:

The therapist dashboard summarizes today’s appointments, upcoming appointments, and total patients. Here it’s shown before any bookings have come in:

Fixing a Generated Issue
Base44 can build most of a working app straight from a good prompt, but it doesn’t finish the job unsupervised. The part that still takes a human is testing the actual flows, clicking through as a patient and as a therapist, looking for whatever breaks, and feeding that back in as a follow-up change. One real example of that from this build:
In the first generated version, the preview wouldn’t load and showed this error: Error: useRole must be used within RoleProvider. That’s a sign the role logic, which decides whether a user sees the patient or therapist side, wasn’t wired up correctly yet.
The fix was to copy the exact error text from the preview and paste it back into the chat, asking Base44 to resolve it directly, rather than trying to debug it manually.

Once Base44 fixed it, the preview loaded and the patient flow could be tested end to end. This one error isn’t the point on its own. It’s a stand-in for the habit: run the flow, catch what breaks, describe it precisely, let Base44 fix it, then run the flow again. That loop is most of what “reviewing” an AI-generated app actually looks like in practice.
Built a healthcare app with an AI tool and not sure what’s broken underneath? Technology Rivers runs code audits and architecture reviews on existing healthcare applications, keeping what works and fixing what doesn’t. Talk to us about reviewing your app
Up Next: Moving to Production
Part 2 of this series continues this AI app development with Base44 workflow, turning the vibe coding healthcare app built here into a production-ready application: auditing the build for what’s missing (starting with whether the generated login and role checks actually hold up), adding real role-based access control for patients and therapists, and deploying the app outside Base44’s own hosted environment.
Why This Approach Matters
The order matters more than the tool. A structured prompt, like the Base44 master prompt example in this post, puts a clickable prototype in front of people quickly, and that’s where real feedback starts. A healthcare product can’t stop there, though.
AI app development with Base44 gets you a working first version, but the security, compliance, and scalability layers a real healthcare product needs, including HIPAA requirements, still have to be designed and verified before real patients use it.
Final Thoughts
This experiment in AI app development with Base44 showed that a working healthcare scheduling app comes together quickly from a structured Base44 MVP prompt, and that turning the raw idea into a master prompt in ChatGPT first kept the build focused on Stage 1.
As a Base44 master prompt example, the one used here shows both what the workflow gets right and where it still needs a human pass: the generated output still lacks the production safeguards the prompt deliberately left out, like audit logging, encryption, and consent management, that anyone looking to build a healthcare app with Base44 can’t ship without. That’s exactly where Part 2 of this series picks up.
Ready to take your Base44 prototype beyond the demo? We assess vibe-coded apps built in Base44, Replit, Lovable, and other AI tools for production and HIPAA readiness. Get your app assessed





