Đào Đình Đức
Lập trình viên Full-stack
- +84 362 915 688
- duc.dao.98d@gmail.com
- 429 Lĩnh Nam - Vĩnh Hưng - Hà Nội
- https://www.linkedin.com/in/ducdaodinh/
Giới thiệu
Lập trình viên full-stack, hơn 4 năm làm với Node.js, TypeScript, PostgreSQL, Redis, Elasticsearch, Directus (headless CMS), Vue.js và Next.js. Làm việc cùng AI agent Claude, Codex, Grok: thiết lập harness để tự động hoá quy trình, rồi giám sát agent xử lý việc.
Kinh nghiệm
Cty TNHH Codihaus (Full-stack Engineer)
07/2022 - Nay
- Xây API Node.js cho web app và tích hợp hệ thống bên thứ ba bằng Directus extension, Express và NestJS: OpenAI, OnePay, Twilio, CleverTap, Chatwoot, Sentry.
- Thiết kế mô hình dữ liệu PostgreSQL, MySQL theo nghiệp vụ cho 5 sản phẩm production; truy vấn bằng Knex, cache và hàng đợi job bằng Redis, BullMQ.
- Tham gia xây dựng headless CMS nội bộ cho công ty, tối ưu cho việc ứng dụng AI agent vào dự án và tránh rủi ro bản quyền của mã nguồn mở.
- Tổ chức backend theo kiến trúc phân lớp (controller, service, infrastructure) với Factory Function pattern; tách webhook và Twilio endpoint thành microservice Express độc lập, đóng gói Docker.
- Viết unit test và integration test bằng Vitest, Jest: 140 file test cho các extension backend của Adaptably.
- Quản lý mã nguồn bằng Git theo quy trình chuẩn: nhánh theo tính năng, pull request, Conventional Commits; CI/CD với GitHub Actions và GitLab CI.
- Thiết lập harness cho AI agent Claude, Codex, Grok (CLAUDE.md, AGENTS.md, custom commands, hooks, MCP) để tự động hoá quy trình như task queue, báo cáo tuần từ GitHub Issues và Chatwoot, rồi giám sát agent xử lý.
- Đặt tiêu chí cho code AI sinh ra: phân tích ảnh hưởng bằng GitNexus trước khi sửa, bắt buộc test business logic, cấm hardcode secret và tự suy diễn business rule.
Dự án chọn lọc
Adaptably (Full-stack Engineer)
2024 - nay
- Tích hợp AI chấm hơn 1.000 bài worksheet mỗi tháng, có bước lọc câu trả lời trống, rác hoặc chép đề trước khi gọi LLM; giáo viên chỉ review khi có khiếu nại nên thời gian chờ kết quả giảm nhiều.
- Cấu hình model và harness riêng cho từng chức năng AI (chấm bài, OCR, chấm thi nói, chat) để tối ưu chi phí.
- Phát triển bằng multi-agent: Claude làm agent chính, điều phối Codex và Grok làm sub-agent, xử lý trọn từ khi nhận yêu cầu mới tới test và review, theo đúng quy chuẩn code.
- Theo dõi lỗi bằng Sentry, nhận feedback người dùng trực tiếp qua Chatwoot và đưa vào workflow AI tự động để khắc phục, hỗ trợ nhanh và chính xác.
- Xây chat AI phân tích học tập cho học sinh và phụ huynh, stream qua SSE, kiểm tra quyền theo vai trò và giới hạn lượt mỗi ngày.
- Xây OCR bài tập về nhà: chuyển trang PDF scan thành ảnh để AI đọc bài viết tay và dấu chấm của giáo viên.
- Một mình làm toàn bộ backend cho khoảng 3.000 người dùng: mô hình dữ liệu PostgreSQL trên Directus, API Node.js (Directus extension, Express) cho giao bài theo trình độ, tích và đổi điểm thưởng, tích hợp Twilio, CleverTap.
Medialabs (Backend Engineer)
2023 - 2025
- Một mình làm toàn bộ backend: thiết kế mô hình dữ liệu PostgreSQL trên Directus cho kho media, gói quảng cáo, vendor, đơn hàng và danh bạ đối tác.
- Xây REST API Node.js cho frontend Nuxt: đặt media, giỏ hàng, đơn hàng và mục đã lưu.
- Dùng AI để lên kế hoạch và viết code cho các tính năng backend.
- Thanh toán OnePay: middleware kiểm tra chữ ký hash của giao dịch, gọi QueryDR để cập nhật trạng thái thanh toán.
- Media plan theo ngân sách: chuyển plan thành chiến dịch, chia sẻ qua email, mời lại và nhân bản plan được chia sẻ.
- Hoá đơn có chiết khấu theo slot, vendor hoặc sản phẩm cha, gửi mail khi được duyệt; lệnh rút tiền và thống kê doanh thu cho vendor.
- Tìm kiếm vendor, sản phẩm bằng Typesense; OTP có reCAPTCHA và giới hạn theo IP trên Redis.
- Một mình làm toàn bộ backend: thiết kế mô hình dữ liệu PostgreSQL trên Directus cho sản phẩm, case study, đào tạo, sự kiện và tin tức.
- Xây REST API Node.js cho frontend Nuxt, gồm biến đổi ảnh để phân phối WebP responsive.
- API đăng ký tài khoản: gán vai trò theo email, gửi mail chào mừng và báo cho quản trị viên khi có người đăng ký mới.
- Cron gửi email tổng hợp hằng ngày và hằng tuần về tài liệu mới cập nhật trên cổng tài liệu, theo đăng ký của từng người dùng.
- Hook đồng bộ chỉ mục tìm kiếm Algolia mỗi khi tạo hoặc sửa nội dung, và xử lý ảnh độ phân giải cao khi cập nhật sản phẩm.
- Cron cập nhật bảng giá theo nhiều loại giá kèm API trả bảng giá; endpoint kiểm tra license theo mã đơn hàng và email.
Phú Hưng Securities (Backend Engineer)
2022 - 2024
- Trong team 10 người, phụ trách thiết kế cấu trúc database MySQL trên Directus cho sản phẩm, dịch vụ, tin tức và báo cáo phân tích đa ngôn ngữ.
- Xây phần NestJS của website (SSR): module tìm kiếm, báo cáo phân tích, sự kiện, tuyển dụng và API form liên hệ, lấy dữ liệu từ Directus.
- Đồng bộ nội dung từ Directus sang Elasticsearch bằng hook cấu hình theo từng collection (index lại khi khởi động, cập nhật khi tạo, sửa, xoá), truy vấn tìm kiếm từ NestJS.
- Middleware NestJS cho ngôn ngữ, nhận diện thiết bị, chuyển hướng SEO, đăng nhập, proxy file và upload; interceptor gắn meta SEO, schema và breadcrumb cho từng trang.
- Cronjob hằng ngày kéo tin tức từ API bên ngoài vào Directus, lọc danh mục, kèm tag và bản dịch; module SEO cho trang quản trị viết bằng Vue.
- Một mình làm toàn bộ backend: thiết kế mô hình dữ liệu MySQL trên Directus cho sản phẩm bảo hiểm, đối tác bảo hiểm, khuyến mãi và blog.
- Xây REST API Node.js cho frontend Nuxt: danh sách, so sánh và mua bảo hiểm online, cache dữ liệu bằng Redis.
- Đồng bộ theo lịch cron hãng bảo hiểm, danh mục, sản phẩm, gói và quyền lợi kèm bản dịch từ API của Izion vào CMS, có endpoint để chạy lại khi cần.
- Xây endpoint trung gian tới API của Izion cho OTP qua số điện thoại, tra cứu hợp đồng, đăng ký tài khoản và tải tài liệu, tự quản lý access token và kiểm tra captcha.
- Cache dữ liệu phân tích sản phẩm và dữ liệu dùng chung bằng Redis, hook Directus tự làm mới khi biên tập viên sửa nội dung trong CMS.
Kỹ năng
- Backend
- Node.js, TypeScript (4+ năm); NestJS, Express; Directus (headless CMS); REST API, WebSocket, SSE
- AI agent
- Điều phối multi-agent: Claude, Codex, Grok; Harness: CLAUDE.md, AGENTS.md, commands, hooks, MCP; Giám sát, review kết quả agent; Tích hợp LLM API (OpenAI)
- Database
- PostgreSQL, MySQL, Redis
- Tìm kiếm
- Elasticsearch, Typesense, Algolia
- DevOps
- Docker, Dokploy, AWS, Vercel; CI/CD: GitHub Actions, GitLab CI
- Frontend
- Vue.js, Nuxt, Next.js
- Khác
- Python (script)
Học vấn
Đại học Bách khoa Hà Nội (Hanoi University of Science and Technology)
Chuyên ngành: Công nghệ thông tin - Tốt nghiệp loại: Khá