Kitwork và hành trình của tôi, một indie hacker theo đuổi open-source
Khi tôi viết những dòng đầu tiên trong file README của Kitwork, nhiều người nói tôi “ngáo”.

Kit Module
4 phút đọc
@kitmodule
02 tháng 12 năm 2025

Bắt đầu opensource với README
Nhưng với tôi, đó chính là khoảnh khắc bắt đầu, không chỉ của Kitwork, mà còn là của một con đường indie mà tôi biết rằng đáng giá.
Hôm nay, Kitwork đã mở cửa tại opens.vn và kèm theo một API demo nhỏ: https://opens.vn/api/price-gold/pnj.
Nếu bạn vào mà không thấy kết quả, có thể bạn đến chậm, server đang quá tải hoặc đơn giản là tôi chưa viết cache.
Và đây là lý do tôi chọn open-source. Bạn có thể clone repo về và tự chạy nó: https://github.com/kitwork/kitwork. Chỉ cần clone repo, chạy file thực thi phù hợp với hệ điều hành của bạn, và Kitwork sẽ chạy ngay ở cổng 80. Không Docker, không cài môi trường, không lệ thuộc bất cứ thứ gì.
Cấu trúc cơ bản của Kitwork
Thư mục ./tasks
Chứa các file .work. Hiện tại chúng là tĩnh, nên nếu bạn sửa file, bạn phải restart service. Sau này tôi sẽ bổ sung chế độ theo dõi file để tự reload, giống Git hoặc nodemon.
Thư mục ./router
Bạn có thể chỉnh sửa trực tiếp và Kitwork reload ngay lập tức.
Go code không bắt buộc
Bạn có thể xóa toàn bộ file .go. Kitwork chỉ cần file thực thi và các folder cấu hình.
Nhiều người nghĩ Kitwork là YAML sinh ra Golang. Không, nó là config kết hợp handler, giống serverless functions và workflow engine nhưng cực kỳ nhẹ, tự chạy và tự deploy. Kitwork giúp tôi triển khai bất kỳ service nào nhanh nhất có thể.
Câu chuyện bắt đầu từ Kitstack
Một người em từng hỏi tôi:
"Sao anh không open-source những thứ anh đã làm?"
Tôi từng viết một fullstack framework riêng, tạm gọi là kitstack. Nó giống Liquid, Django hay Spring Boot nhưng viết bằng Golang. Kitstack là thứ đã nuôi sống tôi nhiều năm và giúp tôi triển khai website chỉ bằng cách:
> tạo một profile
> copy folder template lên server
Nhưng kitstack chứa nhiều API và hàm bảo mật của khách hàng, nên tôi không thể open-source.
Vì vậy tôi tạo ra Kitwork, nơi tôi chiết xuất tinh túy nhất từ năm năm đó. Nó bao gồm hệ thống DNS, load balancing, proxy engine, template engine, kiến trúc plugin và trải nghiệm cấu hình cực nhẹ giống serverless.
Tất cả sẽ được tôi dần đưa vào Kitwork.
Kitwork sẽ trở thành gì trong tương lai
Tôi không muốn Kitwork chỉ là một repository. Tôi muốn nó trở thành nền tảng đầu tiên cho các indie hacker hay startup nhỏ bắt đầu giấc mơ công nghệ của mình.
Giống như bạn clone một thư mục Git về và chạy. Ngay lập tức có backend, routing, workflow và template. Không cần cài môi trường, Docker hay Kubernetes.
Tầm nhìn dài hạn của Kitwork gồm:
- Serverless Functions tự self-host
Chạy mọi thứ bằng file .work, cực nhanh và cực nhẹ. - Backend low-code / no-code tự vận hành
Xây API, workflow, cronjob chỉ bằng cấu hình mà không cần viết code phức tạp. - Hệ thống microservice nhẹ, dễ bảo trì
Không phụ thuộc cloud, không hạ tầng nặng. - Tích hợp V8 (v8go) để chạy JavaScript
Viết logic bằng JS ngay trong file .work mà không cần Node.js. - Query database trực tiếp trong file .work
Không cần viết thêm handler Go nếu không muốn. - Hoàn thiện lại template engine
Go template hiện tại quá hạn chế, không hỗ trợ toán tử. Tôi muốn viết một engine mới linh hoạt hơn, sạch hơn.
Opens.vn là nơi thử nghiệm và mở cửa mọi thứ
Tôi sẽ thử nghiệm Kitwork tại opens.vn và mở mọi thứ cho cộng đồng. Các service, API mẫu, workflow mẫu, template mẫu, tất cả bạn đều có thể:
- Tải về
- Chỉnh sửa
- Tự host
- Biến nó thành nền tảng của riêng bạn
Người khác bán dịch vụ, còn tôi chia sẻ giấc mơ.
Có thể với nhiều người, Kitwork chỉ là một website và một repo GitHub. Nhưng ai clone repo và chạy thử sẽ cảm nhận được điều tôi muốn nói: một nền tảng nhỏ nhưng có khả năng trở thành rất lớn, một công cụ indie nhưng có thể mở ra cả một hệ sinh thái mới.
Bạn cũng có thể xem và đánh giá Kitwork trên Product Hunt tại đây: https://www.producthunt.com/products/kit-work.
Kitwork và tôi, một indie hacker với những đam mê open-source, vẫn đang tiếp tục hành trình này. Từng dòng code, từng workflow, đều là cách tôi chia sẻ giấc mơ của mình với thế giới của một #indiehackers đang #buildinpublic.
* Hình ảnh chỉ mang tính chất minh họa
6
lượt xem
Bài Viết Liên Quan

