# Vu Ha — Systems Engineer · Applied AI Consultant

> The most valuable thing we have is time. It is also the thing we waste the most of.

Twenty years building and running systems in the server room, the HR office, and on the shop floor. I moved into applied AI to give time back to people still doing by hand what a machine can do.

- Last updated: 2026-08-26
- Email: hacmieu@gmail.com
- Phone / Zalo: +84 915 678 069
- Web: https://me.aiha.dev/en/

## Worked with

VNCPC · BFChem · CIDARE (USA) · HEZA · ATT Vietnam JSC · Hung Thinh Hospital · Asia Gate (plus independent projects)

## Professional profile

I started in 2006 at VNCPC and still run its IT there. I have worked for CIDARE since 2021 and ATT Vietnam since mid-2026; before that, BFChem and HEZA. Each place is a different industry and a different kind of data.

Business data lives in a spreadsheet named 'final version rev 3', in a blurry delivery note, or in the head of someone who has done the job for fifteen years. An AI problem inside a company is usually a process problem, not a modelling one. A chemical-process degree helps with batches and ratios; nearly 13 TB of live storage shows where a process breaks before I teach it.

### Education & certification

- **B.Eng, Information Technology** — Hanoi University of Science and Technology (2008 – 2010)
- **B.Eng, Chemical Process Engineering — Process & Equipment Technology for Chemical and Food Industries** — Hanoi University of Science and Technology (1999 – 2004)
- **Aptech Certified** — Aptech

### Current roles

- **VNCPC — Vietnam Cleaner Production Centre** — Systems Administrator · Apr 2006 – present
  Hyper-V virtualisation, Windows/Linux networks, web platforms, organisation-wide help desk. Currently rolling out a work management system (PMS).
- **CIDARE, Inc. (United States)** — Systems Administrator & Solution Architect · Jul 2021 – present
  Parcel assessment platform for property tax valuation. Remote management of OVH and Wasabi infrastructure; supporting VPN connectivity into the infrastructure of cities and towns around Boston, Massachusetts.
- **ATT Vietnam JSC** — Systems & Digitisation Consultant · May 2026 – present
  Operational audit and digitisation advisory. Built a tool to attach supporting documents for an accounting system that does not support file attachments.
- **BFChem** — Systems Administrator · Jan 2010 – May 2026
  Microsoft 365, Hyper-V, Windows Server / Ubuntu / Debian infrastructure. Technical document version control.
- **HEZA.gov.vn** — Systems Administrator · Apr 2025 – Aug 2026
  Operated Heza.gov.vn and Hezaworks.vn. CV-to-job matching using a locally hosted model.
- **Independent** — Infrastructure & DevOps Consultant · 2011 – present
  Active Directory migration to Samba4, Kubernetes on Proxmox via Terraform, enterprise IT infrastructure audits.

## Applied AI capability

### Getting data out of the mess

Photographed documents, oddly named spreadsheets, meeting recordings and free-text reports become structured data. Every field keeps its source so a wrong value can be traced back.

`Vietnamese OCR` · `Structured extraction with provenance` · `Meeting audio to minutes`

### Cutting paperwork out of approvals

A full workflow engine with an audit log runs at CIDARE. Domestically I start lighter: QR to report a fault, then email, Zalo or Telegram to the right person. The notebook beside the machine goes without replacing the whole system.

`Django workflow engine` · `QR + Zalo / Telegram alerts` · `Teable / no-code`

### Digitising the field

In warehouses, workshops and vehicles the signal drops. The apps keep working offline, read Vietnamese on the device, scan asset QR codes, and sync when the network returns.

`Offline-first` · `QR asset identity` · `On-device OCR`

### Data governance and safe AI use

Where the data goes has to be answered first. I have set up and trialled on-premise language models. Where an external service is needed, sensitive parts are masked before anything leaves. OCR can run on the phone.

`On-premise language models` · `Masking data before it leaves` · `On-device OCR`

