Blog
my thoughts and musings.
Indie Dev: Want to Make Money, But Hate Selling — Because I Don't Want to Become That Person
Many developers build great products but freeze at the selling part. It's not laziness — it's an identity conflict. Here's how I resolved it.
Building in PublicA Steamed Bun Taught Me How Developers Actually Sell
A conversation with a dumpling shop owner revealed the real reason customers trust and pay. The same principle applies to selling code products as an indie developer.
Building in Public4 Claude Code Tips I Use Daily as an Indie Dev
4 practical Claude Code tips for indie developers: paste images with Alt+V, resume conversations, reduce rework when integrating third-party APIs, and debug more efficiently.
Building in Public3 Unavoidable Problems When Using Claude to Build SaaS Subscriptions
Claude Code is powerful, but subscription logic isn't a one-shot task. AI drops edge cases, doesn't understand your business rules, and misses the race conditions that break payments.
SaaSAfter Uninstalling Claude, My Insomnia Got Better.
After uninstalling Claude from my phone and tablet, I rediscovered the quiet moments that make life feel whole — folding clothes, sewing a pillow, smelling rice porridge. Not every thought needs an AI response.
Indie LifeWhy Global SaaS Subscriptions Are So Much More Complex Than You Think
SaaS subscriptions go far beyond 'pay and cancel.' Upgrades, downgrades, prorations, trials, payment failures — here's a breakdown of every scenario you need to handle.
Building in PublicThe Best Way to Display 4 Payment Options in Your SaaS
Why do top SaaS products only show one payment button? Lessons from Tailwind CSS, Grammarly, and TinyPNG — fewer choices mean less friction, and restraint is the real design.
SaaSI Spent 300 Hours Building a SaaS Payment System So Nothing Goes Wrong
From breaking down at test case #16 to covering 30+ payment edge cases over 300 hours. Code isn't the hard part — making sure it's correct is, especially when money is involved.
Building in PublicI Bought 3 Services Today and Finally Understood Why Users Pay
Spending less than 300 RMB on computer cleaning, range hood service, and washing machine maintenance revealed three types of paying customers: those who can't do it, those who won't bother, and those who tried and failed.
Building in PublicI Joked About Going Fullstack 2 Months Ago. It Actually Happened.
Code can be written by AI, but every decision is mine. How a frontend developer became fullstack in 2 months without writing backend code — through judgment, not syntax.
Building in PublicTook 3 Days Off After Launch, Zero Guilt.
Launched on Monday, then did absolutely nothing for 3 days. No guilt whatsoever. Here's why strategic downtime after intense work is actually productive.
Indie Life4 Pricing Models x 4 Payment Methods: How I Built a Zero-Code SaaS Monetization System
After 300+ hours, I built a complete SaaS monetization system supporting 4 pricing models and 4 payment providers with zero code changes — just config files.
SaaSPayPal, Creem: Best Practices to Avoid Infinite 7-Day Trial Period Loop
Trial periods boost conversions, but without proper logic, users can trial indefinitely. Here's how to implement trial-once enforcement in Creem and PayPal without platform-level parameter support.
SaaSThe Ideal Solution for Supporting Both Domestic and International Payments
Lemon Squeezy takes $12.95 per sale, and Stripe requires an overseas company — what's an indie developer to do? I split payments: Alipay (0.6% fee) for China, Creem + PayPal for international — compliant, cheap, no overseas entity needed.
SaaS5 Ideal Payment Solutions for SaaS Platforms
A practical guide for indie developers on how to receive international payments via Stripe, Creem, PayPal, Paddle, and Lemon Squeezy — including withdrawal methods, fees, and the best routes to get money back to China.
SaaS