Build in public · cập nhật 18/10/2026

Mình làm Kite vì từng ngồi dò chuyển khoản tới khuya mỗi đợt mở lớp.

Mình là Tony, mình bán workshop và khoá học của chính mình. Trang này kể vì sao mình làm Kite, Kite đã làm được những gì, và còn bao xa nữa.

Trang Tổng quan trên cửa hàng demo của Kite: doanh thu hôm nay, số đơn SePay tự xác nhận, thời gian từ chuyển khoản tới vào học, các việc cần làm như khoản chuyển thiếu hay không khớp đơn, và các đơn vừa thanh toán
Ảnh chụp từ cửa hàng demo đang chạy, bản 1.2.1.
12bản đã phát hành tới 1.3.1, bản đầu ngày 02/10/2026
30+kịch bản cài đặt, cập nhật và sự cố chạy thử trước mỗi bản
4Tiện ích có trong Kite: Đặt lịch, Chiến dịch email, Cộng đồng, Đối tác bán hàng (chưa mở bán)
1nơi cài: máy chủ riêng (VPS)

Chuyện bắt đầu từ đâu

Mỗi lần mở lớp, học viên chuyển khoản. Mình mở app ngân hàng, dò từng dòng sao kê, đối tên với danh sách đăng ký, rồi gửi link vào học bằng tay. Ai chuyển thiếu, ai ghi sai nội dung, ai chuyển lúc nửa đêm, mình đều phải tự xử lý.

Mình viết một công cụ nội bộ để máy tự đối tiền với đơn. Từ đó, hơn 10 workshop chạy gần như không cần mình đụng tay. Đợt bán combo tháng 1 thu hơn 100 triệu, và mình không còn thức đêm dò sao kê.

Công cụ đó viết riêng cho mình, người khác không dùng được. Kite là bản làm lại từ đầu cho những người dạy học giống mình: mua một lần, cài lên máy chủ của bạn. Học viên, dữ liệu và doanh thu nằm ở chỗ của bạn, không nằm ở chỗ mình.

  1. Chuyển khoản xong là vô học liền.

    Không ai phải ngồi dò sao kê.

  2. Cập nhật không được làm sập site.

    Bản mới lỗi thì tự quay về bản đang chạy.

  3. Ngưng gia hạn, site vẫn bán hàng.

    Mua một lần, không bị khoá.

01 · Bán

Học viên tự mua, tự trả tiền, tự vào học.

Ảnh trong các phần dưới là ảnh chụp từ cửa hàng demo đang chạy (demo.kite.vibery.app, bản 1.2.1). Ba ảnh mà tài khoản xem demo không mở được (trình cài đặt, kết quả quiz, trang Sao lưu) chụp từ một bản Kite chạy thử trên máy mình, bản 1.2.0, và ghi rõ dưới ảnh.

Học viên xem trang khoá học, quét mã QR, chuyển khoản. SePay báo tiền về, Kite đối với đơn, mở khoá học và gửi email xác nhận. Bạn không phải làm gì giữa các bước đó.

