🌤️ Giấc mơ của những Indie Coder
“Nếu đi về phía mặt trời, bạn sẽ đón nắng. Còn nếu đi ngược phía mặt trời, ánh sáng vẫn sẽ dõi theo.”

Kit Module
@kitmodule
5 phút đọc
20 tháng 10 năm 2025

Một người bạn
Đã rất lâu rồi tôi mới được nói chuyện với một người đồng chí hướng.
Dù chúng tôi chỉ nói chuyện online, nhưng dường như cả hai đều nhìn thấy con đường của đối phương một cách rõ ràng.
Chúng tôi gặp nhau qua một đoạn threads.
Tôi không biết nên gọi mối quan hệ này là gì.
Có thể, vì từng biết đến nhau qua một nhóm BuildInPublic, chúng tôi có thể gọi nhau là những indie hacker.
Nhưng tại sao tôi lại gọi bài này là “Giấc mơ của những indie coder”?
Có lẽ là vì xuất thân.
Chúng tôi là những người trẻ đi tìm giấc mơ của riêng mình.
Chúng tôi cảm thấy “được sống” khi được code và làm điều mình đam mê.
Có lẽ chúng tôi phải cố gắng nhiều hơn để đạt được điều mình muốn — đó chính là sống trọn với giấc mơ của chính mình.
Vanilla JS và những hoài bão thuở ban đầu
Dạo gần đây, tôi gặp khá nhiều người vẫn sử dụng Vanilla JS (JavaScript thuần).
Trong khi đa số chạy theo framework, chúng tôi lại chọn con đường này.
Năm năm trước (2020), tôi trở về Tam Kỳ và bắt đầu viết giấc mơ thuần khiết nhất của mình bằng code — bằng Golang và JS thuần.
Gần đây, tôi bắt đầu public một thư viện nhỏ (hoặc framework, tùy cách gọi của mọi người) mang tên Kit JS.
Dù vậy, tôi vẫn muốn giữ lại sự thuần khiết, sức mạnh nguyên bản của Vanilla JS, kế thừa nó và kết hợp cùng khả năng SSR.
Tôi viết thư viện này không phải để cạnh tranh hay thay đổi thế giới.
Tôi chỉ muốn tìm lại sức mạnh của những ngôn ngữ ban đầu — như một cách để nhớ mình đến từ đâu.
Giống như câu chuyện các ngôn ngữ backend “đi làm” frontend, hay ngược lại.
Nó có thể tốt ở một vài khía cạnh, như WebAssembly chẳng hạn — nhưng không phải là tất cả, và chắc chắn chưa thể là một “full-stack” trọn vẹn.
Trước đây, tôi từng nghĩ học sâu về lập trình là học framework hoặc các ngôn ngữ “hào nhoáng” như TypeScript.
Nhưng càng code, càng viết những gói thư viện nhỏ giúp giải quyết công việc đơn giản, tôi càng nhận ra:
“Học sâu là học về những thứ cốt lõi ban đầu.”
Ngày hôm nay
Hôm nay là một ngày code vội.
Tôi đang viết và mở rộng core của Kit JS, và phải xóa đi những dòng code mà mình từng dành rất nhiều thời gian để viết.
Giống như lần thứ 9 tôi refactor hệ thống Golang của chính mình.
Tôi từng tự hỏi:
“Ai sẽ tính công cho điều đó? Ai sẽ trả tiền cho điều đó?”
Nhưng bây giờ tôi không còn tìm câu trả lời nữa.
Bởi trái tim đã trả lời rồi.
Đôi lúc, hạnh phúc của một lập trình viên là được ngồi trong quán cà phê, giữa dòng người tấp nập, mà vẫn giữ cho mình một tâm hồn trọn vẹn dành cho đam mê.
Nắng chiếu rọi những con đường, còn giấc mơ dại khờ được dẫn lối bởi trái tim.
Chúng tôi – những kẻ đi tìm hạnh phúc nhỏ bé
Chúng tôi đi tìm những hoài bão, những nụ cười, và đơn giản là một hạnh phúc nhỏ nhoi trong từng dòng code.
Từng dòng code nhỏ giúp thế giới ngoài kia vận hành.
Tôi đã từng hỏi bản thân:
“Mình tồn tại trên thế giới này để làm gì?”
Có lẽ nhiều coder khác cũng từng tự hỏi như vậy.
Nếu chúng tôi có “nền tảng”, liệu chúng tôi còn được mơ không?
Ngày mai, mặt trời sẽ lại nở — như một loài hoa tỏa hương trên bầu trời.
Cũng giống như chúng tôi, vẫn đi tìm hạnh phúc của riêng mình.
Hạnh phúc đó có lẽ chỉ là một giấc mơ nhỏ — của một hoặc nhiều indie coder.
Vibe code, low-code, hay chẳng cần code nữa cũng được
Thế giới này vẫn còn đẹp — đẹp vì chúng tôi có thể vẽ giấc mơ của mình bằng code.
Tôi sẽ về tận hưởng một ngày nắng đẹp.
Mặt trời còn mơ, và code vẫn còn được ghi.
Cloud — đúng như tên gọi của nó — chỉ là một đám mây.
Đời người cũng vậy, có lẽ cũng đang được lưu trữ và trôi đi trên những đám mây ấy.
Chúng tôi chỉ là những lập trình viên nhỏ bé, đi tìm hạnh phúc khi được code, được cống hiến và mang lại điều gì đó cho đời.
Những người ngoài kia có danh vọng, chức tước và công danh.
Còn chúng tôi — những kẻ dại khờ — chỉ có tâm hồn đồng điệu và sự tôn trọng lẫn nhau trong nghề.
Giống như tôi luôn xem Linus như một vĩ nhân.
Trái tim của những kẻ ngốc biết cười
Hôm nay, có vẻ gió không thổi qua hàng cây, nhưng nắng lại vừa lên sau cơn mưa bất chợt.
Nếu có thể, liệu chúng tôi có thể xin được code một đời không?
Cậu ấy từng nói với tôi:
“Những ngày hạnh phúc nhất của em là thứ Sáu và thứ Bảy — những ngày em được làm điều gì đó cho riêng mình.”
Tôi là người may mắn hơn — không phải “bán mình”, vì tôi là kẻ nuông chiều trái tim khờ dại, và cũng làm khổ nó rất nhiều.
Nhưng cả tôi và cậu ấy đều không còn lựa chọn nào khác.
Vì chúng tôi không có “nền tảng”.
À, có chứ.
Nền tảng của chúng tôi chính là giấc mơ — giấc mơ của những indie coder dại khờ đến khù khờ.
Tôi luôn mong những builder ngoài kia cứ tiếp tục đi.
Đi về phía trước.
Nếu đi về phía mặt trời, bạn sẽ đón nắng.
Còn nếu đi ngược phía mặt trời, bạn vẫn sẽ thấy ánh sáng dõi theo.
Mỗi bước chân đều có lý do để bắt đầu.
Và có lẽ, chúng ta đều đã bắt đầu ở đâu đó – với một giấc mơ nhỏ.
— Viết trong một buổi sáng có nắng và tiếng gõ phím hòa cùng nhịp tim.
5
lượt xem
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ế.

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.”

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.

Sau hơn 1 năm chật vật với kinh tế. Tôi chỉ có 2 khách hàng đầu tiên từ website và ads. Tôi ngồi nói chuyện vu vơ với vài người bạn, tôi nhận ra rằng? Tại sao mình không sử dụng các data của mình đã thu thập để làm affiliate. Vậy là samdy ra đời, tôi viết một website về tìm kiếm sản phẩm giá tốt trên 3 nền tảng lazada, tiki và shopee.

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.

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...

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).

Khi bản thân tự định hướng cho mình một lối đi. Một con đường và một ánh sáng thì cứ đi theo ánh sáng đó.