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
@kitmodule
4 phút đọc
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
5
lượt xem
Người viết bài
Được đăng trên
Nền tảng kit module của chúng tôi giúp bạn xây dựng sản phẩm nhanh chóng và linh hoạt. Từng module được thiết kế để tích hợp dễ dàng, mở rộng mượt mà, và tùy biến theo nhu cầu thực tế – từ những nhu cầu thực tế nhỏ đến hệ thống quy mô lớn.
Bài Viết Liên Quan

Chỉ là mình thích cách lập trình web của mình. Có thể tùy chỉnh theo ý thích và không phụ thuộc vào framework.

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.

Hôm nay, mình muốn kể cho mọi người nghe về Kit JS, một framework JavaScript nhỏ bé mà mình tự tay viết nên. Nó vẫn đang trong giai đoạn thử nghiệm – còn nhiều điều phải tối ưu, mở rộng – nhưng mình muốn chia sẻ nó với tinh thần #buildinpublic và #opencoding. Nó chưa hoàn hảo để ứng dụng vào sản phẩm thật, nhưng nó đủ để học hỏi, để mơ mộng và để nhớ lại tại sao ta yêu lập trình đến thế.

Khi tôi bắt đầu hành trình lập trình và phát triển phần mềm, tôi chưa bao giờ nghĩ mình sẽ trở thành một Indie Hacker. Đối với tôi, chỉ đơn giản là tôi đang xây dựng những sản phẩm phần mềm mà tôi cảm thấy đam mê và muốn chia sẻ với cộng đồng. Nhưng dần dần, khi tôi nhìn lại con đường mình đã đi, tôi nhận ra rằng tôi đã bước vào thế giới của những Indie Hacker từ lúc nào không hay.

Hành trình của tôi không bắt đầu ở một công ty lớn, cũng chẳng gắn liền với những startup gọi vốn hàng triệu đô. Nó bắt đầu từ một chiếc laptop cũ, từ căn phòng nhỏ ở quê nhà Tam Kỳ, nơi tôi vừa làm việc, vừa tự học code – và mang trong mình một khát khao duy nhất: “ Làm chủ công nghệ. Tạo ra giá trị thực bằng chính đôi tay mình.”

Tôi từng nghĩ hành trình indie bắt đầu bằng một sản phẩm. Nhưng hóa ra, nó bắt đầu bằng những bước chân trên hành trình tìm lại chính mình.

Mười năm mơ kết mây thành hoa trắng. Mây vỡ, hoa tan – tàn giấc mơ hoa. Nhưng giấc mơ hoa này, ta xin mơ một lần... Vì đời này, ta chỉ có một giấc mơ. Và một cuộc đời.

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.

Lại là mình, và hôm nay mình muốn nói về Kit JS — tại sao nó ra đời, tồn tại và phục vụ mục đích gì. Vì bài trước mình đã nói về câu chuyện, nhưng chưa thật sự target vào mục đích người dùng.

Thế giới công nghệ phát triển nhanh chóng, và một trong những bước tiến thú vị mà tôi có cơ hội tiếp cận là hệ giao thức phân tán. Cơ hội này mở ra từ những nhu cầu tưởng chừng đơn giản như xây dựng một ứng dụng chat trực tiếp giữa các thiết bị mà không cần máy chủ trung gian. Điều này đưa tôi đến với các giao thức phân tán như WebRTC và các phương pháp truyền dữ liệu ngang hàng (Peer-to-Peer, hay P2P).

