How we built the MicroLab chatbot

AI Support Chatbot for MicroLab

The Challenge

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.

Our Approach

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.

MicroLab chatbot architecture: Flutter app, Node.js and Express API gateway, chatbot processing pipeline, MySQL data layer, Redis cache, and external services for GPT-3.5, speech-to-text and text-to-speechTap to open the full-size diagram
End-to-end architecture of the MicroLab chatbot, from the Flutter app through the API gateway and processing pipeline to the data layer and external AI services.

Technology

Outcome

The 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.