Evaluation Against Objectives and Future Roadmap

This section evaluates the system against its original objectives, assessing both the extent to which key goals were achieved and the limitations encountered in practice.

Functional MoSCoW Achievement Table

ID Requirement Priority Status Contributors
R-M1 Ingest humanitarian data from configured sources and generate structured crisis reports with sections, references, confidence, and evidence-gap outputs. Must Met Asad, Raahym, Falih
R-M2 Expose dual delivery views from the same report run: analyst depth view and operations-focused summary view. Must Met Ammar, Falih
R-M3 Provide protected admin workflows for crisis creation, ingestion triggers, orchestrator runs, and deletion actions. Must Met Asad, Ammar
R-S1 Expose map and crisis-context utilities for country resolution and geospatial overlays. Should Met Falih, Ammar
R-S2 Provide comparative insight across report runs through metadata and "What's New" style retrieval. Should Partially Met Ammar
R-C1 Offer conversational access to persisted report content through a separate chatbot service. Could Met Asad
R-W1 Fully automated decision publication with no human-admin oversight for crisis lifecycle operations. Won't Met —

Non-Functional MoSCoW Achievement Table

ID Category Requirement Priority Status Contributors
NF-M1 Performance and responsiveness Long-running ingestion and orchestrator requests must not block the web UI. Must Met Asad
NF-M2 Security and access control Admin actions must be protected with role checks, session auth, and CSRF-safe request flow. Must Met Ammar
NF-M3 Reliability and data integrity Generated outputs must remain parseable and robust against key-format variance and text encoding artefacts. Must Met Asad, Raahym
NF-S1 Maintainability Pipeline stages and API contracts should stay modular and explicit for debugging and iterative extension. Should Met Raahym, Ammar
NF-S2 Generation performance For each orchestrator report run, end-to-end generation time should be recorded from trigger to report availability. Should Met Raahym
NF-C2 Token usage budget (cost proxy) A benchmark report run on GPT-4o should remain within an expected envelope of approximately 1,000,000 input tokens and 30,000 output tokens. Could Met Asad, Raahym
NF-C1 Deployment portability Services should remain deployable as separable frontend and backend components. Could Met Ammar

Known Bugs

BUG-01: Copernicus AOI Fetching Constraint

The Copernicus Emergency Management Service API occasionally exhibits extended response times. When these delays occur, the frontend fails to receive Area-of-Interest geospatial data, resulting in incomplete map overlays. This issue does not reflect a fundamental system flaw but rather an external service performance constraint.

Mitigation: Currently resolvable by refreshing the dashboard view or allowing additional time for the API response to complete. Future enhancements could include implementing longer timeout values specifically for Copernicus requests, displaying loading indicators with progress feedback to manage user expectations, and caching successfully retrieved AOI data locally to reduce redundant API calls for frequently accessed crisis zones.

BUG-02: What's New Comparison Latency

The What's New functionality, which provides temporal comparisons of crisis developments by analyzing changes in available data over time, can exhibit notable latency in both generating fresh comparative analyses and retrieving previously computed results. This performance bottleneck likely stems from the computational overhead required to process and compare large volumes of text data through the current language model, combined with potentially inefficient database query patterns when fetching historical comparison records.

Mitigation: Review and optimize the fetching logic for historical comparisons, potentially implementing more efficient database indexing strategies. Consider replacing the current model with a smaller, faster language model specifically optimized for comparison generation tasks. Additional approaches could include asynchronous pre-computation or aggressive caching.

BUG-03: Production Deletion Preview Error

When attempting to delete a crisis in the production environment, the platform fails to retrieve associated metric and property reports for confirmation. This issue appears production-specific, pointing to potential discrepancies in connection pooling or query permissions under production load.

Mitigation: Conduct a thorough investigation of deployment-specific bottlenecks, including connection timeouts and middleware interference. Review the database fetching process for the deletion workflow to identify inefficient joins or missing indexes. Implement more granular error logging to capture specific failure points in production.

Critical evaluation of the project

+− 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.

Contribution Tables

System Artefacts Contribution Table

Area Ammar Asad Raahym Falih
Research and experiments 25% 25% 25% 25%
UI design 45% 10% 10% 35%
Coding and integration 25% 25% 25% 25%
Testing 10% 40% 40% 10%
Overall Contribution 26.25% 25% 25% 23.75%

Report Website Contribution Table

Website Section Ammar Asad Raahym Falih
Website Template and Setup 0% 100% 0% 0%
Home 100% 0% 0% 0%
Video 100% 0% 0% 0%
Requirements 0% 0% 0% 100%
Research 0% 0% 0% 100%
UI Design (if applicable) 100% 0% 0% 0%
System Design 0% 0% 100% 0%
Implementation 0% 100% 0% 0%
Testing 0% 0% 100% 0%
Evaluation and Future Work 60% 10% 10% 20%
User and Deployment Manuals 100% 0% 0% 0%
Legal Issues 25% 25% 25% 25%
Blog and Monthly Video 25% 25% 25% 25%
Overall Contribution 27.5% 25% 25% 22.5%

Future Work Roadmap

While all key functional and non-functional requirements have been successfully met, the development team has identified a concrete set of features as valuable potential expansions to further elevate the Virtual Situation Room's operational capability.

+− Parallel Report Generation & Batch AI API Calls

High Priority

Implementing parallel report generation and utilizing batch API calls for AI model requests presents a high-effort but highly rewarding optimization avenue. Currently, relying on purely sequential LLM generation causes inherent bottlenecks when digesting vast amounts of crisis data. By aggressively migrating towards a batch-based, parallel framework, we can achieve massive reductions in overall processing latency, minimize asynchronous timeout vulnerabilities, and considerably curb operating costs through optimized payload token handling.

+− Automated Reliability Monitoring Dashboards

High Priority

Developing automated reliability monitoring dashboards is a medium-effort addition that strictly bolsters production observability. By maintaining real-time situational awareness over orchestration statuses and external API telemetry, system maintainers can actively improve their debugging and incident response times, averting systemic downtime for end users.

+− Iterative Improvements in Generation Quality

High Priority

Further experimentation with different operational LLM tiers represents a continuous, high-effort priority. Pivoting dynamically between highly capable frontier models and cost-efficient lightweight models based on distinct request loads holds significant upside. By continually refining our overarching prompting structures alongside these models, we can expertly optimize for time execution, budget constraints, and the raw analytical depth present within the final crisis reports.

+− Extended Administrative Analytics Views

Low Priority

Equipping the dashboard with broader administrative diagnostic tracking serves as a low-effort feature that proves extraordinarily useful for long-term project governance. Such dedicated diagnostic views guarantee administrators can accurately analyze long-term API consumption profiles, user activity patterns, and operational deployment scopes across time.