05/2025 – now, IDEAS Institute (freelance)

- Role
- Project Manager and DevOps Engineer
- Team
- 5 people, stakeholders from 7+ departments
- Website
- ai.ideas.edu.vn
Business goal
A shared AI platform for a training institute: students and staff ask AI questions, build their own agents and load documents into a knowledge base, with answers that cite sources.
An AI Q&A and assistant platform for IDEAS students and staff. Users chat with AI, build their own agents and load documents into a knowledge base, and answers cite the sources used. Version 1.0 shipped on 09/01/2026 and version 1.5 on 22/07/2026.
Main modules
- AI Tutor
- AI Studio for building agents
- Workspaces and teams
- Permissioned knowledge base with OCR for scanned documents
- Agent Store and shared conversations
- APA citations, quizzes and flashcards
- Chat widget embedded in the Moodle LMS
- BI on Airflow, dbt and Metabase, fed from Moodle
My part
Turned 7 departments’ requests into a 6-step roadmap leadership approved, and built the case for moving the engagement from per-head fees to payment on accepted milestones.
- Gather, clarify and prioritise requirements from more than 7 departments
- Govern the backlog and run Scrum
- Own the solution architecture and the cloud cost model on AWS Singapore
- Run DevOps: AWS infrastructure, CI/CD and monitoring
- Write the roadmap, business requirements and leadership submissions
Result
- 6 stepsproposed rollout sequence approved by leadership as the order of work for the year
- 59 pagesbusiness requirements handed over, with 9 BPMN flows
- v1.0 → v1.5releases from 01/2026 to 07/2026; v1.4 loads the first page 7× faster
Problems faced
Seven departments, seven wish lists, no baseline to compare against. Midway, leadership brought a target diagram far wider than the original design, and the per-head pricing model no longer reflected the value delivered.
How it was solved
- Ran a current-state discovery and reduced conflicting requirements to a prioritised MVP: AI agent management, chatbot, a permissioned knowledge base and LMS integration.
- Compared the target diagram with the baseline: of 49 blocks, 15 existed, 6 were partial, 6 were estimated and 22 were new.
- Chose to extend the existing platform instead of a rewrite, under six "extend, don’t rewrite" rules.
- Proposed a per-project commercial model: seven delivery packages (G0 to G5 and GR), each with acceptance criteria, paid on accepted milestones.
- Re-planned enterprise SSO after finding the old proposal had not been started and did not match the stack: reviewed 254 endpoints and re-estimated with PERT times a risk factor at about 290 man-days, double the original five-sprint plan.
- Set a go/no-go gate for the Lead Agent proof of concept on the ERP: found the real target CRM differed from the approved requirements, logged 5 scope deviations and agreed a four-week route with a scope-cut order settled in advance.
- Ran DevOps: GitHub Actions CI/CD with security scans, rolling ECS deploys with automatic rollback.
Project management process
- 1DiscoveryCurrent state and 7 departments’ requests
- 2MVPVersion 1.0 shipped 09/01/2026
- 3Two-week sprints24 sprints, a 510-item backlog
- 4Target reconciliation49 blocks, 22 entirely new
- 5Six-step roadmapApproved by leadership 02/09/2026
- 6Go/no-go gatesOrchestrator, SSO, ERP proof of concept
- 7ReleasesVersion 1.5 on 22/07/2026
- Two-week Scrum sprints, 24 of them since 06/2025, on a 510-item Notion backlog with a written Definition of Done for each status.
- Estimates with PERT times a risk factor (1.15 to 1.65), plus MoSCoW, a WBS and a requirements traceability matrix.
- Milestones M0 to M7, none longer than eight weeks, with a change control board.
- Go/no-go gates for the orchestrator spike, for SSO and for the ERP proof of concept.
- Documents: a 59-page BRD, a 23-page scope statement, a 35-page C4 architecture of the current system, a 20-page SDLC document and a 12-page risk and tech-debt register.
Management stack
- Scrum
- MoSCoW
- PERT
- BPMN 2.0
System architecture
- Users
- React 19 SPA
- Chat widget in Moodle
- Partner API
- Edge and security
- CloudFront + S3
- WAF
- ALB
- Services
- NestJS: gateway, auth, user, bot
- FastAPI: chat, knowledge, vectorizer
- Go: file service
- RabbitMQ RPC + gRPC
- AI
- OpenRouter: Claude, GPT, Gemini
- LangGraph agents
- Hybrid retrieval + Cohere Rerank
- Tesseract OCR
- Data
- DocumentDB
- Qdrant
- Valkey
- S3
- BI: Airflow, dbt, Metabase
- Infrastructure and DevOps
- ECS Fargate, 2 AZ
- GitHub Actions + Trivy
- CloudWatch
- Sentry
- X-Ray
Tech stack
- Frontend
- React 19
- Vite
- TanStack Router
- Nx
- Tailwind
- Solid.js
- Backend
- NestJS 11
- FastAPI
- Go
- RabbitMQ
- gRPC
- AI
- OpenRouter
- Claude
- GPT
- Gemini
- LangGraph
- Cohere Rerank
- Tesseract OCR
- Data
- DocumentDB
- Qdrant
- Valkey
- S3
- PostgreSQL
- Infrastructure
- AWS ECS Fargate
- ALB
- CloudFront
- WAF
- Secrets Manager
- GuardDuty
- DevOps
- GitHub Actions
- Trivy
- TruffleHog
- release-please
- Dependabot
- Observability
- CloudWatch
- Sentry
- OpenTelemetry
- X-Ray
- Integrations
- Moodle LMS
- Partner API