Có vẽ dạo gần đây có nhiều câu chuyện về quảng cáo Youtube và sự can thiệp của Server Side Render từ sever của youtube đang dần trở nên phổ biến. Bài viết này sẽ chia sẽ những điều tôi biết vê Server Side Rendering...

Cuối cùng, tôi vẫn tự hỏi: “Nếu có một dự án lớn, mình sẽ làm gì?”. Tôi chẳng có gì ngoài những nợ nần và niềm đam mê. Nhưng tôi biết, chỉ cần còn đam mê, tôi vẫn sẽ bước tiếp. "Coding and life" - đó là cách mà kẻ dại khờ này tiếp tục.

Tôi – Huỳnh Nhân Quốc .Tôi không đến với công nghệ qua những giảng đường đại học.Không bằng cấp. Không giáo trình. Không người chỉ dẫn. Chỉ là một góc nhỏ với một chiếc laptop cũ và một đứa trẻ mộng mơ ngồi gõ những dòng HTML đầu tiên trong ánh đèn của phòng nhỏ.

Trong thế giới JavaScript, chúng ta đã quen với những khái niệm như bind, model, class hay style. Chúng đều xoay quanh một triết lý chung: data đi xuống, view phản ứng.

Khi tôi viết những dòng đầu tiên trong file README của Kitwork, nhiều người nói tôi “ngáo”.

Nếu ai đó hỏi tôi làm nghề gì, và họ thực sự muốn một câu trả lời chân thành, tôi có thể nói indie.

Hôm nay, tôi tình cờ đọc được một câu hỏi thú vị: “Bạn đang dùng stack gì thế?” Có thể bạn đã nghe đến những tên gọi quen thuộc như LAMP, LEMP, MEAN hay thậm chí là JAM stack. Nhưng GFPV Stack là gì? Có thể đây là một khái niệm bạn chưa từng nghe đến. Hôm nay, tôi sẽ chia sẻ về GFPV Stack – con đường tôi đã đi qua, những gì tôi đã học hỏi và trải nghiệm.

Node ID và Multi-Node ID:An toàn và bảo mật: Mỗi dữ liệu được mã hóa theo từng node khác nhau, kết hợp với thuật toán mã hóa riêng biệt, tạo ra một cấu trúc dữ liệu chặt chẽ và không giống nhau, đảm bảo tính an toàn và bảo mật cho thông tin.