### Technical foundation

Proxmox VE · Docker · Django / DRF · PostgreSQL · Celery / Redis · Teable · Nextcloud · JuiceFS · MinIO / Wasabi S3 · Samba4 AD · Ansible / AWX · Terraform · Cloudflare · Python · Node.js · HTMX · React Native / Expo · PyTorch · Nginx · WordPress

## Delivered AI & automation projects

_Each entry names the organisation and its real status. Technical detail belonging to the client has been left out._

### 1. Automated timekeeping and payroll from raw clock-in data

| | |
|---|---|
| Organisation | Manufacturing plant |
| Case studies | HR & Administration |
| Status | **Delivered** |

**Context:** The facial-recognition terminal recorded scans only, with no distinction between entry and exit. Twelve-hour shifts meant records overlapped across calendar days. Every month HR printed the lot and re-keyed it by hand for around a hundred people.

**Approach:** Before a line of code was written, the calculation rules were settled in business language with the HR team and the software partner: a night shift from 20:00 to 05:00 counts as one standard day; 05:00 to 08:00 counts as three overtime hours at 1.5×; Sundays and public holidays count entirely as overtime; overtime accrues independently of whether standard hours were met. From the raw spreadsheet the system generates the standard timesheet and the overtime sheet directly.

**Outcome:** The monthly re-keying disappeared. More importantly, the payroll rules moved out of one person's head and into a document that can be argued with and corrected.

**What it returned:** The monthly re-keying for about a hundred people is gone.

**From where you sit:** If you are in HR: no more printing the timesheet and typing it back in person by person.

### 2. Payslip distribution over Zalo for 100+ staff

| | |
|---|---|
| Organisation | Manufacturing plant |
| Case studies | HR & Administration |
| Status | **Delivered** |

**Context:** Paper payslips are laborious and not private. Bulk-sending them over Zalo runs into anti-spam blocking.

**Approach:** Randomised send intervals mirror the rhythm of sending by hand, with a name-matching pass before anything goes out.

**Outcome:** Payslips reach the right person, for the right month, with nothing printed.

**What it returned:** No more printing and handing out payslips one by one.

**From where you sit:** If you distribute payroll: no more printing, folding and walking round with them.

### 3. QR-coded asset management with one-touch logging

| | |
|---|---|
| Organisation | Hung Thinh Hospital |
| Case studies | Warehouse & Assets |
| Status | **In production** |

**Context:** Thousands of devices, with usage and fault logs kept in paper notebooks beside each machine. History could not be searched, and nobody knew which devices failed most often.

**Approach:** A two-table core — Devices and Log — built on Teable. Each machine carries a QR code encoding a URL; a phone camera scan opens the logging screen directly. The interface follows one button for everything: the user does not pick a form type, the system infers it from context. A submitted fault report reaches the responsible person automatically by email, Zalo or Telegram.

**Outcome:** Around eight hundred devices are in the system. History is instantly retrievable, and failure data has accumulated far enough to start a preventive-maintenance conversation.

**What it returned:** History for eight hundred devices is instant instead of a notebook search.

**From where you sit:** If you look after equipment: scan with your phone instead of writing in the book beside the machine.

### 4. Field data capture that works without a network

| | |
|---|---|
| Organisation | Asia Gate |
| Case studies | Warehouse & Logistics |
| Status | **In deployment** |

**Context:** Records are made in warehouses, in workshops and on the road, where coverage is unreliable. Force people onto a web form and data is lost; leave them on paper and it has to be entered a second time.

**Approach:** A mobile application photographs the site, records odometer readings and container temperature at each leg, and sends it all to a central database. Data is stored on the device first and synced to the server afterwards. Accented Vietnamese text recognition runs on the phone, so photographs never go to the cloud. QR scanning binds each record to the correct asset.

**Outcome:** Capture works where there is no signal. A submitted record is immutable, which makes later reconciliation possible.