Trang chủ cửa hàng demo Học với Nhung: lời giới thiệu và ảnh người bán, lưới khoá học và sản phẩm có ảnh bìa, ba bước mua hàng
Trang chủ cửa hàng (từ 1.1.1): Kite dựng từ chính dữ liệu cửa hàng, gồm lời giới thiệu, sản phẩm, các bước mua, câu chuyện của bạn và câu hỏi thường gặp. Mục nào chưa có nội dung thì tự ẩn.
Trang khoá học Làm và bán khoá học trên cửa hàng demo: giá, nút Mua ngay, số bài học và nội dung khoá
Trang khoá học: giới thiệu, giá, nút mua, nội dung từng chương.
Trang thanh toán của cửa hàng demo: email nhận link vào học, họ tên, số điện thoại không bắt buộc, mã giảm giá và nút Lấy mã QR chuyển khoản
Thanh toán: khách điền email và tên, bấm một nút là có mã QR ghi sẵn số tiền và nội dung chuyển khoản.
Màn hình soạn trang bán khoá học: danh sách các phần với nút ẩn hiện, đổi thứ tự và xoá bên trái, phần xem trước trực tiếp bên phải
Trang bán hàng: thêm, ẩn hiện và sắp xếp từng phần; bấm vào một phần trong bản xem trước để sửa đúng phần đó.
Mục Giao diện trên cửa hàng demo: màu chính, phông chữ, góc bo và kiểu nút bên trái, xem trước trang chủ cửa hàng bên phải
Giao diện (từ 1.2.0): chọn màu, chữ, góc bo, kiểu nút và các phần của trang chủ. Phần xem trước bên phải là đúng trang khách sẽ thấy; bấm Xuất bản thì cửa hàng mới đổi.
Hộp thoại Đổi giao diện mẫu trong mục Giao diện: ba mẫu có sẵn là Dịu sáng, Gọn và Mềm, mỗi mẫu có nút Mua ngay minh hoạ, và phần Mẫu bạn đã lưu còn trống
Giao diện, đổi mẫu (từ 1.2.0): chọn một trong các mẫu có sẵn, mỗi mẫu đổi phông chữ, góc bo, kiểu nút và khoảng cách; màu, các phần trang chủ của bạn được giữ nguyên. Chỉ là bản nháp cho tới khi bấm Xuất bản. Cửa hàng demo chưa lưu mẫu riêng nào.
Tab Giá của sản phẩm Combo 3 khoá Marketing: giá bán 3.990.000 đồng, giá lẻ cộng lại 2.870.000 đồng, các mức giảm 10, 20 và 30 phần trăm kèm số tiền khách tiết kiệm, ô xem giá cho một khách, và hai mục Ưu đãi và Phiên bản đang trống
Giá của một sản phẩm (từ 1.2.0): đặt giá bán, xem giá lẻ cộng lại của các khoá trong combo và mức giảm gợi ý, rồi thêm ưu đãi hoặc phiên bản khác. Ô bên phải cho biết khách có email đó sẽ trả bao nhiêu. Cửa hàng demo chưa có ưu đãi hay phiên bản nào nên hai mục đó còn trống.

02 · Học

Học viên học trên site của bạn, mang tên bạn.

Video phát qua Bunny, có gắn email người xem để hạn chế tải và truy ra người phát tán. Học xong chương thì làm quiz, xong khoá thì nhận chứng chỉ mang tên học viên.

Bài học Tìm chủ đề đã có người trả tiền, xem như học viên: nội dung bài, nút Hoàn thành và bài tiếp, mục lục khoá học bên phải
Bài học, đúng như học viên thấy: nội dung bài, mục lục khoá bên phải, bấm hoàn thành là sang bài tiếp. Bài video thì video nằm ngay chỗ nội dung; bài trong cửa hàng demo là bài đọc.
Tab Tài liệu của bài học: tệp PDF đính kèm với nút Tải tệp
Tài liệu đính kèm: mỗi bài có tab Tài liệu để học viên tải tệp bạn gắn vào bài.
Kết quả bài Kiểm tra chương 2 của học viên: đạt 2 trên 3, lần làm thứ hai, một câu chưa đúng kèm liên kết Xem lại bài 2.1 và nút Làm lại
Quiz: chấm điểm ngay, câu nào sai thì chỉ ra bài nên ôn lại và không lộ đáp án, rồi cho làm lại. Ảnh chụp từ một bản Kite chạy thử trên máy mình (1.2.0), vì làm bài là tạo một lượt làm nên mình không chụp từ cửa hàng demo.
Danh sách chứng chỉ đã cấp trên cửa hàng demo: tên học viên, khoá học, mã xác minh, ngày cấp, còn hiệu lực
Chứng chỉ: học viên học xong là Kite tự cấp, kèm mã để ai cũng kiểm tra được chứng chỉ đó do bạn cấp.
Nhóm cộng đồng của khoá Thiết kế với Canva: ô đăng bài, thông báo lịch học bù và bài khoe bài tập của học viên
Cộng đồng: mỗi khoá có một nhóm riêng để học viên hỏi bài, khoe bài tập và nhận thông báo, thay cho nhóm Zalo.

03 · Vận hành mỗi ngày

Mở máy lên là biết hôm nay cần làm gì.

