Blog

Author

What I think, what I build.

SaaSMay 26, 2026

Why Users Pay: The 3 Jobs Your Product Really Needs to Satisfy

Users do not pay only for features. Functional, emotional, and social jobs often stack together to make a product worth paying for, staying with, and sharing.

Read article
Build In PublicMay 19

A SaaS With 2.5 Million Monthly Visits Still Does Not Dare to Use Stripe

An AI face-swap SaaS with 2.5 million monthly visits does not use Stripe. Instead, it points users to Telegram and crypto. That says a lot about payment risk for indie developers.

SaaSMay 3

Directory Sites Are Everywhere, But the Valuable Ones Aren't Directories Anymore

Everyone's building directory sites, but the ones that actually make money have evolved beyond simple link aggregation. Here's what separates a disposable directory from a lasting brand.

SaaSMay 2

I Thought API Reselling Was Easy Money — Turns Out It's a Dead End

I explored the idea of becoming an AI API reseller. It looked like easy money — until I realized it's a race to the bottom with serious compliance risks. Here's the smarter path.

SaaSApr 29

4 Months Into SaaS, I Realized: Chasing Trends Is Easy — Catching the Traffic Is Hard

After 4 months of building SaaS, I stopped chasing trends and focused on what really matters — being ready to handle traffic when it comes. Speed isn't enough; stability is what turns a viral moment into real revenue.

Build In PublicApr 28

Dropping My Moral Perfectionism Finally Unlocked My Business Thinking

I used to reject marketing, sales, and trends as 'beneath me.' Then I realized my moral high ground was just a filter that kept blocking real opportunities.

SaaSApr 26

I Thought Demand Validation Was Essential — Until I Shipped My First Product

Demand validation is not a universal rule. When you live inside the problem space, you are the validation. From commodity opportunities to insight-driven ones — my real path building Pay4SaaS.

SaaSApr 24

Got a Haircut I'd Never Dared to Get — Realized I'd Been Living in Others' Eyes

I finally got the hairstyle I'd admired for years. The moment I stopped consulting everyone else's imaginary judgment, I found something worth more than the cut itself.

SaaSApr 23

No Backlinks, No Ads — Why Google Started Recommending My Product in 45 Days

I didn't buy a single backlink or run any ads. After 45 days, Google gave my SaaS product Sitelinks. The only thing I did was write — consistently and honestly.

Indie LifeApr 19

Why I Decided to Share My WeChat Publicly

From rejecting friend requests to opening up again — three stages of rethinking personal connections. Not every connection needs to lead somewhere.

SaaSApr 17

3 Domain Types, 3 Monetization Strategies: The Last 2 Build Compound Returns

Your domain name is more than branding — it reflects your monetization logic. Traffic sites, niche-capture domains, and brand domains each lead to entirely different ways of making money.

SaaSApr 15

Google Started "Recommending" My Product After Just 45 Days

45 days after launch, Google search results showed Sitelinks for my product. No application needed—Google generates them automatically. This is a form of quality endorsement. Here's how to do basic SEO right and let Google vouch for you.

Build In PublicApr 14

Some Money Is Better Not Earned

After 2 years of ad monetization, I quit completely. Not because it didn't make money, but because it made me uncomfortable. Some money is better left on the table—not out of nobility, but because you can only go far doing what you truly believe in.

SaaSApr 13

6 Steps to Monetize a Small but Beautiful SaaS as an Indie Dev

Monetization is not just about launching and collecting payments — it is a complete chain: demand → product → content → traffic → sales → revenue. Here are 6 actionable steps for indie developers.

SaaSApr 10

10 Ways to Discover Product Demand

Demand is not invented — it is discovered. A framework of 10 gap types across 3 layers to systematically find your next product idea.

Build In PublicApr 5

How Users Quietly Leave Your Product — A Bowl of Noodles Taught Me

User churn rarely comes from one big bug. It comes from stacked small disappointments. A noodle shop visit revealed the pattern every indie developer should watch for.

Indie LifeApr 2

Indie Dev at 33: Prime Years to Hustle, but My Doctor Said Stop

At 33, months of intense indie dev work caught up with me. My doctor said I needed to rest for months. From resistance to acceptance — slowing down isn't giving up, it's waking up.

Indie LifeApr 1

Finally Finished What I Procrastinated for a Week, Only to Discover: 'Hassle' is a Gift in Ugly Wrapping

Procrastinated on making a demo video for a week because it felt too much hassle. Finally finished it and discovered that the 'hassle' itself was the competitive advantage.

SaaSApr 1

How I Make Sure SaaS Subscription Expiry Never Slips Through

Webhooks handle 99% of subscription state changes, but what about the other 1%? Here's the 3-layer defense I built — 1 passive + 2 active fallbacks — to guarantee no expired subscription ever goes unnoticed.

SaaSMar 31

Why I Removed Immediate Cancel from SaaS Subscriptions

Immediate cancel looks like giving users a choice, but it actually bundles refund disputes, credit ambiguity, and lost value into one hidden landmine. Here's why I deliberately removed it.

Build In PublicMar 29

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.

Build In PublicMar 28

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

Build In PublicMar 27

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

SaaSMar 26

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

Indie LifeMar 25

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

Build In PublicMar 25

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

SaaSMar 24

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

Build In PublicMar 21

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

Build In PublicMar 17

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

Build In PublicMar 14

The First Fear I Faced as an Indie Developer

Deploying servers, integrating multiple payment methods—none of that fazed me. But one thing triggered real fear for the first time: selling my product. Selling isn't 'I want to sell you something,' it's 'I understand your situation, and I happen to have an answer.'

Build In PublicMar 13

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

Indie LifeMar 12

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

SaaSMar 9

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

SaaSMar 4

PayPal, 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.

SaaSFeb 12

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

SaaSFeb 10

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

SaaSJan 31

30 Days of Building a SaaS — I Solved 54 Problems

From validating ideas to deploying live, I tackled 54 common indie dev problems in 30 days. Demand, tech, payments, operations — a real daily log of every obstacle and breakthrough.

SaaSJan 21

I Built a SaaS in 20 Days and Realized Every Barrier Was an Illusion

From finding an idea to going live in just 20 days. Demand, tech, payments — every obstacle I imagined turned out to have a solution. Every problem, 100%, has an answer.