**What it returned:** Field data arrives even when there is no signal out there.

**From where you sit:** If you work in the field: take the photo and you are done — no paper to re-enter that evening.

### 5. Production workflow engine with an immutable audit log

| | |
|---|---|
| Organisation | CIDARE |
| Case studies | Production & Operations |
| Status | **In production** |

**Context:** A single record passes through dozens of stages. Some must wait for several branches to finish, others need only one. Who did what, when, and what they changed could not be traced.

**Approach:** A workflow engine built on Django, with a claim data model, AND/OR branch-join logic running over a background task queue, an intervention log that only ever appends, and layered permissions by role and by stage.

**Outcome:** Every change is traceable. Internal users and external customers see cleanly separated data areas.

**What it returned:** Every change to a production record is traceable to a person and a time.

### 6. CIDARE Snapshot — retrieving data from cloud object storage

| | |
|---|---|
| Organisation | CIDARE |
| Case studies | Infrastructure & Data |
| Status | **In production** |

**Context:** The document store passed twelve terabytes on cloud object storage. Retrieving one old file meant hunting through hundreds of thousands of objects with no lookup path. An index corruption incident had also left many files unopenable.

**Approach:** Snapshot looks up and retrieves data from cloud storage through the database itself, rather than by browsing the object store. Underneath sit three layers: a familiar document interface for users, an intermediate filesystem layer for fast access, and inexpensive object storage at the bottom, with its own metadata cache. The migration of 230,805 records ran in batches tracked by a status database, each verified before the next began.

**Outcome:** An old file comes back from a query rather than a manual hunt. All data was recovered after the incident, and every record knows whether it succeeded or failed.

**What it returned:** An old file comes back from one query, and storage costs return to control.

### 7. Export logistics control by checkpoint timing

| | |
|---|---|
| Organisation | Asia Gate |
| Case studies | Purchasing & Logistics |
| Status | **Advisory in progress** |

**Context:** An export shipment passes through many procedures: dispatching the vehicle, two rounds of document checks, loading, certificate of origin, laboratory sampling, weighbridge, phytosanitary inspection and customs clearance on both sides of the border. A delay at any checkpoint holds up the whole load, but it is usually noticed only after the fact.

**Approach:** The entire chain is modelled as checkpoints on a no-code platform, linking each contract to its vehicle, driver, container and inspection expiry dates. A mobile app photographs each checkpoint, extracts coordinates and temperature automatically, and reports to a central database. Accumulated data sets a time threshold for the next checkpoint and raises a red alert when it is exceeded.

**Outcome:** The shift is from reporting after something has gone wrong to warning before it does. The target is seven days for one export cycle.

**What it returned:** You know a shipment is going to be late before it is late.

**From where you sit:** If you drive or dispatch: photograph each leg, and the coordinates and temperature are captured for you.

### 8. Dynamic approval and digital signing platform

| | |
|---|---|
| Organisation | ATT Vietnam |
| Case studies | Accounting & Legal |
| Status | **Design stage only** |

**Context:** Documents needing multiple levels of signature were still printed, signed by hand, scanned and emailed. Nobody knew whose desk a file was sitting on.

**Approach:** A configurable signing flow with signatories drawn from the internal directory, keeping files in the existing document store without changing their identity. Signing follows the PAdES standard with RFC 3161 timestamps, using certificates issued by an internal certificate authority tied to the company's user directory.

**Outcome:** The design is finished. Deployment is waiting on infrastructure while the company relocates.

**What it returned:** Documents sign remotely and always show who they are waiting on. Not yet running.

### 9. Controlled document library with versioning and lifecycle

| | |
|---|---|
| Organisation | Hung Thinh Hospital |
| Case studies | Formulation & Technical documentation |
| Status | **Design stage only** |

**Context:** Technical documents, procedures and forms were scattered across personal machines and shared drives. Nobody could be certain the copy in hand was the current one.

