Mã Nguồn Ngược Dòng Chương 25 / 209

Chương 25 — Nguyễn Việt Hùng và bài đăng 200 share

Tên đó — Nguyễn Việt Hùng — Hoàng đọc lần đầu trong bình luận bài đăng, không phải trong caption.

Ai đó tag anh ta vào, hỏi mày làm cái này hả Hùng ơi. Anh ta không trả lời comment đó, chỉ đăng caption hỏi về NỢ SỔ. Nhưng tên đã lộ ra — đủ để Hoàng bắt đầu từ đó.

Buổi sáng ngày hôm sau, Hoàng ngồi vào bàn học từ lúc sáu giờ — trước khi mẹ dậy nấu cơm, trước khi ba kéo xe ra hẻm. Anh mở tab tìm kiếm và gõ tên.


Nguyễn Việt Hùng — theo hình đại diện Facebook — là người đàn ông khoảng 26, 27 tuổi, đeo kính, tóc dài hơn dân kỹ thuật thông thường. Ảnh bìa là dãy terminal màu xanh lá trên màn hình đen, kiểu ảnh mà developer hay dùng khi muốn nói tôi code mà không muốn giải thích thêm. Profile công khai toàn bộ: không khoá, không ẩn. Người không quen với việc bị điều tra.

Hoàng đọc từng bài đăng về sau một tháng.

Hùng đang xây sản phẩm — anh ta gọi nó là SổNợ trong một số bài, DebtBook trong số khác, chưa nhất quán tên. Bài đăng đầu tiên đề cập đến sản phẩm này là từ tháng Sáu, cách đây khoảng bốn tháng. Anh ta đăng ảnh wireframe vẽ tay trên tờ A4, caption hỏi ai biết user research cho SME Việt Nam không, giới thiệu mình với. Không có nhiều tương tác — ba bốn comment của bạn bè, một người hỏi sao không xài Google Sheets, anh ta trả lời dài về UX friction và adoption rate cho nhóm không quen spreadsheet.

Hoàng đọc câu trả lời đó và nhận ra Hùng hiểu vấn đề. Không sâu như anh — nhưng hiểu đúng hướng.

GitHub tiếp theo.

Profile GitHub có username trùng với Facebook — dễ tìm. Repo tên debtbook-webapp được tạo tháng Bảy, commit đầu tiên là skeleton project React với README rỗng. Hoàng cuộn xuống commit history: đều đặn trong hai tháng đầu, mỗi tuần bốn năm commit, sau đó thưa dần — tháng Chín chỉ còn hai commit, cả hai đều là sửa CSS. Commit gần nhất là mười ba ngày trước, message là fix mobile layout.

Anh đọc code trong vài file: clean, không phức tạp, viết theo kiểu người tự học chứ không phải người qua training bài bản. Có chỗ duplicate logic mà người có kinh nghiệm sẽ refactor. Có chỗ comment tiếng Việt xen kẽ tiếng Anh theo kiểu nghĩ đến đâu ghi đến đó.

Sản phẩm của Hùng chậm hơn NỢ SỔ ít nhất ba tháng — không phải ba tháng về thời gian bắt đầu, mà về mức độ hoàn thiện. NỢ SỔ đang có hơn 500 người dùng thực trả tiền. Repo của Hùng chưa có deployment URL trong README.

Hoàng mở thêm một tab: nhóm Facebook Vietnam Dev Community — nhóm khoảng tám nghìn thành viên, chủ yếu developer Hà Nội và TP.HCM. Anh tìm tên Hùng trong nhóm.

Ba bài đăng trong sáu tháng qua: một hỏi về hosting giá rẻ, một chia sẻ bài Medium về product-market fit, và một bài hỏi có ai biết cách tiếp cận tiệm tạp hoá để user research không — bài đó được ba người comment, hai người nói khó lắm, một người tag Hùng vào một group khác.

Người này đang đi một mình. Không có team. Không có đối tác bán hàng. Không có pháp nhân để thu tiền.

Hoàng ngả lưng ra, nhìn trần nhà.

