Principal Software Engineer at Milwaukee Tool (TTI Group)
years old · HCM, Vietnam · B.Eng Automation
I started on the factory floor operating packaging machines at Tetra Pak. Seven years later, I architect multi-agent AI systems, design full-stack IoT pipelines from sensor to cloud, build industrial test automation, and deploy everything as one connected ecosystem. Six domains. One engineer.
At Tetra Pak, I saw how a world-class factory runs — fully automated, deeply integrated, every machine talking to every system. When I joined Milwaukee Tool, I saw the opposite: manual workflows everywhere, test data trapped in Excel, work instructions buried in paper binders.
That gap became my mission. I started building the connective tissue — one system at a time. Now chambers stream telemetry at 1000Hz, work instructions are AI-searchable, and engineers have tools that replaced months of manual work with a single click.
See the work
AI-powered lab management with multi-agent orchestration (Lab, Maintenance, Testing agents), Azure OpenAI function calling, Mem0 graph memory, and predictive maintenance. Includes document intelligence: WI ingestion via OCR, RAG Q&A, BOM extraction, rule-based compliance. Real-time IoT via MQTT, InfluxDB, and OTA firmware updates.
Spun out from Smart Lab Platform and scaled to factory-wide operations. End-to-end vendor lifecycle: RFQ tracking, project dashboards, purchasing requests, and fixture request timelines. Real-time WebSocket + SSE updates with Azure AD SSO.
Full-stack industrial IoT edge gateways controlled by Smart Lab Platform. 16-pin configurable I/O with Kalman filtering, fault detection, zero-point calibration, OTA firmware updates, remote MQTT commands (restart, config refresh, pin control), and FreeRTOS task architecture. Covers Temi1500 chambers (Modbus ASCII), LILYGO T-HMI sensors (LVGL display), dust chambers, and tank level monitoring.
Full-stack industrial test automation: LabVIEW controls actuators and DAQ for airflow, force, weight, sound, vibration, and nailer life testing. Desktop app (Electron + web) acquires machine data at up to 1000Hz via MQTT, visualizes directly with PyQtGraph, buffers to InfluxDB for Grafana dashboards, and archives to Azure Blob Storage. Runs native on desktop or web. Custom MQTT library bridges LabVIEW to IoT infrastructure.
Custom Grafana plugin visualizing building floor plans with real-time sensor data from LILYGO T-HMI ESP32-S3 devices (SHT35/SHT85, differential pressure, battery monitoring). Firmware features 2.8" LVGL touchscreen UI, AES-128 encrypted config, FreeRTOS task architecture, and MQTT telemetry with linear calibration. Full pipeline from sensor hardware to interactive SVG overlay.
Suite of Python tools for lab operations: Striker Speed Profile Analyzer (computer vision + optical flow tracking on 20000fps high-speed video, interactive calibration, speed profile generation), Nailer Life Data Viewer (InfluxDB + Azure Blob with encrypted credentials), Bambu Connect v2 (3D printer SSDP discovery for 8+ models), CCTV Rebooter (HTTP/FTP/SSH), Azure DevOps Migration Toolkit, and various automation scripts for daily engineering workflows.
Each domain was learned by building real systems in production — not tutorials, not side projects, but tools that engineers rely on every day.
Python, TypeScript, JavaScript, C/C++, C#, PHP, SQL, VBA
React 18, Next.js, Material-UI, Vite, Tailwind CSS, LVGL
Flask-RESTX, FastAPI, Express.js, Laravel, Gevent, Prisma
Azure OpenAI GPT-4, RAG, pgvector, Document Intelligence, AI Search, Mem0
ESP32, MQTT (EMQX), InfluxDB, Modbus ASCII, FreeRTOS, OTA
NI LabVIEW, TestStand, PLCs (Siemens, Mitsubishi), SCADA, HMI, DAQ
PostgreSQL, Redis, Neo4j, InfluxDB, SQLite
Docker Compose, Azure AD SSO, CI/CD, Git, Nginx, Linux
SolidWorks, Altium Designer, test fixture design, industrial integration
Now I architect the whole stack — multi-agent AI with Azure OpenAI, document intelligence with RAG, predictive maintenance, and the full IoT data pipeline from sensor to cloud. 36+ production systems. The vision from Tetra Pak became real.
The systems exploded in scope. Led a team of 5 (EE, LabVIEW, IoT engineers, technicians). Built the vendor management platform, 8+ ESP32 IoT firmware systems, Grafana floor monitoring, and 10+ LabVIEW test applications. This is where I learned to architect at factory scale.
Walked into a test lab running on Excel and paper. Started building the first digital systems — lab dashboards, data query services, Python desktop tools. Every tool was born from a real pain point I watched engineers struggle with daily.
Ran the university fabrication lab — 3D printing, CNC, laser cutting. Mentored students on IoT and embedded systems. Started building the prototyping instincts that shape everything I design today.
Operating world-class packaging lines — PLC, SCADA, HMI systems. Saw firsthand what a fully automated, deeply integrated factory looks like. That benchmark shaped everything I build today.
I'm always looking for the next system that doesn't exist yet — the one that will make a manufacturing floor smarter, a test lab faster, or an engineer's life easier. If that resonates, let's talk.
Nº 05