**Approach:** Three storage tiers following the OAIS digital-archive model: raw intake, quarantine for review, and the canonical zone. Classification separates domain from tag, so a document carries many tags but belongs to one domain. Object storage runs with versioning enabled and a ninety-day window before permanent deletion.

**Outcome:** The design is finished but not deployed. A simpler form of technical document version control did run in practice at BFChem.

**What it returned:** One official version, and an accidental deletion is recoverable. Not yet running.

### 10. AI matching of candidate profiles to open roles

| | |
|---|---|
| Organisation | HEZA |
| Case studies | Sales & Recruitment |
| Status | **Delivered, basic level** |

**Context:** The job portal receives free-form CVs while every employer writes job descriptions differently. Manual screening does not scale, and keyword filtering misses good candidates purely because they used other words.

**Approach:** A locally hosted language model matches CVs to job descriptions semantically rather than by keyword overlap, then scores the degree of fit. Because the model runs in-house, candidate CVs never go out to an external service.

**Outcome:** The recruiter gets a shortlist to review first. This is a basic implementation, not a complete scoring system.

**What it returned:** A shortlist with reasons attached, and CVs never leave the company.

### 11. W×Q×T work planning and scoring framework

| | |
|---|---|
| Organisation | VNCPC |
| Case studies | Management & Operations |
| Status | **In deployment** |

**Context:** Weekly departmental reports arrive as prose, each in a different style. Reading all of them leaves no time for anything else; skimming means missing what matters.

**Approach:** Work is scored across three dimensions — volume, quality and timeliness — with a pipeline behind it: naturally written reports pass through AI extraction into structured data, land in a database, and appear as a dashboard. The people writing the reports change nothing about how they write.

**Outcome:** Leadership reads a dashboard rather than ten pages. The framework is designed for reuse across organisations and is currently going into the PMS work management system.

**What it returned:** Weekly reports become a dashboard without anyone changing how they write.

**From where you sit:** If you write the weekly report: keep writing it your way, the extraction is the machine's job.

### 12. Multi-template website production with layered AI roles

| | |
|---|---|
| Organisation | VNCPC, HEZA |
| Case studies | Marketing & Communications |
| Status | **Delivered** |

**Context:** Several page templates were needed for a website with no in-house design or development team. Articles also had to be checked against a set of criteria before publication, then translated into other languages.

**Approach:** A disciplined pipeline in which each AI model holds one role: one designs, one critiques the design, one writes the code, one review pass audits it, and only then is the version committed. For content, an article is checked against the criteria first and passed to AI for translation only once it clears. Sensitive functions such as login and payment use established components rather than hand-written code.

**Outcome:** This is also the method I teach: AI is not one universal assistant but a set of distinct roles placed at the right points in a process a human still controls.

**What it returned:** More than twelve templates built without hiring a design team.

### 13. Semi-automated meeting minutes with name verification

| | |
|---|---|
| Organisation | VNCPC |
| Case studies | Management & Meetings |
| Status | **Semi-automated** |

**Context:** Hand-written minutes are slow and get names and organisations wrong. Automatic transcription tools mishear Vietnamese proper nouns constantly.

**Approach:** Transcription runs from two parallel sources for cross-checking, after which personal and project names are matched against the organisation's authoritative staff list before the minutes are produced. The final version is a formatted web page sent straight to the partner.

**Outcome:** Minutes go out on the day of the meeting with names and project references correct. The transcription step still has one human check in it.

**What it returned:** Minutes go out on the day of the meeting instead of at the end of the week.

**From where you sit:** If you take minutes: the machine transcribes first, you read and correct instead of typing from scratch.

### 14. Evaluating ten low-code platforms before picking one

| | |
|---|---|
| Organisation | Independent project |
| Case studies | Management & Tool Selection |
| Status | **Completed** |

**Context:** Businesses want to build internal applications without a development team. The market offers dozens of platforms whose marketing is nearly identical; a wrong choice only becomes obvious a year later.

