Skip to content

ali8hsn/dentabot

Repository files navigation

DentaBot — MPS Foundry Entry Project

An AI-powered receptionist for a modern dental clinic, built as my entry project for MPS Foundry.

DentaBot is a production-ready chat assistant that handles appointment bookings, answers patient questions, and provides a polished real-time chat experience — all grounded in real clinic data and powered by a large language model via the Groq API.


Features

  • Conversational AI receptionist — answers questions about hours, location, services, and more, strictly grounded in the clinic's own data
  • Appointment booking flow — guides patients through collecting name, reason for visit, and preferred date before confirming
  • Real-time streaming — responses stream token-by-token with a live typing indicator
  • Quick action chips — one-tap prompts for the most common patient needs (Book, Hours, Location, Emergency)
  • Error recovery — graceful fallbacks with a retry button if the AI call fails
  • Responsive UI — clean on mobile and desktop, with a clinic info sidebar on larger screens

Tech Stack

Layer Technology
Framework Next.js 14 (App Router)
Language TypeScript
Styling Tailwind CSS
AI Model Llama 3.3 70B via Groq
Icons Lucide React

How it Works

Patient message
      │
      ▼
Next.js API Route (/api/chat)
      │
      ├── Loads clinic_data.txt (hours, services, location, FAQs)
      │
      └── Sends to Groq (Llama 3.3 70B) with a strict system prompt
            │
            └── Streams response back token-by-token to the UI

The system prompt enforces strict grounding — the bot only answers from clinic_data.txt and directs anything else to the office phone line. The full conversation history is passed on every request so the bot maintains context across multi-turn flows.

Why Groq over OpenAI? Groq's LPU hardware delivers significantly lower inference latency, which makes the streaming feel much more natural in a live chat. The API is OpenAI-compatible, so only the baseURL and key needed to change.


Getting Started

Prerequisites

Installation

git clone https://github.com/yourusername/dentabot.git
cd dentabot
npm install

Create a .env.local file:

GROQ_API_KEY=your_groq_api_key_here

Run the dev server:

npm run dev

Open http://localhost:3000.


Project Structure

dentabot/
├── app/
│   ├── page.tsx          # Main chat UI
│   ├── layout.tsx        # Root layout + metadata
│   ├── globals.css       # Global styles
│   └── api/chat/
│       └── route.ts      # Streaming AI API route (Groq)
├── clinic_data.txt       # Clinic info injected into the system prompt
├── tailwind.config.ts
└── next.config.js

About MPS Foundry

This project was built as my entry for MPS Foundry — a program focused on shipping real AI products. The goal was to demonstrate how a well-prompted LLM, grounded in structured clinic data, can serve as a 24/7 front-desk assistant — reducing staff load and giving patients instant answers without any hallucination.


License

MIT

About

AI-powered dental clinic receptionist — MPS Foundry entry project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors