Bezos coined 'undifferentiated heavy lifting' for the AWS pitch. Same rule for indie SaaS: 90% of every product is the same plumbing — auth, checkout, webhook audit, email transport, KYC docs, legal pages.
For my current product (datenix.xyz — a data API), I measured. Actual product code: ~600 lines. Plumbing / config / docs: ~5,400 lines. Ratio: 1:9.
The fix: extract the plumbing to a re-usable fleet. My Cloudflare Worker now hosts the payment + email + audit stack for 3 products in parallel. New product = new D1 namespace + new PLANS map. Days, not weeks.
Full breakdown with the fleet architecture diagram: https://blog.yeluoxiaoxiao.top/posts/undifferentiated-heavy-lifting-indie
Top comments (0)