← Posts

Chuyện build sản phẩm Strava Collage

Đăng bài để kiếm thêm 5 lượt cài Strava Collage, mình chỉ có thêm 2. Bù lại, một người dùng đã nhắn tin báo lỗi và góp ý để mình làm sản phẩm tốt hơn.

Dạo này cuối tuần rảnh, mình hay hỏi Codex với Claude Code một câu khá quen thuộc:

Có side project hay tool gì build nhanh chơi chơi không?

Thời AI mà. Có ý tưởng thì quăng vào cho AI cùng brainstorm. Thấy ổn ổn thì mở repo, code một chút, nhờ agent làm thêm một chút, sửa tới sửa lui rồi ship. Mọi thứ nhanh hơn trước khá nhiều.

Nhưng cuối tuần vừa rồi thì bí. Hỏi tới hỏi lui cũng chẳng thấy ý tưởng nào đủ hứng thú để bắt tay vào làm. Thế là thay vì tiếp tục build một thứ mới, mình quay sang làm việc mà bản thân thường khá lười: đi tìm user cho thứ đã build rồi.

Mục tiêu: thêm đúng 5 users

Tool mình chọn đem đi quảng bá là Strava Collage, một Chrome extension nhỏ dành cho một ngách cũng khá nhỏ: người dùng Strava.

Tool có vài tính năng như:

  • Tải nhiều activity overlay cùng lúc — theo mình đây là tính năng “ăn tiền” nhất. :v
  • Làm màu, làm mè cho route và ghép nhiều route thành collage.
  • Xuất ảnh hoặc animation/video.
  • Và vài thứ linh tinh khác…

Strava Collage

Trước lúc đăng bài, extension đang có 95 users. Một con số hơi khó chịu, nhìn cứ thiếu thiếu. Nên mình đặt mục tiêu rất thực tế: kiếm thêm 5 người nữa để lên tròn 100.

Thế là mình mang Strava Collage lên nhóm Build in Public VN spam một bài giới thiệu. Trong đầu nghĩ khá đơn giản: nhóm đông vậy, bài được vài chục lượt thích thì chỉ cần 5 người tò mò bấm cài thôi mà.

Bài post cuối cùng cũng được hơn 50 lượt thích. Mình khá tự tin. Qua một ngày, mở Chrome Web Store lên kiểm tra: 97 users. Thêm đúng… 2 người. :))

Thế là tèo. Mục tiêu 100 users vẫn chưa đạt.

Nhưng rồi Messenger báo có tin nhắn

Gần cuối ngày, Messenger hiện thông báo có người nhắn. Mở lên xem, và đây mới là thứ làm mình vui hơn nhiều so với con số 100.

Một user đã cài Strava Collage, đã dùng thật và gặp lỗi thật: app bị lỗi khi xuất video. Bạn ấy chủ động nhắn cho mình, gửi cả ảnh chụp thông báo lỗi. Nhưng bạn cũng bảo tạo hình thì thấy rất ổn, rồi cảm ơn mình vì đã làm ra extension này.

Tin nhắn của người dùng báo lỗi khi xuất video và cho biết tính năng tạo hình hoạt động ổn

Tin nhắn báo lỗi xuất video. Bấm vào ảnh để xem rõ hơn.

Không chỉ báo bug, bạn ấy còn góp ý khá kỹ về cách dùng tool: thích chuyện tự lấy nhiều tracklog, lọc theo ngày và hoạt động, gắn hình của mình vào, thêm hiệu ứng neon, tạo video và đổi bố cục vuông hoặc 9:16. Nhưng phải tìm một lúc mới thấy chỗ đổi background; các bộ lọc số lượng hoạt động và quãng đường tối thiểu dễ nhầm với nhau; lúc kéo nhiều tracklog thì lag dù đang dùng MacBook Pro M1.

Phản hồi chi tiết của người dùng về tính năng yêu thích, bộ lọc khó hiểu và độ trễ khi kéo nhiều tuyến đường

Bạn ấy kể cả những tính năng mình thích lẫn những chỗ còn khó dùng. Bấm vào ảnh để xem rõ hơn.

Đọc tin nhắn lúc đó cảm giác khá lạ. Không phải kiểu “Tool hay quá anh” hay “Nhìn thú vị đó”, mà là một người đã thực sự đưa sản phẩm vào cách họ làm việc, đủ lâu để gặp vấn đề, rồi còn mất công mở Messenger tìm mình và viết hẳn một đoạn để báo lỗi, góp ý.

Đây gần như là lần đầu mình làm một pet project rồi nhận được phản hồi trực tiếp kiểu này từ một người dùng thật. Mình bảo với bạn ấy là sẽ cố gắng kiểm tra và sửa sớm. Và thế là tối hôm đó, thay vì ngồi nghĩ xem cuối tuần build project gì mới, mình quay sang fix cái cũ.

AI bắt đầu phát huy tác dụng

Có bug report rõ ràng từ user, mình bắt đầu làm lại thao tác bị lỗi, tìm nguyên nhân rồi sửa. Tiện tay thấy chỗ này hơi khó dùng thì tối ưu luôn, chỗ kia giao diện chưa đẹp thì chỉnh luôn. Một vài màn hình chưa rõ ràng thì cải thiện thêm. Ảnh chụp trên Chrome Web Store cũng hơi cũ, mình dựng lại cho đồng bộ, rồi build extension, đóng gói và gửi version mới lên cửa hàng.

Nếu là vài năm trước, riêng đống việc lặt vặt này chắc cũng đủ để mình trì hoãn qua cuối tuần sau. Còn hiện tại, với Codex, Claude Code và các công cụ AI hỗ trợ, vòng lặp đó nhẹ hơn khá nhiều. AI không làm thay toàn bộ, nhưng việc xác định vấn đề → lần code → sửa → kiểm tra → tinh chỉnh diễn ra trơn tru hơn trước.

Ngày hôm sau, Google xác nhận version mới đã được phát hành. Việc cuối cùng là mở Messenger nhắn lại cho user: mình đã sửa lỗi và ra bản mới rồi, bạn cập nhật extension lên version mới nhất thử giúp mình nhé.

Câu chuyện cuối tuần kết thúc ở đó. Thay vì một project mới, mình có một vòng lặp sản phẩm khá trọn vẹn: User → Feedback → Fix → Ship → User.

Bài học 1: Fail mục tiêu này, nhưng lại mở ra một chuyện vui khác

Ban đầu mình đăng bài chỉ với một mục tiêu khá ngớ ngẩn: 95 → 100 users. Cuối cùng không đạt. Nếu nhìn đúng theo KPI tự đặt ra thì fail.

Nhưng từ cái fail đó lại xuất hiện một thứ mình thấy có giá trị hơn: một user thật, một vấn đề thật, một phản hồi thật và một lý do thật để tiếp tục cải thiện sản phẩm.

Nếu hôm đó đủ đúng 5 người cài extension nhưng cả 5 người đều mở lên một lần rồi bỏ đó, có khi mình còn chẳng biết họ có thực sự dùng hay không. Trong khi chỉ một người chủ động báo bug lại cho mình rất nhiều thông tin: tính năng nào họ thực sự dùng, luồng nào đang có vấn đề, giao diện nào chưa rõ và sản phẩm còn những chỗ nào cần cải thiện.

Với một pet project nhỏ, một feedback như vậy có khi đáng giá hơn khá nhiều lượt cài im lặng.

Bài học 2: Build đang dễ hơn. Nhưng build cái gì?

Câu chuyện này lại làm mình nghĩ tới một vấn đề khác. Trong thời đại AI, chuyện build một sản phẩm phần mềm đang dễ thở hơn trước khá nhiều. Có ý tưởng thì hỏi AI phân tích, dựng kiến trúc, viết những phần code khởi đầu, làm tính năng, kiểm tra, sửa lỗi, làm giao diện. Thậm chí những phần mình rất lười như viết README, ghi chú bản phát hành hay chỉnh ảnh chụp màn hình cũng có AI phụ một tay.

Khoảng cách từ Idea → Code → Ship đang ngắn lại rất nhanh. Và khi chuyện build không còn là nút thắt lớn như trước, mình bắt đầu thấy hai câu hỏi khác xuất hiện rõ hơn.

Build cái gì?

Đây có lẽ là câu hỏi mình gặp thường xuyên nhất vào cuối tuần. AI có thể đưa ra 20 ý tưởng, thậm chí 100 ý tưởng. Nhưng cái nào đáng build? Cái nào giải quyết một vấn đề thật? Cái nào đủ thú vị để bản thân muốn duy trì sau tuần đầu tiên? Và cái nào không chỉ là một demo nhìn hay hay rồi nằm im trong GitHub?

Khả năng nghĩ ra nhiều ý tưởng rất khác với khả năng nhận ra một vấn đề đáng giải quyết.

Và build xong rồi thì ai dùng?

Theo mình đây còn là bài toán khó hơn. Code xong không có nghĩa là có user. Deploy xong cũng không có nghĩa là có user. Post lên Product Hunt cũng chưa chắc có user. Post lên nhóm hơn 50 lượt thích như câu chuyện trên… cũng chỉ kéo được thêm 2 users. :))

AI có thể giúp mình làm một extension trong vài ngày, nhưng AI không tự mang 1.000 người dùng đến Chrome Web Store. Nó có thể giúp viết nội dung giới thiệu, gợi ý nơi đăng bài, phân tích vì sao người ta chưa bấm cài. Nhưng cuối cùng vẫn phải có người nhìn thấy sản phẩm, thấy nó liên quan đến vấn đề của họ, chịu bấm vào, chịu cài và quan trọng nhất: quay lại sử dụng.

Đó là một loại khó hoàn toàn khác so với việc viết code.

Có lẽ cuối tuần tới, trước khi hỏi AI nên build thêm gì, mình nên xem những người đang dùng Strava Collage còn vướng ở đâu.