Bỏ qua đến nội dung chính
§ VII Chronicle

Nhật ký.

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

2026.

Vol. 02
28 THG 5

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.

  • #rails
  • #pgvector
  • #postgres
  • #semantic search
  • #ai
27 THG 5

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.

  • #rails
  • #llm
  • #openrouter
  • #fallback
  • #budget
25 THG 5

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.

  • #rails
  • #postgres
  • #migration
  • #zero-downtime
  • #devops
23 THG 5

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.

  • #rails
  • #multi-tenancy
  • #postgres
  • #saas
  • #kiến trúc
22 THG 5

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.

  • #rails
  • #deploy
  • #kamal
  • #fly.io
  • #render
21 THG 5

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.

  • #rails
  • #auth
  • #devise
  • #rodauth
  • #saas
20 THG 5

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.

  • #hotwire
  • #react
  • #rails
  • #b2b-saas
  • #kiến-trúc
19 THG 5

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.

  • #rails
  • #sidekiq
  • #solid-queue
  • #background-jobs
  • #saas
18 THG 5

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

  • #mvp
  • #rails
  • #saas
  • #freelance
  • #pricing
17 THG 5

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.

  • #saas
  • #discovery call
  • #solo founder
  • #freelance
  • #consulting
16 THG 5

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.

  • #thiết-kế
  • #ai
  • #astro
  • #cloudflare
16 THG 5

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.

  • #rails
  • #postgres
  • #pgvector
  • #rag
  • #ruby-llm