Trang Tổng quan cho biết doanh thu, số đơn đã thanh toán và bao lâu từ lúc chuyển khoản tới lúc học viên vào học. Đơn nào chuyển thiếu, chuyển dư hoặc ghi sai nội dung thì hiện trong hàng đợi Thanh toán, kèm nút xử lý.

Trang Thanh toán trên cửa hàng demo: 8 trên 12 giao dịch tự khớp, 4 khoản cần xem gồm chuyển thiếu và chuyển không khớp đơn
Thanh toán: chỉ hiện những khoản cần bạn xem, phần còn lại Kite tự khớp.
Màn hình soạn khoá học Làm và bán khoá học: thẻ khoá học như học viên thấy, giá bán và công tắc đang bán, bên dưới là chương, bài và bài đang chọn
Soạn khoá học: đặt giá bán ngay trong khoá, xem thẻ khoá như học viên thấy, chia chương, thêm bài, gắn video, PDF và quiz.
Trang Đơn hàng trên cửa hàng demo: lọc theo trạng thái và sản phẩm, ô chọn từng đơn, số tiền và trạng thái thanh toán
Đơn hàng: lọc theo trạng thái và sản phẩm, chọn nhiều đơn một lúc để huỷ đơn chờ. Chủ cửa hàng còn tạo được đơn thủ công và xuất CSV ở đây; tài khoản demo không có hai quyền này nên ảnh không có hai nút đó.
Màn hình riêng của một đơn hàng trên cửa hàng demo: số đơn, tên và email người mua, tab Tổng quan, Lịch sử và Ghi chú, sản phẩm đã mua, tổng cộng và tiến trình đơn từ đặt, chuyển khoản, đối soát tới vào học
Một đơn hàng (từ 1.2.1): bấm vào một dòng trong Đơn hàng là mở màn hình riêng của đơn đó, với tiến trình từ lúc đặt, chuyển khoản, đối soát tới khi học viên vào học. Học viên và khoá học liên quan mở ngay bên cạnh, không rời màn hình này. Cũng vậy với Học viên, Khoá học, Sản phẩm và Mã giảm giá.

04 · Tăng trưởng

Giữ liên lạc với học viên cũ, mở thêm tính năng khi cần.

Chiến dịch email chạy ngay trong Kite: danh sách, phân khúc, chuỗi email tự gửi, bản tin. Người nhận tự bấm đồng ý, ai huỷ thì dừng gửi ngay. Các tính năng lớn hơn đóng gói thành Tiện ích (Tails), bật theo bản quyền.

Màn hình soạn chiến dịch email: người nhận, ưu đãi kèm theo, nội dung bên trái, bản xem trước bên phải
Chiến dịch email: soạn bản tin, chọn người nhận và ưu đãi, xem trước ngay bên cạnh.
Trang Tiện ích trên cửa hàng demo: Đặt lịch, Campaigns và Cộng đồng đang bật
Tiện ích: Đặt lịch, Chiến dịch email và Cộng đồng đang bật trên cửa hàng demo.

Làm việc với Claude và ChatGPT

Kite có API và MCP, nên Claude hay ChatGPT tạo được khoá học, mã giảm giá và báo cáo doanh thu thay bạn, qua đúng những quyền bạn cấp.

05 · An tâm

Cài một lần, cập nhật một nút, có sao lưu đỡ lưng.

Trình cài đặt Cất cánh dẫn bạn đi từng bước, có nút kiểm tra kết nối cho mỗi bước. Mỗi đêm Kite tự sao lưu, ký bản vừa tạo, và gửi thêm được một bản đã mã hoá ra ngoài máy chủ. Cập nhật thì bấm một nút, hoặc hẹn chạy đêm nay sau bản sao lưu: Kite sao lưu trước, bản mới lỗi thì tự quay về bản cũ. Từ 1.0.2, bộ cập nhật cũng tự chuyển lên bản mới, bạn không phải gõ thêm lệnh nào.

