DAS D.I.A.L
Industry projectMay 2026 – Aug 2026Open demo
- Team of 8
- 149 commits, ~16,700 lines
- min-replicas 1
- so a demo link never cold-starts for a visitor
- OIDC
- federated auth, no long-lived cloud credentials in CI
The problem
The Dyslexia Association of Singapore holds years of learner assessment data and produces literacy activities by hand. They needed cohort profiles their educators could read and trust, and generated activities grounded in their own curriculum rather than in whatever a language model happened to know.
Approach
- Clustered assessment data into interpretable cohort profiles, so an educator can see why a learner sits in a group rather than being handed an opaque label.
- Grounded generation in the association's own curriculum through a retrieval pipeline with guardrails that refuse rather than fabricate, because a plausible invented literacy activity is worse than no activity.
- Shipped behind a test-gated continuous deployment pipeline: a Dockerised FastAPI service on Azure Container Apps running as a non-root user with a health check, a static React bundle on Cloudflare Pages, and images published to the GitHub Container Registry.
Tagging images by commit SHA instead of latest
Azure Container Apps only cuts a new revision when the image reference actually changes. A moving latest tag therefore deploys nothing while reporting success, which is the worst kind of failure: green pipeline, stale service. Tagging by commit SHA makes every deploy a distinct reference, so the platform cannot silently no-op and a rollback is just a redeploy of an earlier SHA.
Stack
- FastAPI
- LangGraph
- pgvector
- Azure Container Apps
- GitHub Actions
Sign in with the demo account shown on the login screen; public sign-up is closed.