Skip to content
View kenzouno1's full-sized avatar

Block or report kenzouno1

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
kenzouno1/README.md

Nguyen Dat

Fullstack & AI Agent Engineer
I build production systems end to end — API, web, data pipelines, infrastructure —
and the agent tooling that operates them.

Vietnam 10+ years Email Website


About

Fullstack engineer since 2015, working mostly on B2B platforms in Vietnam and Laos: CRM, logistics, fintech, real estate and e-commerce. Recent work centres on multi-channel communication platforms, distributed crawling, and self-hosted geospatial services — plus the AI agent tooling that keeps a codebase of that size navigable.

Most of my day-to-day work lives in private organisation repositories, so this profile shows what I build rather than a contribution graph.

  • 🔭 Currently — an omnichannel CRM / telesales platform (NestJS + React monorepo, ~19k symbols)
  • 🧰 Comfortable across — TypeScript, Go, C#/.NET, Python, and the infrastructure underneath
  • 🤖 Interested in — agent-assisted engineering: code-intelligence MCP servers, RAG, workflow automation
  • 📫 Reach me — datnt37@gmail.com
🇻🇳 Tiếng Việt

Kỹ sư fullstack từ 2015, chủ yếu làm nền tảng B2B tại Việt Nam và Lào: CRM, logistics, fintech, bất động sản và thương mại điện tử. Giai đoạn gần đây tập trung vào nền tảng giao tiếp đa kênh, hệ thống thu thập dữ liệu phân tán, dịch vụ bản đồ self-hosted — cùng bộ công cụ AI agent giúp điều hướng codebase quy mô lớn.

Phần lớn công việc nằm trong repository của tổ chức ở chế độ riêng tư, nên trang này mô tả những gì tôi xây dựng thay vì biểu đồ đóng góp.

  • 🔭 Hiện tại — nền tảng CRM / telesales đa kênh (monorepo NestJS + React, ~19k symbol)
  • 🧰 Thành thạo — TypeScript, Go, C#/.NET, Python và hạ tầng bên dưới
  • 🤖 Quan tâm — kỹ thuật phần mềm có agent hỗ trợ: MCP code-intelligence, RAG, tự động hoá quy trình
  • 📫 Liên hệ — datnt37@gmail.com

What I build

Descriptions below are anonymised — the code lives in private organisation repositories.

🎯 Omnichannel CRM & telesales platform · current

NestJS React TanStack Router Prisma PostgreSQL Redis BullMQ

A monorepo CRM for a logistics business: lead capture, telesales cockpit, customer 360, quotation and order push to a partner API.

  • Lead distribution engine — shift-aware round-robin with WIP limits, campaign and source-based routing, and an event-driven hot lane for time-critical leads
  • Position-based RBAC with row-level security — ownership scoping enforced at the query layer, not the controller
  • Domain event bus — emit-after-commit listeners driving realtime, audit log and queued heavy writes; realtime events carry snapshots so clients patch cache instead of refetching
  • Channel integrations — Facebook Graph, Zalo OA and Zalo Personal, plus Stringee PCC voice with CDR reconciliation

🕸️ Distributed crawling platform

Go Python PostgreSQL Redis S3

Collects and normalises social posts into structured leads and supplier profiles.

  • Content-hash deduplication and idempotent upserts across out-of-order batches
  • Public ingest API returning 202 with per-item retry, isolated queue lanes so a 68k-job backlog cannot starve interactive traffic
  • Media mirroring to object storage with public-prefix delivery

🗺️ Self-hosted map & routing API

Go Valhalla PostgreSQL/PostGIS

Vietnamese geocoding and truck routing without a third-party quota.

  • Dual-period administrative units — the legacy three-tier map and the current two-tier one in a single tree, matched by code
  • Address search tolerant of Vietnamese diacritics and abbreviations
  • Distance matrix feeding freight pricing for ~16.8k administrative units

💬 Multi-tenant messaging gateway

TypeScript Node.js zca-js Redis

Holds live personal-messaging sessions and serves several products from one process.

  • Sessions keyed by (tenant, channel), each consumer scoped to its own API key
  • QR login, contact resolution with a rate-limited phone→uid cache, attachment upload, stickers and reactions
  • Webhook relay with IP allow-listing at the edge

💳 Cross-border e-wallet

Go TypeScript Vue Python

Wallet and merchant backends, CMS, and document OCR for a Lao market payment product.

🏢 .NET omnichannel eCRM

C# .NET Hangfire SQL Server Redis

Long-running platform work: SSO/auth service, webhook hook-process relay, ZNS notification service, error tracking, background job orchestration and reporting.


AI & agent engineering

  • Code-intelligence MCP — graph-indexed codebase (symbols, relationships, execution flows) used for impact analysis before edits and change detection before commits
  • Operational agent skills — packaged runbooks that let an agent drive Portainer, Jenkins, Rancher and production databases safely, with read-only defaults
  • Workflow automation — self-hosted n8n with a custom branching canvas and node registry
  • Vietnamese speech-to-text — PhoWhisper served behind an internal API
  • RAG & chat agents — retrieval pipelines and agent management for customer-facing bots

Open source

Project What it is
DiaGioiHanhChinhVN ⭐38 Vietnamese administrative-division dataset (province / district / ward), the version most Vietnamese apps end up needing
lumina-admin React + TypeScript + Tailwind + shadcn/ui admin template — ~31 screens, EN/VI i18n, mock service layer, bundled design-system skill
9Router Connects AI coding tools to 40+ providers and 100+ models through one endpoint
Block-YT Lightweight YouTube distraction blocker

Tech stack

Languages

TypeScript Go C# Python PHP Dart

Backend

NestJS Node.js .NET FastAPI Prisma BullMQ

Frontend

React Next.js TanStack Vite Tailwind CSS Flutter

Data & infrastructure

PostgreSQL Redis Meilisearch MinIO Docker Kubernetes Jenkins Cloudflare


Engineering principles

  • Prove the cause before changing behaviour. A fix that is not aimed at a measured root cause is a guess with a commit hash.
  • Push invariants down. Permission scoping belongs in the query layer, pricing rules in one module, not spread across controllers.
  • Tests are debt, not assets. Write them where failure costs money, data or privacy — then keep the suite fast enough that people actually run it.
  • Keep files readable by whoever reads next, human or agent. Split by concern, not by line count.

datnt37@gmail.com · kenzouno1.github.io

Pinned Loading

  1. tftatics tftatics Public

    JavaScript

  2. DiaGioiHanhChinhVN DiaGioiHanhChinhVN Public

    Địa giới hành chính (tỉnh,huyện,xã) của VN cập nhật năm 2021

    JavaScript 36 94