Writing
What I've built, thought about, and the traps I've walked into.
- Sep 3, 2026
Astro 5 + Cloudflare Pages bilingual site — 30-day retrospective
One domain, bilingual, full stack (Stripe + Creem + Cal + Resend + OAuth) shipped in 6 weeks. Astro 5 + Cloudflare Pages — zero regrets so far.
- Sep 3, 2026
Resend + Cloudflare Workers — production email engineering
The most underestimated dependency in a Stripe funnel is email. Resend + workerd + a KV soft-fail fallback covers three live flows (subscribe / forgot-password / email-verification).
- Aug 9, 2026
How I price things
Pricing is the single most important decision for an indie maker. Sit in the buyer's chair, not the competitor's.
- Aug 8, 2026
Why dual-channel Stripe + Creem
Overseas users pay by card. Mainland users pay by WeChat or Alipay. I don't lose either. The cost is a few extra percent per sale.
- Aug 7, 2026
Why I don't use a CMS
Framer / Webflow / WordPress look faster, but they lock up your content, take a cut, and own your SEO. MDX + git once, forever.
- Aug 4, 2026
Why I built this site
Putting work, consulting, content, and billing on one domain with no hops in between. Sounds simple — turns out no existing tool does it.