Tiếp nối bài viết trước, trong bài viết này mình sẽ chia sẻ chi tiết hơn về những suy nghĩ và trải nghiệm của mình với Lovable – công cụ mình dùng để build SnapVocab.
Mình dùng Lovable – gói Free chỉ được 5 messages/ngày. Điều này với nhiều người có thể sẽ khá hạn chế và bức bối. Mình cũng vậy, nhưng vì sao mình vẫn quyết tâm không nâng cấp lên gói cao hơn để build nhanh hơn, prompt thoải mái hơn?
Kinh nghiệm từ việc nâng cấp tài khoản
Thật ra mình từng nâng cấp gói Starter (100 messages/tháng) để build cho 1 sản phẩm khác, và đây là những thứ mình nhận ra sau dự án đó:
- Làm nhanh nhưng prompt tuỳ tiện: Hạn mức message cao khiến mình dễ viết prompt ẩu, không quan tâm đến kết quả đầu ra vì đầu tư suy nghĩ kỹ càng còn khó khăn và tốn công hơn việc gửi yêu cầu sơ sài rồi chỉnh sửa.
- Hăng máu nhưng ngắt quãng: Hăng máu là tốt nếu nó được duy trì suốt một thời gian dài. Tuy nhiên mình thì không phải kiểu người có thể duy trì sự hăng máu đó liên tục được. Vì số lượng message nhiều, nên mình cứ thế làm hăng trong 1 ngày, tiêu gần hết số message để rồi sản phẩm bỏ ngỏ đó suốt 1 thời gian mới quay lại. Tới lúc quay lại thì tư duy không còn liền mạch nữa.
- Không có thời gian để reflect: Việc làm nhiều thứ 1 lúc khiến mọi thứ nhanh phình to ra, để đến khi mình muốn thay đổi hay điều chỉnh thì… quá rối rắm để có thể điều chỉnh theo ý mình.
Làm gì với 5 messages mỗi ngày?
Đó là lý do vì sao mình thay đổi trong dự án mới này, với 5 messages mỗi ngày buộc mình phải:
1. Cân nhắc rất kỹ mỗi prompt
Ví dụ thay vì prompt: “Bổ sung nút cho tính năng Pronunciation”
Mình sẽ đầu tư thời gian để viết prompt chi tiết hơn: “Hãy bổ sung tính năng Pronunciation: Nếu thông tin trả về có audio, hiển thị nút play audio nằm phía bên phải của phần phiên âm. Nếu không có audio thì ẩn nút play này. Khi click vào nút Play audio, không cộng Encountered cho từ.”
2. Tận dụng hết khả năng để tự xử lý mà không cần phải prompting
- Mình nhờ Claude đưa câu lệnh để tạo database trực tiếp trên Supabase thay vì prompt cho Lovable xử lý.
- Mình đọc log báo lỗi, nhờ Claude giải thích, nếu là lỗi từ Supabase thì nhờ nó hướng dẫn mình cách tự fix mà không cần phải nhờ Lovable xử lý.
- Đối với chỉnh style của UI: Mình có thể dùng tính năng Edit UI của Lovable để điều chỉnh, không nhất thiết phải prompt nếu chỉ chỉnh mấy cái nho nhỏ.
- Và mình nhận ra, mình hoàn toàn có thể tự pull source từ Github được kết nối với Lovable để tự điều chỉnh source code, xong xuôi chỉ cần push lại source là Lovable cũng sẽ build lại source cho mình.
3. Reflect liên tục
- Vì chỉ được 5 message mỗi ngày nên ngày nào mình cũng phải tranh thủ tận dụng để làm tiếp, và cố gắng mỗi ngày đều có được 1 cái gì đó hoàn chỉnh.
- Sau mỗi phiên làm việc, mình đều phải ngồi tính toán lại xem ngày mai nên làm gì tiếp theo để chỉ gói gọn trong 5 prompt có thể release được 1 cái gì đó. Những thứ hôm nay mình làm liệu có đủ tốt chưa,.. Nó giúp mình luôn phải thấu hiểu sản phẩm mình đang làm và tính toán rất nhiều thứ không chỉ là tính năng, là trải nghiệm người dùng, mà còn phải cân đo đong đếm xem cái gì nên làm trước – làm sau để mọi thứ khi ghép nối vào với nhau có thể tạo ra được bức tranh hoàn thiện.
4. Duy trì đều đặn
- Nếu bạn bỏ lỡ ngày hôm nay, thì bạn mất 5 messages. Lovable sẽ không bù cho bạn. Đó là lý do vì sao mỗi ngày dù trễ, dù mệt, dù bất cứ lý do gì mình vẫn phải mở máy và làm. Mình không muốn lãng phí 5 messages miễn phí mà mình có được.
- Nên nó giúp mình duy trì đều đặn mỗi ngày với sản phẩm mình đang có để nó được sự liền mạch trong quá trình phát triển.
Tiến độ hiện tại của dự án
Sau 1 tuần làm việc với 5 messages/ngày, đây là những gì mình đã hoàn thành:
- [x] Thiết kế và xây dựng database cho ứng dụng dịch và quản lý từ vựng
- [x] Đăng nhập/Đăng ký tài khoản
- [x] Quản lý từ vựng cơ bản
- [x] Đo lường mức độ ghi nhớ của mỗi từ vựng
- [ ] Flashcard
- [ ] Quản lý từ vựng nâng cao
- [ ] Tự động lên lịch ôn tập từ vựng theo phương pháp Spaced Repetition
Tiến độ có thể không nhanh như khi dùng gói trả phí, nhưng chất lượng code và sự tập trung mà mình đạt được lại vượt xa kỳ vọng.
Đến khi nào thì mình sẽ quyết định nâng cấp lên gói cao hơn?
Có thể là không, ít nhất là cho sản phẩm này, hiện tại mình thấy ổn với những gì đang có.
(Hoặc có thể là Có – ở thời điểm nào đó mình cần một sự tăng tốc để release sản phẩm).
Cơ bản là sản phẩm này mình build để giải quyết pain point của cá nhân mình, và mình tận dụng nó để học và hiểu thêm về cách build 1 sản phẩm nhỏ với AI sẽ thế nào mà thôi.
Bài học lớn nhất: Giới hạn tạo ra kỷ luật
Khi nhìn lại quá trình làm việc với 5 messages/ngày, mình nhận ra rằng giới hạn đôi khi lại là điều tuyệt vời nhất cho sự sáng tạo. Nó buộc chúng ta phải suy nghĩ kỹ hơn, lên kế hoạch chi tiết hơn, và thực sự đánh giá giá trị của từng tương tác với công cụ.
Còn bạn thì sao? Bạn có từng trải nghiệm việc làm việc trong điều kiện giới hạn lại mang đến kết quả tốt hơn không? Hãy chia sẻ kinh nghiệm của mình trong phần bình luận nhé!
Để bạn dễ dàng theo dõi hành trình xây dựng SnapVocab từ đầu, mình sẽ luôn cập nhật các bài viết liên quan tại đây:
- Bài mở đầu: SnapVocab #1 – Mở đầu
- SnapVocab #2: Đi sâu vào quy trình & phác thảo Prototype với AI
- Bài hiện tại: SnapVocab #3: Lý do mình chỉ sử dụng Lovable bản Free
(Danh sách này sẽ được cập nhật liên tục mỗi khi có bài viết mới.)