Backend and AI-infrastructure engineering — routing, retrieval, and gating expensive compute behind cheap fast paths.
Bachelor of Artificial Intelligence, University of Technology Sydney (expected 2028, GPA 3.7/4.0) · Backend AI Engineer — Internship (Remote) at FlyRank AI, July – September 2026 · Co-founder of Pyrium, a three-person brand in development, not incorporated · Ho Chi Minh City
The thread through my projects: put a cheap, fast decision in front of an expensive, slow one. In Pulsemind (team), an XGBoost classifier scores each ICU reading in about 43 ms, including its TreeSHAP explanation, and only anomalies go on to an LLM call. In Develarper (team of four), a local Qwen 2.5 3B model reads each task's difficulty and routes it before a cloud API is touched.
An AI agent built by team Develarper at the Sea × OpenAI Regional Codex Hackathon in Vietnam, where it placed third. When a delivery fails, the shipper taps once; Alodi reaches the buyer by chat and then an AI voice call, and rules in the backend — not the prompt — decide whether the extracted time window, drop-off point and stand-in receiver update the next attempt.
- 3rd Place — USD 5,000 in OpenAI API credits (shared team pool) and 1 year of ChatGPT Pro (the USD 200/month plan) per member.
Team of 4 — team lead and presenter: scope, demo script and pitch · October 2026 · Sea × OpenAI Regional Codex Hackathon – Vietnam · Python · FastAPI · SQLite · OpenAI GPT-Live-1 · GPT-6.1 Terra · GPT Transcribe · Next.js
Repository → · Demo →
A two-tier router built by team Develarper for the AMD Developer Hackathon (Act II). A local Qwen 2.5 3B model scores each task's difficulty; hard tasks go to a cloud model on Fireworks and easy ones stay local.
- 711 of 800 tasks routed to the correct tier (88.9%), on the team's routing evaluation against team-written labels.
- 93.00% (186/200) answer quality over 100 factual and 100 summarization tasks, scored by similarity and Jaccard overlap against expected answers rather than human or LLM review. 6 of the 200 prompts contain unrendered template placeholders.
- 505.1 ms mean latency per task, across 200 sequential tasks.
Team of 4 — LLMOps · July 2026 · AMD Developer Hackathon, Act II · Python · Qwen 2.5 3B via Ollama · FastAPI · Fireworks
Repository →
An asynchronous ICU telemetry processor. An XGBoost classifier, selected in a bake-off against LightGBM and CatBoost over 109 ventilator, comorbidity and treatment features, scores incoming stream events and gates higher-cost LLM rationalisation so it fires only on detected anomalies.
- ~43 ms to score each reading, including its TreeSHAP explanation — demo service, 7 readings.
- The anomaly path adds the LLM rationalisation step, roughly 15 seconds.
Trained on the credentialed MIMIC-IV (PhysioNet) de-identified ICU dataset under its data use agreement; demonstrations run on a synthetic derivative. No clinical deployment.
Team — full-stack AI engineer · May 2026 – ongoing · Python · XGBoost · PyTorch · scikit-learn · React
UI prototype →
Built with team Hackaphobia at the GDGoC National Hackathon 2026 in Hanoi, where the team received a Top 30 Finalist Award. An onboarding survey and swipe interface: seven survey answers are encoded into a vector and scored against candidates by cosine similarity, with an optional free-text bio path through Vertex AI embeddings. Stateful WebSocket chat reaches every session a user has open.
- ~50 real users onboarded and swiped at demo day.
- ~12 ms average request latency on the structured matching path, excluding embedding generation.
Contributor, team of 4 — DevOps & Backend Engineering · April 2026 · Python 3.11 · FastAPI on Cloud Run · Cloud Firestore · Firebase Auth · Vertex AI · React 19 · Leaflet · Docker · GitHub Actions
Repository → · Demo →
- Weatherise — a weather-intelligence pipeline: REST sources and NVIDIA Earth-2 surrogate models feed a multi-agent chain on Nemotron Ultra using MCP, with a Qdrant vector database for retrieval-augmented generation.
Team — LLMOps & Backend AI Engineering · 9–11 June 2026 · Vietnam AI Open Hackathon (NVIDIA / OpenACC) · Python · Qdrant · Earth-2 · Nemotron Ultra · MCP - Vora — a quiz-verified learning roadmap. The backend resolver turns unstructured model output into validated, dependency-mapped directed acyclic graphs and checks prerequisite order. Backend repository.
Team — backend engineer · April 2026 · GDGoC DevCamp, HCMUT · Express 5 · MongoDB · Zod · Fireworks · React 19 · React Flow - llmops — a self-hosted inference node on one machine: flan-t5-base in 8-bit with a LoRA adapter behind FastAPI, with PostgreSQL, Redis rate limiting, Traefik, a Cloudflare tunnel, and Prometheus and Grafana, all on Docker Compose.
Solo · March 2026 · Python · FastAPI · PostgreSQL · Redis · Traefik · Prometheus · Grafana · Docker Compose - ArchitectureLab — a person and an agent inspect the same live system model; the agent calls tools the page registers through WebMCP and can only propose changes that a human applies. Repository.
Team of 3 — scaffold, WebMCP adapter, deployment · September 2026 · OpenAI hackathon · Devpost · React 19 · Vite · TypeScript · Playwright - Local RAG API — a local-first RAG backend: ingest PDF or TXT, then chat over it. Chunks are embedded with all-MiniLM-L6-v2 into ChromaDB and answered through Ollama, and every chat response returns its sources and inference time.
Solo · February 2026 · Python · FastAPI · ChromaDB · sentence-transformers · Ollama · MIT - agentrisk-daas — a risk-data service for the AI-agent package supply chain (MCP, npm, PyPI): a scraper on a six-hourly cron feeds a FastAPI, PostgreSQL and Redis API on Render, with a static Next.js front end. Site.
Solo · March–August 2026 · Python · FastAPI · SQLAlchemy · Alembic · PostgreSQL · Redis · Next.js · Render
- Languages — Python · TypeScript · SQL · Java
- Backend — FastAPI · REST APIs · WebSockets · async patterns · Cloud Firestore · PostgreSQL · Redis · SQLAlchemy / Alembic · Traefik
- AI infrastructure — XGBoost · PyTorch · scikit-learn · local LLM serving with Ollama · Vertex AI embeddings · Qdrant and RAG · multi-agent chains on Nemotron Ultra · NVIDIA Earth-2 surrogates · MCP
- Frontend — React 19 · Next.js 15 (App Router) · Tailwind v4
- Tooling — Git · GitHub Actions · Docker and Docker Compose · Prometheus and Grafana · Vercel
Regenerated daily by a GitHub Action in this repository. Top languages counts bytes of code in public, non-fork repositories.
| Credential | Issuer | Issued |
|---|---|---|
| Dean's List 2026 | University of Technology Sydney | 2026-07-09 |
| Selected to compete, one of 10 teams from ~100 registrants · Certificate of Attendance | Vietnam AI Open Hackathon (NVIDIA / OpenACC) | 2026-06-09 |
| Top 30 Finalist Award · team Hackaphobia | GDGoC National Hackathon 2026, Hanoi | 2026-05-20 |
| Next.js App Router Fundamentals | Vercel | 2026-02-20 |
| Generative AI with Large Language Models | DeepLearning.AI & AWS, via Coursera | 2026-01-02 |
| AWS Cloud Practitioner Essentials | Amazon Web Services | 2025-12-03 |
- Local RAG API starter kit — the paid companion to the open-source local-rag-api core described above.
- Next.js Mobile Starter Kit — built on the open-source nextjs-marketplace-free UI: Next.js 16 and React 19, a hand-rolled touch swipe deck, a 7-step onboarding wizard, per-user localStorage persistence and Radix-based primitives.


