Skip to content
View thanhdat77's full-sized avatar
😇
Ready for things
😇
Ready for things

Block or report thanhdat77

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.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. 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
thanhdat77/README.md

Hi, I'm Dat

AI engineer working across speech systems, LLM applications, and the backend infrastructure that makes them usable in production.

I have spent years building around ASR, TTS, callbot/chatbot systems, LangChain and LangGraph agents, RAG, realtime audio, and practical automation. I care about systems that are fast enough, observable enough, and simple enough to keep running after the demo.

Ho Chi Minh City, Vietnam
GitHub: https://github.com/thanhdat77


Focus

  • Speech AI: ASR, TTS, VAD pipelines, realtime audio over WebSocket, callbot flows
  • LLM applications: LangChain, LangGraph, tool calling, RAG, stateful agents
  • Backend systems: FastAPI, async Python, Kafka, Redis, MongoDB, Qdrant, MinIO
  • Production workflow: Docker, uv, pytest, ruff, observability, API contracts
  • Developer environment: Neovim, tmux, dotfiles, Pi agent workflows, custom keyboards

Systems I Build

Realtime AI Callbot

Event-driven callbot services that connect ASR, NLU/LLM logic, TTS, session state, and business actions.

  • WebSocket gateway for realtime audio sessions
  • Kafka-based ASR/TTS/event routing
  • Redis-backed hot state, cache, and coordination
  • Vietnamese text normalization for speech output
  • Graph-style call flows with interrupt, fallback, and action handling

Tech: Python, FastAPI, WebSocket, Kafka, Redis, Docker

Stateful AI Chatbot Platform

LangGraph-based chatbot architecture for multi-turn customer workflows, retrieval, state, and backend-facing actions.

  • LangGraph agent runtime with conversation state and routing
  • RAG over Qdrant with document ingestion and reranking paths
  • MongoDB/Beanie for durable data, Redis for hot state and checkpointing
  • SSE/streaming API surface for frontend and backend integration
  • Provider-wrapped LLMs and embeddings

Tech: Python 3.12, FastAPI, LangGraph, LangChain, Qdrant, MongoDB, Redis

Speech-to-Text API

ASR API service for uploaded files, local media, MinIO objects, and raw bytes.

  • VAD segmentation before ASR
  • Remote ASR worker pool over WebSocket
  • Sync and async callback modes
  • Redis caching and MinIO integration
  • Public and legacy API contracts

Tech: FastAPI, WebSocket, Redis, MinIO, Docker, pytest

TTS Services and Evaluation

TTS API and test harnesses for comparing providers, saving generated WAV files, and measuring runtime behavior.

  • Queue-based TTS API with callback and polling support
  • Provider-agnostic TTS testkit
  • Local and remote provider adapters
  • Experiments with F5-TTS, VITS, Kokoro, StyleTTS2, OmniVoice/Triton
  • GPU-aware benchmarking and Dockerized model runs

Tech: Python, FastAPI, Redis, ONNX Runtime, Triton, CUDA-aware workflows


Tech Stack

Languages

Python C++ JavaScript Lua Shell

AI and LLM

LangChain LangGraph OpenAI Hugging%20Face Transformers ONNX%20Runtime

Backend and Data

FastAPI Kafka Redis MongoDB Qdrant Elasticsearch MinIO

Tools

Docker Linux Neovim tmux Git Ruff pytest


Beyond Work

  • I tune my workflow around Neovim, terminal tools, and dotfiles.
  • I like experimenting with Pi agent style automation for day-to-day coding.
  • I enjoy custom keyboards, firmware/configs, and efficient layouts.

GitHub Stats

Dat's GitHub stats Dat's top languages

Profile views

Popular repositories Loading

  1. herdr-picker-plus herdr-picker-plus Public

    Move anywhere in your Herdr workflow: workspaces, SSH servers, agents, projects, actions, directories, and plugin integrations.

    Rust 1

  2. thanhdat77 thanhdat77 Public

    AI engineer profile focused on speech systems, LLM apps, and developer tooling

  3. KLOR KLOR Public

    Forked from Lefuneste83/KLOR

    KLOR split keyboard reference fork for custom keyboard builds

    C

  4. zmk-config-klor zmk-config-klor Public

    Forked from GEIGEIGEIST/zmk-config-klor

    ZMK firmware configuration for my KLOR split keyboard

    C

  5. zmk-config-lintilla zmk-config-lintilla Public

    Forked from OptionalM/zmk-config

    ZMK firmware configuration for a Lintilla-style split keyboard

  6. dotfiles dotfiles Public

    Personal Neovim, tmux, shell, and agent workflow dotfiles

    Shell