Careloop is a patient appointment management dashboard built during the WDS Spark 2026 Hackathon. It streamlines healthcare administration by automating appointment reminders, intake questionnaires, and outbound conversational AI calls.
- Appointments Dashboard: A fast, web-based interface for healthcare providers to view, filter, edit, and manage patient appointments.
- Automated SMS Reminders: Integration with Twilio to send SMS notifications to patients, including dynamic links to their personalized intake forms.
- Patient Intake Questionnaires: Patients receive unique, secure links to fill out intake forms prior to their appointments, allowing them to provide answers and confirm or reschedule as needed.
- Conversational AI Outbound Calls: Integration with ElevenLabs (via Twilio) to initiate intelligent, conversational AI phone calls to patients, fully automating follow-ups and verbal intake.
- Robust Database Management: Persistent storage of appointment details (status, dates, patient info, and JSON intake answers) using a SQLite database.
- Frontend Layout & Logic: Next.js App Router, React 19, Tailwind CSS v4
- Backend Processing: Next.js Server Actions (
app/actions.ts) & API Routes (app/api/*) - Database & ORM: SQLite + Prisma ORM
- External APIs / Integrations:
- Twilio (Programmatic SMS)
- ElevenLabs API (Conversational AI outbound phone calls via Twilio)
app/page.tsx: The main Careloop Appointments Dashboard landing page.actions.ts: Server actions for querying, updating, and interacting with appointments data safely.api/: API endpoints for initiating AI calls (/api/initiate-call) and SMS (/api/send-sms).appointments/&patients/: Routes handling specific appointment detailed views and patient intake flows.
components/: Modular React UI elements includingAppointmentTable,AppointmentEditor, andTriggerCallsButton.prisma/: Containsschema.prismawhich defines theAppointmentmodel and the SQLite configuration, alongside potential seed scripts.
Ensure you have Node.js and an appropriate package manager (npm, yarn, or pnpm) installed.
-
Install Dependencies:
npm install
-
Environment Configuration: Create a
.envfile in the root directory and ensure the following keys are populated:DATABASE_URL="file:./dev.db" # Required for Prisma TWILIO_ACCOUNT_SID="your_twilio_sid" TWILIO_AUTH_TOKEN="your_twilio_token" TWILIO_PHONE_NUMBER="your_twilio_number" ELEVENLABS_API_KEY="your_elevenlabs_key" APP_URL="http://localhost:3000"
-
Database Initialization: Sync the Prisma schema to set up the local SQLite database.
npx prisma db push # Optional: if you wish to run the seed file specified in package.json npx prisma db seed -
Boot the Development Server:
npm run dev
-
Open the Application: Visit http://localhost:3000 in your browser to start managing appointments.