**Approach:** The criteria were set before opening any product: the entire data structure must be creatable through the API, response times must be adequate, permissions must reach row level, a single source of truth must be preservable, and the licence must permit commercial use. Directus, Teable, NocoBase, NocoDB and several others were then installed and trialled against that same sheet.

**Outcome:** The chosen platform came with reasons that can be explained, rather than being whichever one was most talked about.

**What it returned:** A platform chosen for reasons you can explain, not discovered after purchase.

## Training approach

The business problem remains even when tools change every few years. In class, people learn to see the problem, split it, and decide which parts a machine can take.

> **Process first, tool second.**
>
> Before asking which AI to buy, find the process that eats the most hours and see which step a machine can take. Buy the tool first and you often end up with software nobody uses.

### Four principles

**01. Learn on your own problem** — Each department submits one or two repetitive tasks that currently eat the most hours. That is the syllabus. No generic examples about a hypothetical company.

**02. Limits before tricks** — The dangerous part of AI is not what it cannot do but what it gets wrong with complete confidence. Participants need to recognise fabrication and build the habit of verifying before they sign.

**03. Company data does not wander off** — A clear line between what may go to a public tool and what must be processed internally. This is where infrastructure experience produces a very different answer from content experience.

**04. Leave the room with something running** — The acceptance criterion is that each department has at least one small process automated and genuinely in use — not a well-written set of notes.

### How I run a piece of work

1. **Plan** — Fix the scope and the acceptance criteria before touching the system.
2. **Investigate** — Measure the current state with real data; do not trust the verbal description.
3. **Fix** — Work in small batches, keeping the old method running alongside until confidence is earned.
4. **Verify** — No batch proceeds until the previous one is verified; clean up temporary traces when done.

### Business functions and how far I have actually taken each

_The table below states which functions have real work behind them and which do not. A gap does not mean it cannot be done — only that I have not met the specific problem yet. Better said now than discovered halfway through._

| Function | Material available for the syllabus | Done |
|---|---|---|
| Purchasing | Extracting data from quotations and contracts, supplier comparison, delivery milestone tracking | **No project yet** |
| Warehouse | QR asset identity, stocktaking by phone, in/out logging without typing | **Partly — Hung Thinh, Asia Gate** |
| Production | Standardised shift reports, timing-deviation alerts, stage-level traceability — given an existing capture system | **No project yet** |
| Formulation | Technical document versioning, specification lookup, control of the official copy | **Done — BFChem** |
| HR & Administration | Timekeeping, payroll, payslip distribution, internal approvals | **Contributed to** |
| Accounting | Attaching supporting documents where the accounting system does not allow them | **Done — ATT Vietnam** |
| Sales | Opportunity screening and scoring, proposal drafting, customer follow-up | **No project yet** |
| Marketing & Communications | Multilingual content production with quality control, multi-role AI pipelines | **Done — VNCPC, HEZA** |

### Delivery format

- **Audience:** Heads and deputy heads of the eight business functions
- **Location:** In-person training at the plant
- **Language:** Vietnamese. Materials can also be supplied in English or Chinese
- **Preparation:** A survey of each department's problems before the session, to build a tailored syllabus
- **Deliverable:** Each department leaves with one automated process and documentation to maintain it
- **After training:** Follow-on consulting to move those processes onto formal systems

_This is a proposal. The final scope will be adjusted to your actual requirements._

## Contact

If your managers have already listed the problems they want solved, please include that list — the proposal will be far more specific than any pre-packaged training programme.

- **Name:** Vu Ha
- **Email:** hacmieu@gmail.com
- **Phone / Zalo:** +84 915 678 069
- **Website:** aiha.dev
- **Location:** Xuan Dinh, Bac Tu Liem, Hanoi, Vietnam

---

_Personal capability profile. Updated August 2026. Project descriptions have been de-identified._