Hùng không phải đối thủ theo nghĩa anh từng hình dung trong đầu — không phải startup được đầu tư, không phải team Hà Nội chuẩn bị launch bài bản, không phải người cố tình tạo ra tranh chấp nguồn gốc. Anh ta là developer tự do đang tự xây sản phẩm một mình, ngạc nhiên khi thấy có người làm cùng ý tưởng nhưng ở trước mình, và đăng lên hỏi theo cái cách tự nhiên của người không nghĩ đến hậu quả.

Bài đăng đó không phải tấn công. Nhưng bài đăng đó đã kéo theo 200 share và câu hỏi NỢ SỔ do ai làm đang lan trong cộng đồng tech nhỏ của Sài Gòn và Hà Nội, và câu hỏi đó không chờ câu trả lời từ Hùng — nó chờ câu trả lời từ NỢ SỔ.

Anh mở lại bài đăng của Hùng, lần này đọc bình luận từ trên xuống.

Số share hiện tại: 231. Số comment: 612.

Hoàng đọc comment theo từng nhóm. Nhóm lớn nhất là người hỏi ai làm vậy và không ai biết. Nhóm thứ hai là người kỹ thuật bắt đầu so sánh — giao diện NỢ SỔ clean hơn, DebtBook của Hùng nhìn bootstrap hơn, sao không liên hệ với nhau đi. Nhóm thứ ba là người không liên quan nhảy vào nói chuyện bên lề.

Không có bình luận nào tỏ ra tức giận hay cáo buộc thẳng. Chỉ là câu hỏi và quan sát — loại nhiễu lan theo cái nhịp của mạng xã hội khi không có gì thay thế được.

Hùng chưa có phản hồi gì mới từ khi đăng bài.

Hoàng nhìn đồng hồ: sáu giờ bốn mươi lăm. Dưới bếp tiếng mẹ bắt đầu lách cách với nồi xoong. Anh đóng laptop và đi xuống ăn sáng.


Ngày hôm đó ở trường — Hoàng ngồi trong lớp, nghe bài giảng với một phần não, phần còn lại đang tiếp tục tái hiện bức tranh về Nguyễn Việt Hùng.

Không đáng sợ — đó là kết luận anh đã rút ra trước khi đi ngủ và xác nhận lại sáng nay. Nhưng không đáng sợkhông gây vấn đề là hai câu khác nhau.

Vấn đề không phải là Hùng. Vấn đề là bài đăng đang sống cuộc đời riêng của nó — đang được share lại, đang thu hút comment, đang kéo người vào cuộc tranh luận mà cả NỢ SỔ lẫn VietPath đều chưa có tiếng nói nào. Trong khoảng trống câu trả lời đó, người ta tự lấp vào bằng suy đoán.

Sau giờ ra chơi, điện thoại rung trong túi quần.

Hoàng ra hành lang nhìn màn hình: anh Tuấn.

Anh bước ra cuối hành lang, chỗ ít người.

"Mày đang ở đâu?" Giọng anh Tuấn — không hỏi vị trí địa lý, hỏi trạng thái.

"Trường."

"Tao thấy bài đăng đó đang leo." Không dừng lại để anh trả lời. "231 share tính đến sáng nay. Hai ngày nữa mà không có gì thì người ta sẽ tự đưa ra câu chuyện. Mày biết họ sẽ đưa ra câu chuyện gì không?"

Hoàng biết. "Câu chuyện có developer ẩn danh không dám ra mặt."

"Hoặc tệ hơn. Câu chuyện về sản phẩm không rõ nguồn gốc." Giọng anh Tuấn bình, không phán xét. "Không phải người ta xấu. Người ta chỉ lấp vào chỗ trống."

"Anh muốn làm gì?"

Anh Tuấn dừng lại một nhịp — nhịp ngắn của người đã có câu trả lời nhưng không vội nói. "Tao muốn ngồi lại với mày và Khoa. Ba người. Tối nay được không?"

Hoàng nhìn về phía lớp học — qua ô cửa kính, các bạn đang bắt đầu vào lại sau giờ nghỉ. "Được. Mấy giờ?"

"Bảy giờ tối. Quán cà phê Phan Xích Long — mày biết chỗ đó không?"

"Biết."

"Tao đặt chỗ. Mày nhắn Khoa."

Cuộc gọi cắt — không có câu từ biệt thêm, không có dặn dò. Hoàng đứng thêm mấy giây trong hành lang sau khi đã cúp máy.

Anh Tuấn gọi điện theo kiểu người đã biết mình muốn gì và chỉ cần xác nhận mấy tham số còn thiếu.

Hoàng nhắn Khoa ba chữ: Tối nay được không?

Khoa trả lời trong vòng hai phút: Được. Chuyện gì?

Họp. Anh Tuấn nữa. 7 giờ Phan Xích Long.

Một khoảng im. Rồi: Lần đầu tao gặp anh Tuấn hả.

Ừ.

Oke.


Quán cà phê nằm trên đoạn Phan Xích Long gần cuối hướng về phía Phú Nhuận — loại quán nhỏ mà người quen đường mới biết, mặt tiền hẹp, bên trong sâu hơn bề ngoài trông. Khách ít vào buổi tối thường ngày, ánh đèn vàng vừa đủ nhìn mặt nhau mà không làm mắt mỏi.

Anh Tuấn đã ngồi khi Hoàng đến — bàn trong cùng, lưng tựa tường, ly cà phê đen chưa động. Anh nhìn lên khi Hoàng bước vào, gật đầu ngắn. Không bắt tay, không đứng dậy — kiểu của người coi đây là buổi làm việc chứ không phải buổi hội ngộ.

"Khoa chưa tới hả?" Anh Tuấn hỏi.

"Năm phút nữa."

Hoàng kéo ghế ngồi. Nhân viên quán đến, anh gọi cà phê sữa đá. Anh Tuấn không nói gì trong lúc chờ — không kéo chuyện nhỏ, không lấp vào khoảng trống bằng câu xã giao. Anh ngồi và để yên không khí như nó là.

Khoa đến sáu phút sau — tóc còn dính mồ hôi, hẳn đã đạp xe nhanh. Anh nhìn quanh quán, thấy Hoàng, thấy người ngồi đối diện. Bước đến bàn, kéo ghế còn lại.

"Anh Tuấn?" Khoa hỏi — không phải hỏi xác nhận, là cái cách người trẻ dùng khi gặp người lớn hơn lần đầu mà đã nghe tên nhiều lần trước đó.

"Khoa." Anh Tuấn gật. Không thêm gì. Không hỏi đi học có xa không, không bắt đầu bằng câu khen ngợi theo kiểu tao nghe mày làm tốt lắm. Chỉ nhìn Khoa thêm một lúc — cái nhìn đánh giá của người không giấu việc mình đang đánh giá.

Khoa gọi nước suối, đặt điện thoại xuống bàn úp mặt xuống.

Anh Tuấn bắt đầu.


"Bài đăng đó đang ở mức 231 share tính đến 6 giờ chiều." Anh mở điện thoại, đẩy về phía giữa bàn cho cả hai nhìn. "Nguyễn Việt Hùng — mày đã tìm hiểu chưa?" Anh nhìn Hoàng.

"Rồi." Hoàng nói. "Developer tự do Hà Nội. Đang xây sản phẩm tương tự nhưng chậm hơn. Không có team, không có vốn, không có người dùng thực. Đăng bài vì ngạc nhiên chứ không phải vì muốn tạo chuyện."

Anh Tuấn gật, không có vẻ ngạc nhiên. "Vậy là mày đã nghĩ đến Hùng rồi."

"Tao nghĩ đến bài đăng, không phải Hùng."

"Đúng." Anh Tuấn cầm ly cà phê lên, uống một ngụm. "Hùng không phải vấn đề. Vấn đề là câu hỏi đang chạy trong cộng đồng và không có câu trả lời. Khoảng trống đó nguy hiểm hơn Hùng."

Khoa ngồi nghe — không nói, không ghi chú, chỉ nhìn. Hoàng để ý Khoa đang nhìn anh Tuấn một lúc rồi quay sang nhìn Hoàng, rồi lại nhìn anh Tuấn. Không phải nhìn để theo dõi cuộc đối thoại — là nhìn để đo khoảng cách giữa hai người kia.

"Có ba cách xử lý." Anh Tuấn đặt ly xuống. "Một: không làm gì, để nó tự tan. Rủi ro — không tan, hoặc tan theo cách xấu. Hai: VietPath ra thông báo chính thức, xác nhận NỢ SỔ là sản phẩm của đối tác độc quyền, không đi vào chi tiết developer. Ba: ai đó ra mặt với danh tính thật."

"Lựa chọn hai nghĩa là cái gì?" Khoa hỏi — lần đầu lên tiếng từ khi ngồi xuống.

Anh Tuấn nhìn Khoa. "Nghĩa là VietPath đứng ra nói ‘đây là sản phẩm tụi mình phân phối, developer không muốn lộ danh tính vì lý do cá nhân’. Trả lời câu hỏi nhưng không trả lời hết."

"Người ta có chấp nhận không?" Khoa hỏi tiếp.

"Một phần chấp nhận. Một phần vẫn tò mò. Nhưng câu hỏi đổi từ ‘ai làm’ sang ‘tại sao giấu’ — câu hỏi thứ hai dễ quản lý hơn."

Khoa gật. Không hỏi thêm — anh đang để câu trả lời ngồi trong đầu, không vội kết luận.

Hoàng nhìn anh Tuấn. "Anh không kể lựa chọn ba là gì."

"Tao đang đến đó."

Quán phía sau có tiếng ghế kéo — nhóm khách mới vào. Nhân viên bưng thêm ly nước ra, đặt xuống không nói gì. Anh Tuấn chờ tiếng động lắng xuống.

"Lựa chọn ba." Anh nhìn Hoàng thẳng. "Tao ra mặt. Nói tao là người xây NỢ SỔ. Khoa là người bán hàng. Developer thật muốn ở lại bóng tối vì lý do cá nhân — không phải giấu vì xấu hổ, mà vì hoàn cảnh cụ thể. Cộng đồng sẽ chấp nhận điều đó nếu nó được nói ra bởi người đủ uy tín."

Hoàng để câu đó ngồi.

Anh Tuấn không vội. Không nhìn xuống, không nhìn sang Khoa — nhìn thẳng vào Hoàng và chờ.

"Anh biết lựa chọn đó có nghĩa là gì không?" Hoàng hỏi.

"Tao biết."

"Không phải một lần. Vĩnh viễn."

"Tao biết." Giọng anh Tuấn không thay đổi — không cứng hơn, không mềm hơn. Kiểu của người đã cân nhắc trước khi mở miệng. "Nếu mày đồng ý, tao sẽ là mặt của NỢ SỔ từ lúc này. Mày sẽ là người viết sản phẩm mà không ai nhìn thấy. Khoa sẽ là người bán với tên VietPath đằng sau lưng. Khi sản phẩm lớn hơn, câu chuyện này khó thay đổi."

Không có giọng khuyến khích trong lời đó. Không có giọng ngăn cản. Chỉ là trình bày — anh Tuấn đang đặt lựa chọn lên bàn và để nó nằm đó.

Hoàng nhìn ly cà phê. Lúc đó anh nhận ra mình chưa uống một ngụm nào từ khi ly được mang ra.

"Mày cần thời gian suy nghĩ." Anh Tuấn nói — không phải câu hỏi.

"Không phải thế." Hoàng ngước lên. "Tao chỉ cần nhìn Khoa một cái."

Câu đó ra theo phản xạ — không được chuẩn bị. Nhưng khi nó ra rồi, Hoàng nhận ra đó là câu đúng.

Anh quay sang Khoa.

Khoa đang nhìn anh. Không phải nhìn để chờ Hoàng quyết định — nhìn theo kiểu người đang xem anh phản ứng thế nào với đề nghị đó, và câu trả lời trong mắt Hoàng sẽ nói nhiều hơn câu trả lời miệng.

Không ai nói gì.

Một giây. Hai giây. Ba giây.

Trong ba giây đó, tiếng quán cà phê — tiếng ly đặt xuống đâu đó, tiếng nhạc nền nhỏ từ loa góc phòng, tiếng người ở bàn bên kéo ghế — vẫn tiếp tục. Thế giới không dừng lại.

Nhưng ba giây đó nói lên thứ gì đó mà cả ba người trong bàn đều hiểu, dù không ai nói ra bằng lời.

Anh Tuấn ngồi quan sát hai người. Không chen vào.


Chú thích kỹ thuật nhỏ từ hai ngày trước, khi Hoàng vẫn đang ngồi tra cứu profile Hùng một mình:

Anh đã ngồi với tab GitHub của Hùng mở trong hơn một tiếng. Không phải vì cần nhiều thời gian đến vậy để đọc code — mà vì anh đang đọc thứ khác phía sau code.

