Practical AI: Replacing complex search features with a chat based user interface
A story about how to reduce complexity and streamline the user experience with a simple, yet effective AI implementation.
Recently, our designer Ville Yli-Knuutila presented an idea: the possibility of reducing both the number and complexity of user interfaces through chat-based interactions, AI, and LLMs. Nikolas Kohvakka, a developer on our LokiTime team, read the blog post and had an idea: Could we make LokiTime’s search functions easier to use and access if we enabled users to use them through a chat interface?
For those who might not be familiar, LokiTime is a key control and management software that has been available since 2016. It is currently the most widely used key management software in the Nordics, and is suitable for various operators, including property owners, security companies, and the public sector.
Driven by the idea of simplified user interaction, Nikolas investigated how LokiTime could employ AI to allow users to make complex queries about keys and their ownership without the need to navigate through traditional and often cumbersome search interface elements such as filtering, sorting, and various radio buttons.
Nikolas created a system in which AI could effectively communicate with the LokiTime data repository, interpret responses, and decide whether to perform additional searches or provide direct answers. This led to a simple, chat-based interface called “LokiBot,” where users can ask questions such as "Who has access to key A44?" or "What keys does Andy User have access to?" and receive answers. Additionally, users don’t have to stop what they're doing to navigate to the search page because LokiBot is available on every page as a chat overlay.
Furthermore, this solution uses LokiTime's existing user rights management to ensure that no one can access data they're not authorized to view.
LokiBot is currently being used by selected customers and will be rolled out to larger user groups in the near future. It currently works on the browser version of the service but will be implemented in mobile applications in the future as well.
Combining ElasticSearch with AI
Nikke provides more details about the technical solution:
“I provided the language model with a system prompt and defined a format that allows it to execute ElasticSearch queries. Additionally, I explained the data structure and provided a brief explanation of what the fields mean in the real world, so the model can link these fields to domain-specific questions.”
“In practice, the model is given a primary instruction to always respond with either an ELASTICSEARCH_QUERY: or USER_RESPONSE: prefix. Based on this, the system channels the responses either directly to the user or back to the database. When a response is received from the database, the system relays it back to the language model, which then interprets it and decides whether to answer the query directly or generate a new query.”
It's also worth noting that the Proof of Concept phase was completed in a short and cost-effective timeframe. This efficiency underscores the project's practical nature, aiming for significant improvements without the need for extensive time or financial investments.
Focus on the value, not on hype
This initiative aimed to create a truly useful tool, going beyond the superficial appeal of new technologies. By meaningfully integrating AI into LokiTime, the solutions not only enhanced and streamlined the user experience but also introduced a compelling feature for both existing and potential users.
This development marks a move toward AI-powered user interfaces that are easier to use and better meet user needs. It demonstrates that technology can provide simple solutions to complex problems, saving time and resources for both developers and users.
As we continue exploring how AI and other technologies can simplify and improve user interactions, LokiTime's approach stands out as a great example. It highlights the true benefit of technology: solving real problems in a practical and user-friendly way.