Inspiration
I'm from Mandapeta, East Godavari, Andhra Pradesh. In rural primary health centers, the medicine supply chain runs on delayed information: a health worker writes consumption in a register, a clerk types it up, and a district officer reads a report weeks later. An estimated 40% of rural health centers run out of essential medicines every month, not because the medicine doesn't exist but because the system finds out too late. Medicine consumption also changes before formal disease reporting catches up, so the same data can be an early outbreak signal.
What it does
AUSHADHI is an autonomous, event-driven system of five agents that watch a district's health centers:
- SENTINEL monitors stock levels and flags critical and low items.
- DQMS validates incoming data with six quality rules. Consumption spikes are flagged and forwarded, not discarded, because they are the signal.
- FORECAST uses Gemini 3.5 Flash on Vertex AI to predict demand per medicine and to detect cross-center outbreak patterns.
- PROCUREMENT routes each order to the nearest warehouse and drafts purchase orders.
- ALERT notifies the Medical Officer about stockouts and the District Health Officer about outbreaks.
In the demo scenario, synchronized spikes in ORS, zinc and IV saline across neighbouring centers produce a high-risk cholera signal and emergency purchase orders, with no human orchestrating each step. The outbreak output is a risk signal to support public-health officers, not a diagnosis. The demo data is seeded and synthetic.
How we built it
AUSHADHI existed before this hackathon as an MIT-licensed project (FastAPI, React and TanStack, Gemini 3.5 Flash on Vertex AI, Firestore, Pub/Sub, Cloud Scheduler, Cloud Run). For Path B: Bring Your Own, I imported it into GitLab and added the post-code lifecycle automation on or after Oct 5:
- Verify:
.gitlab-ci.ymlrunsverify-backendandverify-frontendon every merge request. - Secure: a
semgrep-sastjob scans the code in the pipeline. - Package:
build-backend-imagebuilds the backend container. - Code review: GitLab Duo Agent Platform reviews merge requests. MR !1 was reviewed, corrected, re-reviewed and approved by Duo.
- Release: a gated
deploy-cloud-runjob deploys both Cloud Run services (API and frontend) from the pipeline, using a service account stored in CI variables.
Challenges we ran into
- Duo caught a real defect. My README edit removed a link's URL but kept its brackets, so the link would have rendered as broken text. I applied Duo's suggestion, asked
@GitLabDuofor a re-review, and got approval. - The first deploy failed on IAM. The CI service account was denied access to Artifact Registry. I fixed its roles, re-ran the job, and both services went live.
- Gemini 3.5 Flash is served only from the global Vertex AI endpoint. Regional endpoints return 404, which took real debugging to find.
Accomplishments that we're proud of
- A merged merge request with a green pipeline (verify, SAST, build) and an automated, repeatable deploy to Cloud Run.
- A real AI code review that found a real bug.
- An existing project that now ships through a full DevSecOps loop on GitLab, with a live app running exactly what the pipeline shipped.
What we learned
An AI reviewer is most useful on the small things humans skim past. Keeping a manual gate on the deploy job lets automation do the work while a person still approves the release. Treating consumption anomalies as signal rather than noise is what makes the outbreak detection possible.
What's next for AUSHADHI
An offline-first mobile app for ASHA workers with Telugu voice input, integration with HMIS, eAushadhi and IDSP, and scaling from 8 demo centers to the 87 PHCs of East Godavari.
Built With
- bun
- cloud-scheduler
- docker
- fastapi
- firestore
- gemini
- gitlab
- gitlab-ci-cd
- gitlab-duo
- google-cloud-pubsub
- google-cloud-run
- python
- react
- semgrep
- tailwindcss
- tanstack
- typescript
- vertex-ai
Log in or sign up for Devpost to join the conversation.