Mobile application for daily personal use, with a conversational engine at the centre of the experience. The client wanted a distinctive narrative voice combined with real-time BLE hardware integration.
Combine two LLMs with distinct roles — an internally fine-tuned narrative model and an instruction-tuned model for structured actions — while controlling latency and API costs. The engine also had to communicate with a bespoke BLE sensor requiring sub-100 ms latency for certain events.
A cascading LLM pipeline uses a lightweight Flutter-side router to select the model according to intent. A semantic cache for recurring requests reduces API calls by 40%. On the hardware side, native Swift and Kotlin modules expose an asynchronous BLE channel to Flutter. An earlier JavaScript bridge for React Native was set aside after comparative testing in favour of the native Flutter integration.
In production since 2025, with continuous iteration alongside the client. The narrative engine keeps operating costs controlled, including at peak usage.