Founder Perspective 9 min read

From Advisor to Building an AI OS for a Travel Company.

Từ vai trò cố vấn đến việc xây một AI OS cho công ty du lịch.

I came in as an advisor. Three months later I was maintaining an operating system. This is the honest account of how one narrow quotation tool became seven integrated services running a travel company's daily work — and the architecture decisions that made it survive contact with real users.

Tôi bắt đầu với vai trò cố vấn. Ba tháng sau, tôi đang duy trì một hệ điều hành. Đây là câu chuyện trung thực về việc một công cụ báo giá hẹp đã trở thành bảy dịch vụ tích hợp vận hành công việc hàng ngày của một công ty du lịch — và những quyết định kiến trúc giúp nó sống sót khi va chạm với người dùng thật.

Nguyen Hai Long
Nguyen Hai Long Founder & CTO, 247 Technical

The advice nobody needed

Lời khuyên mà không ai cần

Advisory work has a comfortable shape: you look at the business, you write a recommendation, you present it, you move on. I did some of that. It didn't change anything. The deck was accurate and completely useless, because the gap wasn't knowledge — everyone already knew the quoting process was slow and manual. The gap was that nobody had the time or the specific skills to fix it while also running the company.

Công việc cố vấn có một hình hài dễ chịu: bạn xem xét doanh nghiệp, viết khuyến nghị, trình bày, rồi rời đi. Tôi đã làm một phần như vậy. Nó không thay đổi được gì. Bản trình bày chính xác và hoàn toàn vô dụng, bởi khoảng trống không nằm ở kiến thức — ai cũng biết quy trình báo giá chậm và thủ công. Khoảng trống là không ai có thời gian hoặc kỹ năng cụ thể để sửa nó trong khi vẫn phải vận hành công ty.

The moment things changed was when I stopped advising and started shipping. Not a strategy for AI adoption — one tool, for one painful task: building a tour quotation. That was June. The first commit is dated 12 June 2026.

Khoảnh khắc mọi thứ thay đổi là khi tôi ngừng tư vấn và bắt đầu ship. Không phải một chiến lược áp dụng AI — mà là một công cụ, cho một việc đau đớn: dựng báo giá tour. Đó là tháng 6. Commit đầu tiên đề ngày 12/06/2026.

One decision that shaped everything after it

Một quyết định định hình mọi thứ sau đó

Early on I made an architectural call that looked strange to people expecting a normal software project: no custom frontend at all. Not for sales, not for accounting, not for management. The chat interface is the interface. Staff open Claude, describe what they need in Vietnamese or English, and the work happens.

Ngay từ đầu tôi đưa ra một quyết định kiến trúc trông rất lạ với những người kỳ vọng một dự án phần mềm thông thường: không xây frontend riêng nào cả. Không cho sales, không cho kế toán, không cho ban quản lý. Giao diện chat chính là giao diện. Nhân viên mở Claude, mô tả điều họ cần bằng tiếng Việt hoặc tiếng Anh, và công việc được thực hiện.

Behind that, the structure is deliberately boring: MCP servers are thin adapters that expose tools and nothing else. All the real business logic — pricing, scoring, rules, validation — lives in plain Python against one shared database. The AI layer can be swapped, extended or rebuilt without touching the logic that decides what a tour actually costs.

Phía sau đó, cấu trúc cố ý nhàm chán: các MCP server là adapter mỏng, chỉ expose tool và không làm gì khác. Toàn bộ business logic thật — định giá, chấm điểm, quy tắc, kiểm tra — nằm trong Python thuần trên một database dùng chung. Lớp AI có thể thay, mở rộng hay xây lại mà không đụng đến logic quyết định một tour thực sự có giá bao nhiêu.

This is the single reason the system grew as fast as it did. Adding a new capability means one client module, one thin adapter, one route. Not a new application with its own login, its own UI and its own maintenance burden.

Đây là lý do duy nhất khiến hệ thống phát triển nhanh như vậy. Thêm một năng lực mới nghĩa là một client module, một adapter mỏng, một route. Không phải một ứng dụng mới với login riêng, UI riêng và gánh nặng bảo trì riêng.

From one tool to seven services in three months

Từ một công cụ thành bảy dịch vụ trong ba tháng

The scope was deliberately narrow at the start — quotation only. But once staff had a working interface into their own data, the requests stopped being hypothetical and became specific. Each one was small enough to build, and each built on the same foundation:

Phạm vi ban đầu cố ý hẹp — chỉ báo giá. Nhưng khi nhân viên đã có một giao diện hoạt động được vào chính dữ liệu của họ, các yêu cầu không còn mang tính giả định mà trở nên rất cụ thể. Mỗi yêu cầu đủ nhỏ để làm, và mỗi cái đều xây trên cùng một nền móng:

  • Quotation — pricing versions, template exports, itinerary previews rendered straight into the chat.Báo giá — các phiên bản giá, xuất file từ template, xem trước lịch trình hiển thị thẳng trong chat.
  • Workflow & management — task assignment across the company, and a KPI/OKR scoring engine.Workflow & quản lý — giao việc toàn công ty, và một engine chấm điểm KPI/OKR.
  • Supplier and CRM access — reading contracted rates, and writing into the existing CRM rather than replacing it.Truy cập nhà cung cấp và CRM — đọc giá hợp đồng, và ghi vào CRM sẵn có thay vì thay thế nó.
  • Communications — mail and messaging channels, so a quote can go from calculation to customer without leaving the same interface.Kênh liên lạc — email và tin nhắn, để một báo giá đi từ khâu tính toán đến khách hàng mà không rời khỏi cùng một giao diện.

