+− User Interface
The user interface (UI) constituted a primary focus throughout the duration of the project, with frontend development progress communicated through regular updates in weekly meetings with project stakeholders. This iterative development process was guided by structured feedback from both project partners and user testing sessions, enabling continuous refinement of the interface. Particular emphasis was placed on optimizing the balance between information density and usability, ensuring that the system could present large volumes of complex, real-time data while maintaining low cognitive load for end users.
As a result, the final interface supports efficient situational awareness by allowing users to rapidly interpret and navigate critical information without being overwhelmed.
When evaluated by industry professionals, the UI was consistently identified as one of the most notable features of the Virtual Situation Room, with specific recognition given to its clarity, responsiveness, and ability to effectively surface relevant insights. This external validation highlights the success of the team’s user-centered design approach and its effectiveness in addressing the challenges inherent in high-information, time-sensitive environments.
+− Functionality
By directly addressing the core objective of consolidating disparate information sources, the system demonstrates strong alignment with key functional requirements, particularly R-M1 (structured, multi-source report generation) and R-M2 (role-specific information delivery). The Virtual Situation Room delivers language-verified, AI-generated reports through a dashboard that has been positively evaluated as both user-friendly and innovative in its ability to present large volumes of multimodal data in an accessible format. The inclusion of supplementary features, such as ‘Important Info’ timelines and an AI chatbot, further enhances the system’s usability by supporting information exploration and contextual understanding, thereby extending overall functional value.
+− Stability
The platform's reliance on external APIs creates inherent challenges with rate-limiting, quota exhaustion, and service availability. These issues become particularly pronounced during intensive development and testing periods. For example, GDELT BigQuery quotas were frequently exhausted during iterative testing phases, resulting in temporary interruptions to the data ingestion pipeline. While typically short-lived, these disruptions highlight the platform's exposure to externally imposed resource constraints that remain outside direct operational control.
Beyond quota management, the dashboard's analytical utility is fundamentally dependent on the availability and timeliness of underlying data sources. This dependency is especially evident in ongoing conflicts such as the Sudan Civil War, where a notable absence of recent Copernicus Emergency Management Service activations has prevented the system from generating detailed Area of Interest (AOI) overlays on the mapping interface. This data scarcity directly limits the platform's capacity to provide comprehensive geospatial context during periods when such information would be most valuable.
The temporal characteristics of crisis reporting introduce a further operational constraint. During the immediate onset of emerging humanitarian emergencies, precisely when rapid situational awareness is most critical, relevant articles, news reports, and situation assessments may not yet have been published or indexed by monitoring services. This publication lag creates a significant vulnerability: the Virtual Situation Room may appear sparse or under-populated during the initial phase of crisis analysis, when early indicators carry particular importance. Additionally, API performance degradation, particularly with services such as Copernicus, can introduce delays in data retrieval and frontend rendering, further impeding timely delivery of information.
Despite these external dependencies and their impact on platform performance, the system's internal components demonstrate reliability when operating under normal conditions. When unaffected by quota limitations, service outages, or upstream data availability constraints, the project's data connectors and automated ingestion agents function consistently. Moreover, both the backend infrastructure and frontend interface have been designed with these external uncertainties in consideration. The implementation incorporates defensive programming patterns including automatic retry mechanisms, graceful degradation strategies, exponential backoff protocols, and comprehensive error handling that preserve system functionality under adverse conditions. This engineering approach ensures that while the platform cannot eliminate dependencies on external data ecosystems, it maintains operational resilience to the greatest extent architecturally feasible.
+− Efficiency
The system demonstrates a strong level of efficiency across its core functionalities. Data ingestion is performed rapidly, enabling the timely aggregation of information from multiple sources. Report generation, while computationally intensive, is typically completed within an acceptable timeframe given the scale and complexity of the input data. Additionally, supplementary features such as the AI chatbot provide near-instant responses, while other interface components leverage database retrieval mechanisms to ensure minimal latency and a smooth user experience. Together, these elements contribute to a responsive and practically usable system in time-sensitive contexts.
However, generating comprehensive, synthesised crisis reports requires processing a substantial volume of contextual data. Despite the use of optimisation strategies such as data chunking, the orchestration pipeline frequently handles large-scale requests, with input token counts reaching up to one million tokens. To balance reasoning capability with cost-efficiency, the system relies on the GPT-4o model, which introduces an inherent trade-off: prioritising computational efficiency can limit the depth and extensiveness of generated outputs. Consequently, reports may lack finer detail in certain scenarios, particularly when source data is sparse or repetitive. Furthermore, the processing of such dense contextual inputs can occasionally lead to longer-than-expected generation times, highlighting a limitation in scalability under peak workloads.
+− Compatibility
The Virtual Situation Room is compatible within its intended usage context. The dashboard is implemented as a React-based web application and has been tested across major modern browsers, including Chrome, Edge, and Safari, where it performs reliably and consistently. The system is currently optimised for desktop and laptop environments, which aligns with its primary use case of analysing and interacting with large volumes of complex, multimodal data.
Mobile compatibility was considered during the design phase; however, it was not prioritised as a MoSCoW requirement. Given the density and complexity of the information presented, adapting the interface for smaller screens would have risked reducing clarity and overall usability.
From an integration perspective, the system demonstrates a high degree of compatibility with the project partner’s existing infrastructure. Both the Virtual Situation Room backend and the IFRC GO platform are built using Python Django, with the frontend also using IFRC GO UI library components, enabling a consistent architectural approach and facilitating potential future integration. This alignment reduces the complexity of deployment and supports interoperability should the system be incorporated into existing IFRC services.
+− Maintainability
The Virtual Situation Room represents a complex distributed system bridging frontend interfaces, Django orchestration APIs, and background processing endpoints. While the application is successfully deployed and fully functional for its current user base, it is not presently configured or optimized for large-scale concurrent use. If the operational load were to drastically increase, such as during a major global crisis with many teams of analysts triggering jobs concurrently, system performance and responsiveness would inevitably suffer due to infrastructure bottlenecks. Note: While there are clear engineering solutions for this scaling challenge (such as horizontal auto-scaling and managed message queues), implementing enterprise-grade scalability fell outside the core scope of this project.
+− Project management
The project was effectively managed through consistent internal communication and structured collaboration with external partners. The team utilised a dedicated developer group chat to discuss design ideas, address issues, and communicate updates. In addition, a shared Notion workspace was maintained to store key documentation, including user design sketches and research materials. Task allocation and deadline setting were primarily coordinated through the group chat, while GitHub Issues were used to track larger tasks, particularly those involving multiple developers.
Engagement with project partners was conducted through regular weekly meetings. During the initial stages, these meetings focused on requirements gathering, with IFRC partners outlining their needs and introducing key resources such as the IFRC Analytical Framework. As development progressed, the meetings evolved into demonstration sessions, where the team presented implemented features and incorporated partner feedback into subsequent iterations. The regular feedback loop ensured improvements across the Virtual Situation Room were being made iteratively, while also helping the team develop a deeper and more refined understanding of user needs throughout the project lifecycle.
Despite the overall effectiveness of the management approach, several improvements could have enhanced the development process. Stricter enforcement of internal deadlines would have supported better team alignment and coordination. Additionally, creating a greater number of GitHub Issues, including for smaller tasks, could have improved clarity and task visibility. Finally, ensuring documentation of large features in a shared and accessible location would have reduced reliance on individual contributors for information, thereby minimising delays caused by awaiting responses.