Lịch sử commit của một repo là cái gần nhất với nhật ký của developer viết nó. Không phải về kỹ thuật — về nhịp làm việc. Về những ngày anh ta push đều đặn và những ngày anh ta biến mất. Về khoảng cách giữa lúc bắt đầu hứng khởi và lúc momentum bắt đầu chùng.

Repo của Hùng có hai tháng đầu đẹp — đều đặn, có hướng, nhìn vào biết người viết biết mình đang đi đến đâu. Rồi thưa dần. Commit message từ mô tả rõ ràng sang ngắn hơn, và ngắn hơn nữa, đến fix stuffupdate.

Hoàng nhận ra anh ta đang đi một mình và đã bắt đầu mệt.

Không phải mệt theo nghĩa bỏ cuộc — Hùng vẫn đang tiếp tục. Nhưng cái momentum của tháng đầu đã mất, và anh ta đang đẩy bằng ý chí nhiều hơn bằng năng lượng.

Đó là trạng thái nguy hiểm nhất với sản phẩm solo — không ngã, chỉ chậm lại. Chậm đến mức không còn nhận ra mình đang chậm nữa.

Hoàng biết cái đó trông như thế nào vì anh đã từng ở đó — không phải trong Cung 2 mà ở năm 2026, trong cuộc đời anh không muốn nhớ lại, trước khi tỉnh dậy ở đây.

Anh đóng tab GitHub, ghi vào nhật ký kỹ thuật ba chữ: Hùng — không đáng sợ.

Rồi anh ghi thêm: Nhưng câu chuyện đang chạy mà không có mình trong đó — đó mới là thứ cần xử lý.


Trở lại quán cà phê Phan Xích Long.

Ba giây im lặng kết thúc khi Hoàng nhìn xuống tay anh trên mặt bàn.

Anh Tuấn cầm ly cà phê lên, không uống — chỉ giữ trong tay. "Không cần trả lời tối nay."

"Tao biết." Hoàng nói. "Nhưng anh cần biết một điều."

"Gì?"

Hoàng ngước lên. "Đây không phải câu hỏi về chiến thuật. Đây là câu hỏi về việc mày sẽ trở thành gì — và tao trở thành gì trong câu chuyện này."

Anh Tuấn nhìn anh. "Tao biết đó không phải câu hỏi chiến thuật."

"Anh biết vì sao anh đề nghị điều đó không?"

"Vì đó là lựa chọn thực tế nhất."

"Đó là một lý do." Hoàng nói. "Còn lý do khác?"

Anh Tuấn im một lúc — không phải im vì không có câu trả lời, mà là im theo kiểu người đang chọn cách nói. "Vì mày đang đứng trước thứ mày đã xây. Và tao biết cảm giác đó — đứng trước thứ mày đã xây mà không thể nhận ra nó trước mặt người khác." Anh đặt ly xuống. "Tao từng ở đó. Tao muốn cho mày lối thoát."

"Lối thoát." Hoàng nhắc lại hai chữ đó không phải để hỏi, mà để nghe chính mình nói ra. "Không phải giải pháp."

Anh Tuấn gật — gật theo kiểu của người vừa nghe thấy điều mình muốn nói được nói lại chính xác hơn mình nói. "Không phải giải pháp."

Khoa đặt ly nước xuống — tiếng nhỏ trên mặt bàn gỗ. Anh nhìn sang Hoàng. Không nói gì. Nhưng nhìn theo kiểu của người đang ở đây, không ở đâu khác, và sẵn sàng nghe bất cứ thứ gì Hoàng nói tiếp.

Hoàng nhìn hai người — anh Tuấn bên kia bàn, Khoa bên cạnh.

Lần đầu tiên trong Cung 2, ba người ngồi cùng một bàn. Không phải qua điện thoại, không phải qua tin nhắn, không phải mỗi người một góc của câu chuyện. Cùng một không gian, cùng một bàn gỗ, cùng ba ly nước.

Và câu hỏi của anh Tuấn vẫn còn đó — Làm vậy được không? — không ép, không chờ, chỉ nằm giữa bàn như vật thể.

Hoàng nhìn Khoa.

Khoa nhìn Hoàng.

Không ai nói gì trong ba giây — và ba giây đó nói lên rất nhiều.