Skip to content
Muhammad Habiibullah← Projects

AI assistant

Independent demo

Bidakara AI Assistant

A chatbot that answers questions about Bidakara Medical Center (clinics, services, doctors, schedules) using only its official website, and tells you when it cannot be sure. Independent demo.

TYPE
Independent project · Applied AI · RAG
STACK / CAPABILITIES
  • Next.js
  • React
  • TypeScript
  • PostgreSQL + pgvector
  • Neon
  • OpenAI-compatible chat & embeddings
  • Cheerio
  • Playwright
  • Zod
  • Docker
  • GitHub Actions
  • Vercel

PROJECT NOTES

Why it exists

A clinic assistant that guesses is worse than none: a wrong schedule sends someone to a closed clinic, and a confident answer to a health question is unsafe. The goal was answers people can verify, and a clear hand-off to official channels when the sources don't support an answer.

What it does

An independent prototype that answers questions about Bidakara Medical Center from its official public website: clinic addresses, services, doctors, and practice schedules. General answers quote and cite the official page they come from; doctor and schedule answers are read from structured tables. It is not a medical service, a registration system, or an official Bidakara product.

How it works

The assistant first collects the official pages into a searchable library. When you ask a question, it looks up the most relevant passages and answers by quoting them, with a link to the source. Doctor names and schedules come from a structured table rather than free text.

  1. Collect: a script reads only approved pages on the official site (using a hidden browser for pages that load doctor lists late) and updates only what changed. If a refresh fails, the previous version stays in place.
  2. Screen: health, emergency, and personal-information questions are caught first. The assistant does not answer them, and the question is not saved.
  3. Look up: it finds the best-matching passages by meaning and by keywords, narrowed by clinic or service.
  4. Answer: it quotes the source and links to it. Schedules that are out of date or conditional (like "on call" or "by appointment") are not shown as fixed hours. If the sources do not support an answer, it points you to the official channels.

A key decision

The official pages disagree about when to register for BiMedCare+, and in one test the AI answered anyway. Now a fixed rule checks for this known conflict before the assistant looks anything up, and it tells you the sources are inconsistent instead of choosing one.

How well it works

I tested it on 52 questions. For the 40 that have a known correct answer, it found the right page every time and gave the expected answer 36 times; in the other 4 it declined (3) or cited a nearby page (1). It correctly refused all 5 questions it should not answer. Typical response time was about 0.4 seconds, and 95% were under 2.6 seconds. These are automated checks, not a review by doctors or the clinic, so it is a prototype and not a medical service. Every code change is also checked automatically (type checks, unit tests, and browser tests against a real database).

LIVE PRODUCT PREVIEW

Product UI