Bỏ qua đến nội dung chính
12 entries Đăng ký RSS

Ghi chép từ thực chiến xây Rails SaaS với AI. Quy trình, đánh đổi, bài học.

Nhật ký

28 tháng 5, 2026

Thêm semantic search vào app Rails với pgvector trong một cuối tuần

Embedding chỉ là một cột nữa, còn truy vấn là ORDER BY — không cần vector database, không cần SaaS. Quyết định chunking và dimension mới là thứ ngốn ngày thứ Bảy của bạn.

27 tháng 5, 2026

Routing LLM trong Rails: OpenRouter với chuỗi fallback và giới hạn ngân sách

Định tuyến lời gọi LLM qua OpenRouter bằng chuỗi fallback có thứ tự và một cổng chặn chi tiêu — chỉ cần một service object và file config, không cần gem.

25 tháng 5, 2026

Migration Rails zero-downtime: bốn nước đi xử lý 90% trường hợp

Một bộ quy tắc hiểu về locking để đổi schema Rails an toàn, kể cả lý do vì sao ADD COLUMN với default hằng số không còn rewrite bảng từ Postgres 11.

23 tháng 5, 2026

Mẫu multi-tenancy trong Rails: row-scoping, schema hay database per tenant

Bộ tiêu chí chọn giữa row-scoped, schema-per-tenant và database-per-tenant trong Rails — và cái giá phải trả khi một query quên rào chắn.

22 tháng 5, 2026

Kamal vs Fly.io vs Render: rubric chọn deploy cho solo Rails founder

Bảng điểm 5 trục giúp solo Rails founder chọn giữa Kamal, Fly.io và Render khi tự vận hành app, DB và worker — không marketing fluff.

21 tháng 5, 2026

Devise vs Rodauth năm 2026: chọn auth cho một Rails app mới

Bộ tiêu chí 5 trục để chọn giữa Devise và Rodauth cho một SaaS Rails 8 green-field — kèm những đánh đổi bạn sẽ gánh ở ngày thứ 400.

20 tháng 5, 2026

Hotwire hay React cho dashboard B2B SaaS: rubric của một Rails engineer

Năm câu hỏi tôi chấm điểm trước khi chọn Hotwire hay React SPA trên Rails API cho dashboard B2B SaaS — và những failure mode mỗi câu hỏi đang che giấu.

19 tháng 5, 2026

Sidekiq hay Solid Queue năm 2026: khi nào nên chuyển, khi nào nên giữ

Bộ bốn câu hỏi để chọn giữa Sidekiq và Solid Queue trên Rails 8, kèm một luận điểm có thể phản biện về thời điểm việc chuyển đổi thực sự đáng công.

18 tháng 5, 2026

Báo giá trọn gói hay tính giờ cho MVP: bài toán phương sai mà ít ai chỉ ra

Chọn mô hình giá là chọn ai gánh rủi ro phương sai, không phải chọn rate. Đây là rubric tôi dùng trước khi báo giá một SaaS MVP, kèm ví dụ thực tế.

17 tháng 5, 2026

Agenda discovery call SaaS gói gọn trong 30 phút

Bảy block, mỗi block 3-5 phút, thay cho script tư vấn dài dòng — đây là agenda tôi chạy mỗi khi nhận discovery call từ solo founder.

16 tháng 5, 2026

Thiết kế lại theo Atelier và chuyển chat sang Workers AI

Vứt thẩm mỹ glass-blur tím-AI để chọn hệ thống typography biên tập, rồi chuyển backend chat sang Cloudflare Workers AI trong một buổi chiều.

16 tháng 5, 2026

RAG trên Postgres với pgvector: bỏ Pinecone, ship trên một box

Một setup Rails một box dùng pgvector và ruby_llm thay thế vector DB managed — 180 dòng code, 50k chunks, ba cú vấp.