Seven services, roughly 180 commits, version 4.48 as I write this. None of it was planned in June. All of it came from watching what people actually asked for once the first thing worked.

Bảy dịch vụ, khoảng 180 commit, phiên bản 4.48 tại thời điểm tôi viết bài này. Không có gì trong số đó được lên kế hoạch từ tháng 6. Tất cả đều đến từ việc quan sát điều mọi người thực sự yêu cầu sau khi thứ đầu tiên chạy được.

What must never be left to the AI

Điều gì tuyệt đối không được giao cho AI

The most important lessons were about restraint. Two hard rules emerged, both from mistakes:

Những bài học quan trọng nhất lại là về sự tiết chế. Hai quy tắc cứng đã hình thành, cả hai đều từ sai lầm:

Money is deterministic. Pricing calculations and KPI scoring do not go anywhere near a language model. They are plain Python — same inputs, same outputs, every time, fully testable. AI decides what the user wants; it never decides what a number is. Anything a customer or an employee will be held to must be reproducible.

Tiền phải mang tính tất định. Việc tính giá và chấm điểm KPI không được đi qua bất kỳ mô hình ngôn ngữ nào. Chúng là Python thuần — cùng đầu vào, cùng đầu ra, mọi lúc, kiểm thử được đầy đủ. AI quyết định người dùng muốn gì; nó không bao giờ quyết định một con số là bao nhiêu. Bất cứ thứ gì mà khách hàng hay nhân viên phải chịu trách nhiệm đều phải tái lập được.

Never let the AI invent the artefact a customer sees. Early on, it produced a genuinely attractive proposal document — with a hand-typed header and the wrong brand colour. It looked professional and it was wrong. The rule now is absolute: customer-facing files come from the company's real templates, carrying the real formulas and the real branding. If the export fails, the correct behaviour is to stop and say so — not to helpfully generate something that looks close enough.

Không bao giờ để AI tự sáng tác thứ mà khách hàng nhìn thấy. Giai đoạn đầu, nó tạo ra một tài liệu proposal thực sự bắt mắt — với header gõ tay và sai màu thương hiệu. Nó trông chuyên nghiệp và nó sai. Quy tắc bây giờ là tuyệt đối: file gửi khách phải xuất ra từ template thật của công ty, mang theo công thức thật và nhận diện thương hiệu thật. Nếu xuất lỗi, hành vi đúng là dừng lại và báo — không phải "nhiệt tình" tạo ra thứ gì đó trông na ná.

Both rules point the same direction: an AI system earns trust by being predictable at the edges where it touches money and reputation, not by being impressive in the middle.

Cả hai quy tắc đều chỉ về một hướng: một hệ thống AI giành được lòng tin bằng cách có thể dự đoán được ở những điểm rìa nơi nó chạm tới tiền bạc và uy tín, chứ không phải bằng cách gây ấn tượng ở phần giữa.

What advising actually means now

Cố vấn thực sự có nghĩa là gì bây giờ

The version of advisory work I believe in now looks nothing like the one I started with. It isn't producing a recommendation and handing it over. It's sitting inside the operation, finding the one task that costs the most and hurts the most, and building the smallest thing that fixes it — then letting the next problem reveal itself.

Phiên bản công việc cố vấn mà tôi tin bây giờ không giống chút nào với phiên bản tôi bắt đầu. Nó không phải là tạo ra một khuyến nghị rồi bàn giao. Nó là ngồi bên trong hoạt động vận hành, tìm ra việc tốn kém nhất và gây đau nhất, rồi xây thứ nhỏ nhất sửa được nó — sau đó để vấn đề tiếp theo tự lộ diện.

AI is what makes this newly possible for one person. Three months of work like this would have needed a team a few years ago. But the leverage only shows up if you're willing to be accountable for a running system rather than a document — to be the person who gets the message when something breaks at 9pm, not the one whose engagement ended at the presentation.

AI là thứ khiến điều này trở nên khả thi với một người. Ba tháng công việc như vậy vài năm trước sẽ cần cả một đội. Nhưng đòn bẩy chỉ xuất hiện nếu bạn sẵn sàng chịu trách nhiệm cho một hệ thống đang chạy chứ không phải một tài liệu — là người nhận được tin nhắn khi có thứ gì đó hỏng lúc 9 giờ tối, không phải người kết thúc hợp đồng ngay tại buổi thuyết trình.

That's the real shift. Advice is cheap now — a language model gives decent advice for free. What's scarce is someone who will build the thing, own it in production, and be there when it matters.

Đó mới là sự dịch chuyển thật. Lời khuyên giờ rẻ — một mô hình ngôn ngữ cho lời khuyên tử tế miễn phí. Thứ khan hiếm là người sẽ xây ra sản phẩm, chịu trách nhiệm với nó trong môi trường production, và có mặt khi cần.

Thinking about an AI layer for your travel operation?

Đang cân nhắc một lớp AI cho vận hành du lịch của bạn?

In a 30-minute call we look at where your team actually loses time, and outline the smallest system that would fix it — what should stay deterministic, and what AI should handle. No sales deck.

Trong cuộc gọi 30 phút, chúng tôi xem đội của bạn thực sự mất thời gian ở đâu, và phác thảo hệ thống nhỏ nhất sửa được nó — cái gì nên giữ tất định, cái gì để AI xử lý. Không pitch deck.

Book Free Strategy CallĐặt lịch tư vấn miễn phí