MicroLab customers regularly need help with the same things — booking a service, checking a booking's status, finding a technician, or getting answers to common questions. Handling every one of these by phone or by hunting through app screens is slow, and many customers would rather just ask, by typing or by speaking.
We built a support chatbot into the MicroLab Flutter app that accepts both text and voice. Every request goes over HTTPS to a Node.js and Express API gateway that handles JWT authentication, request validation, rate limiting and session management, then routes it to the right flow: general Q&A, patient lookup, booking, FAQ retrieval or a voice response. The core pipeline detects the user's intent and extracts details such as patient ID, service type and date, cleans up the query, and retrieves relevant context from MicroLab's MySQL database — customers, bookings, services, technicians, availability and FAQs. It then builds a prompt with that context and the business rules, sends it to OpenAI GPT-3.5, and post-processes the reply into a clean response with links, actions and quick replies. Voice questions are converted with speech-to-text and answered back with text-to-speech, and frequently asked questions, session data and API responses are cached in Redis for fast replies.
Tap to open the full-size diagramThe chatbot is live in the MicroLab app. Customers can type or speak a question and get an answer grounded in MicroLab's own data — their bookings, available services, technicians and schedules, and the FAQ knowledge base — with spoken questions answered by voice. Common questions are served quickly from the Redis cache, and every conversation is kept in chat session logs.