What we learned building a paid inbox you can self-host (Go + Next.js + Postgres)
说明与用途
Hotly 是一个自托管的付费收件箱,每个安装只服务一个创作者。支付直接进入创作者的 Stripe 账户,消息按长度计费,媒体保存在私有的 Garage 存储中。
问题
Managing personal messages and payments for a creator’s inbox became unmanageable, requiring a self‑hosted solution that handles payments, messaging, and media securely.
结果
Hotly successfully handled 217 paid messages from 921 conversations for a single creator, proving the one‑person‑per‑install model and length‑based pricing work in practice.
工作流
- 1. Install Hotly via Docker Compose; 2. Configure Stripe, Firebase, and SendGrid (or skip for local dev); 3. Creator signs in with Google; 4. Fans pay via Stripe Checkout; 5. Server verifies payment and creates a session cookie; 6. Fans compose a note (priced by length); 7. Creator receives the note and replies; 8. Replies can include locked media stored in Garage; 9. Creator manages pricing and subscription tiers via the web UI.
证据
We built Hotly, an inbox where people pay to send someone a note, and that person replies when they have time.
The obvious design is multi-tenant: one database, many creators, a creator_id on every row. We went the other way.
Guests never sign up. They pay through Stripe Checkout, and once the webhook confirms the payment, the success page swaps the Checkout session for an HTTP-only session cookie.
Notes are priced by length: $5 for 250 characters, $10 for 500 and $15 for 1,000 by default, all editable by the owner.
We ran it with one creator, 536K followers on Instagram, who told the fans she already had. 217 people paid to write to her, across 921 conversations.
- 记录日期: 2026-10-21T12:56:13.136Z