Inspiration
Global disease surveillance depends heavily on periodic surveys — expensive to run, slow to update, and often months out of date by the time anyone acts on them. Meanwhile, faster signals like hospital admissions and resource strain sit right there, unused, because nobody's cross-referencing them against the official picture in real time.
This isn't hypothetical. A couple of months ago, two live outbreaks validated exactly this blind spot: a Bundibugyo virus Ebola outbreak in DRC/Uganda (WHO declared a Public Health Emergency of International Concern in May 2026) and a Lassa fever surge in Nigeria (35% increase in deaths year-over-year) — both cases where faster local signals could have flagged risk before slow official channels caught up.
What it does
Vigilux-Sentinel is an agent that automates that cross-referencing. For every region in its dataset, it asks four questions at once:
- Is the official survey data stale?
- Is a faster real-world signal (hospital admissions) trending upward?
- Does this region actually have the resources to respond if something's wrong?
- What does the trend look like?
When all four align — stale data, a rising trend, inadequate resources, and a compelling trend, Vigilux-Sentinel flags the region, generates a plain-language justification using Gemini, generates a findings report as a discoverable annotation, so the insight becomes part of the shared knowledge graph instead of disappearing after one run.
How we built it
Data: 4 real, properly licensed public health datasets — COVID-19, Tuberculosis, Influenza, and Malaria, sourced from Our World in Data and WHO (CC BY 4.0 or equivalent, full attribution in the repo) — plus 3 synthetic datasets (HIV, Ebola, Lassa fever) for diseases where no cleanly redistributable real dataset existed, modeled on real 2026 outbreak patterns.
Backend: Python + FastAPI, with a background-task agent loop exposed
via REST endpoints (/fleet/regions,/fleet/run, /fleet/status).
Reasoning: Gemini via Google Cloud Vertex AI. We initially tried the free Gemini Developer API, but testing showed its only viable free-tier model caps out at 20 requests/day — nowhere near enough for a 30-region run. Vertex AI's project-based quotas made a full run reliable.
Challenges we ran into
- Free-tier LLM quotas across multiple models and both Gemini access paths (Developer API and Vertex AI) — we hit and diagnosed several distinct rate-limit and model-availability walls before landing on a reliable setup.
- Data licensing: not every dataset that looks freely available actually is — we had to check per-dataset (not per-platform) licenses and pivot to synthetic data for 3 of our 7 diseases when clean redistribution rights weren't confirmed.
What we're proud of
A real, working, end-to-end loop — real licensed data, real LLM reasoning, and real report write-back to Firestore with authentication genuinely enforced, not mocked or bypassed at any point.
What's next
Expanding real (non-synthetic) coverage for HIV, Ebola, and Lassa fever as clean licensed sources become available. Expanding beyond the currently available regions. Making this technology readily available to healthcare providers.
Built With
- apache-2.0
- fastapi
- firestore
- gemini
- google-cloud
- python
- react
- typescript
- vertex-ai
Log in or sign up for Devpost to join the conversation.