Trình cài đặt Cất cánh ở bước 7, nối SePay: danh sách 10 bước bên trái, chế độ Thử nghiệm hoặc Thật, mã ngân hàng, số tài khoản nhận, tên chủ tài khoản, API token và khoá webhook
Cất cánh, bước 7 trong 10: nối SePay, mỗi ô có hướng dẫn ngắn và có nút kiểm tra. Ảnh chụp từ một bản Kite chạy thử trên máy mình (1.2.0), vì cửa hàng demo đã cài xong nên không mở lại trình cài đặt.
Trang Hệ thống trên cửa hàng demo: sức khoẻ cửa hàng, bản đang chạy 1.2.1, cơ sở dữ liệu, lưu trữ, email, việc nền, sao lưu, video và tên miền trang
Hệ thống: dữ liệu, email, video, sao lưu và bản đang chạy (ở đây là 1.2.1). Có gì lỗi là thấy ngay.
Trang Sao lưu của chủ cửa hàng: bản sao lưu gần nhất, chọn nơi lưu ngoài máy chủ (Cloudflare R2, Google Drive hoặc S3 tương thích) và ô nhập thông tin kết nối, nút Sao lưu ngay
Sao lưu: chọn nơi lưu ngoài máy chủ là Cloudflare R2, Google Drive hoặc S3 tương thích, bật mã hoá trước khi gửi đi. Lựa chọn Google Drive dùng được khi Kite Sky hoàn tất kết nối với Google. Ảnh chụp từ một bản Kite chạy thử trên máy mình (1.2.0) bằng tài khoản chủ cửa hàng: tài khoản xem demo không mở trang này.

Đang làm tới đâu

Kite đã có bản chính thức. Bản nào cũng được ký và chạy thử trên máy giả lập trước khi phát hành. Từ 1.0.1, cửa hàng demo chạy bản mới ngay trong ngày phát hành.

  1. Kite 1.0.0 “Arch”

    Bản chính thức đầu tiên. Bán khoá học và sản phẩm số, SePay tự xác nhận chuyển khoản, video gắn email người xem, quiz và chứng chỉ, sao lưu, cập nhật một nút có tự quay về bản cũ.

  2. Kite 1.0.1

    Bạn tự cài Kite được chỉ với lệnh cài đặt và mã giấy phép. Cửa hàng demo mở cho khách vào xem trang quản trị.

  3. Kite 1.0.2

    Cửa hàng, trang học và trang quản trị được làm lại, ảnh trên trang này chụp từ giao diện đó. Thêm bài học thử, số điện thoại khi thanh toán, các bản sửa bảo mật, và bộ cập nhật tự chuyển lên bản mới.

  4. Kite 1.0.3

    Bản sửa nhỏ: trang Tổng quan hiện đúng phiên bản đang chạy, cửa hàng gửi email qua Amazon SES không còn bị báo là chưa cài email.

  5. Kite 1.1.0

    Bản sao lưu được ký, mã hoá được trước khi gửi ra ngoài máy chủ (Cloudflare R2 hoặc S3 tương thích). Hẹn cập nhật đêm nay sau bản sao lưu. Tạo đơn thủ công, xuất CSV đơn hàng và học viên. Nhập khoá học từ file CSV, tài liệu đính kèm cho từng bài, quiz chỉ ra bài nên ôn. Màu nhấn và font cho trang bán, số liệu trong tuần của từng Tiện ích, và lệnh digisell báo lỗi bằng tiếng Việt.

  6. Kite 1.1.1

    Trang chủ cửa hàng được làm lại từ chính dữ liệu cửa hàng: ảnh và lời giới thiệu, lưới sản phẩm, các bước mua, câu chuyện của bạn và câu hỏi thường gặp, theo đúng thứ tự bạn sắp xếp. Phần xem trước khi soạn hiện đúng trang chủ khách thấy. Trang Hệ thống có thẻ Hỗ trợ Kite, và Kite gửi email báo bạn khi cập nhật, sao lưu hay SePay gặp sự cố.

  7. Kite 1.1.2

    Đăng nhập bằng mật khẩu, tuỳ chọn cho cả chủ cửa hàng và học viên. Trang Tài khoản mới để đặt, đổi hoặc gỡ mật khẩu; quên thì bấm "Quên mật khẩu?" để nhận link đăng nhập qua email. Mỗi lần đổi, Kite gửi email báo và đăng xuất các thiết bị khác. Cửa hàng demo không dùng mật khẩu.

  8. Kite 1.1.3

    Bản sửa nhỏ: khôi phục lại được các bản sao lưu tạo trước khi cập nhật, kể cả bản tự động tạo ngay trước lần cập nhật.

  9. Kite 1.2.0

    Bản lớn sau mười ngày: giao diện quản trị mới dùng tốt trên điện thoại; khoá học tự bán được bằng giá của chính nó; ưu đãi giá, phiên bản và combo; mục Giao diện để chọn mẫu, màu, chữ và xem lại lịch sử; trình soạn email và chứng chỉ; trợ lý AI kết nối qua /mcp bằng OAuth. Bản này cũng mang theo tiện ích Đối tác bán hàng, sẽ mở bán sau.

  10. Kite 1.2.1

    Bản sửa nhỏ về cách mở một mục trong quản trị: bấm một dòng trong danh sách khoá học, sản phẩm, mã giảm giá, học viên, đơn hàng hay tệp sẽ mở trang riêng của mục đó. Học viên, đơn hàng và tệp nay có trang riêng. Mục liên quan vẫn mở ở khung bên cạnh, kèm nút "Mở trang riêng".

  11. Kite 1.3.0

    Ưu đãi chọn được thời điểm bắt đầu: trước lúc đó ưu đãi hiện "Sắp bắt đầu" và người mua vẫn trả giá gốc. Các mục trong combo giữ đúng thứ tự bạn sắp, đổi bằng nút lên/xuống hoặc kéo thả. Thông báo nhỏ trên điện thoại không còn che thanh điều hướng dưới. Trang Sao lưu báo rõ khi khôi phục xong chỉ còn bước đối soát SePay.

  12. Kite 1.3.1

    Bản sửa trong ngày: 1.3.0 làm lệch giao diện vài chỗ trong trang sản phẩm (mức giảm gợi ý ở tab Giá của combo, hộp tạo sản phẩm, nút kéo đổi thứ tự, ảnh bìa). Mình phát hiện khi cập nhật cửa hàng demo, sửa, thêm kiểm thử bắt đúng lỗi này rồi phát hành 1.3.1 ngay trong buổi sáng.

