# Optional: Notify admin for review if adminReviewEnabled: sendToReviewQueue(sensorID, description)
## 4 Implementation Details
In our prototype, we kept it simple, but one could imagine adding CSS classes to cells that are unusually high or low and then using ARIA annotations to indicate an \"alert\" on those cells. To support scalability, the Data Grid module operates independently of the visualization logic and connects to a microservice responsible for aggregating and delivering structured datasets. This separation of concerns makes it easy to plug in alternate data sources or scale to larger grids for enterprise scenarios without altering the core user interface. Future iterations could include contextual tooltips, conditional ARIA alerts on threshold violations, or dynamic column hiding to personalize the view further--all of which are facilitated by the modular backend and standards-compliant frontend design. Figure 6 illustrates the Detailed Analysis View. This is where the full power of the AI-generated long descriptions is utilized. Each entry corresponds to an analysis at a certain  
timestamp (or for a certain period). The screenshot shows two analysis blocks for two recent timestamps. In the first block, for example, the narrative might read: \"_At 2025-04-26 09:25:06, the environment recorded a moderate temperature of 23.66 \({}^{\circ}\)C, combined with moderate humidity at 47.32%. These conditions may suggest a transition in weather patterns or indoor ventilation states depending on context. The air quality was evaluated at an AQI of 72, which falls under the category 'Moderate'. This suggests that the air was suitable for all populations at the time. Energy consumption was recorded at 4.16 kWh, indicating notably high energy consumption. The device status was reported as 'Online', meaning the sensor unit was operational and able to record environmental data. Overall, the data presents stable environmental conditions. Continuous monitoring is advised to assess trends and detect significant anomalies that might affect human comfort or energy efficiency\"._  
This kind of rich description is generated by the LLM based on the data. It identifies that temperature and humidity are \"moderate\", the Air Quality Index is moderate (with a suggestion it is generally acceptable), the energy consumption is high (compared to some baseline, perhaps an average usage), and notes the device was online. It then gives an overall statement. The goal is to mimic what an expert analyst might say when looking at those readings. Implementing this involved calling the OpenAI API. For the prototype, we manually triggered the generation for demonstration, but it could be automated to update, say, every hour or whenever a significant change is detected. To maintain system continuity in the event of AI service unavailability or failure, a fallback mechanism has been implemented. In such cases, the dashboard responds with alternative outputs, such as informative messages or simplified, rule-based descriptions. The fallback model is intentionally limited in functionality: rather than generating full responses, it informs the user that the request could not be processed and prompts them to try again. The language generation component is deployed as a microservice with a RESTful API, accepting and returning JSON. While a commercial LLM currently serves as the default backend, the architecture includes an abstraction layer that supports interchangeable models, including self-hosted open source alternatives compatible with the OpenAI API standard. A monitoring process can be configured to perform regular health checks on the primary model. If multiple consecutive failures are detected, the system (1) switches to the fallback model and (2) alerts the system administrator. This layered design improves system robustness and helps ensure a consistent user experience, particularly in real-world scenarios where service interruptions may occur. One challenge we considered is the potential verbosity of AI-generated descriptions, as noted in prior work [48]. While detailed narratives can be valuable, excessive information may overwhelm users or obscure key insights.