Tiếp theo

  1. Một cửa hàng thật. Mình bán khoá học của chính mình trên Kite, nhận đơn và chuyển khoản thật, trước khi bán Kite cho ai.
  2. Khoảng 20 bản quyền đầu tiên. Cửa hàng đó chạy ổn rồi, mình cấp tay từng bản quyền theo thứ tự đăng ký.

Vừa xong trong 1.3.0

Tuần này

Một lỗi gần đây mình sửa nằm ở 1.0.3. Sáng 06/10, lúc cập nhật cửa hàng demo lên 1.0.2, mình thấy trang Tổng quan vẫn mời cập nhật dù cửa hàng đang chạy bản mới nhất, còn email gửi qua Amazon SES thì bị báo là chưa cài. Cả hai lỗi đều do Kite đọc sai thông tin của chính nó. Mình sửa, thêm kiểm thử bắt đúng hai lỗi đó, rồi phát hành 1.0.3 ngay trong buổi sáng. Bộ cập nhật của cửa hàng demo đưa nó lên 1.0.3 rồi tự chuyển sang bản mới, không cần gõ thêm lệnh nào.

Trước mỗi lần phát hành, máy thử chạy hơn 30 kịch bản: cài mới, cập nhật, tắt ngang giữa chừng, cài phải bản lỗi, cập nhật từ bộ cập nhật của bản cũ. Kịch bản nào hỏng thì chưa phát hành.

Mình chưa bán Kite.

Trước khi bán cho ai, mình chạy một cửa hàng thật trên Kite để bán khoá học của chính mình. Cửa hàng đó chạy ổn với đơn thật rồi, mình mới mở First Flight: khoảng 20 bản quyền đầu tiên, mình cấp tay theo thứ tự đăng ký.

Giá chưa chốt, nên ở bước này bạn chỉ cần để lại email, chưa phải trả gì. Tới lượt bạn, mình email báo.

Đăng ký dùng thử sớmVào xem cửa hàng demo

Tony
người làm Kite