Free Resources

A collection of my most-read articles, videos, and book notes, free to read. Practical notes on engineering, freelancing, productivity, and building things, with the fluff left out.

Read My Most Popular Articles

"SaaS Is Dead": Why You Should Ignore Every "X Is Dead" Headline

"SaaS Is Dead": Why You Should Ignore Every "X Is Dead" Headline

Everyone is repeating that SaaS is dead because AI agents will absorb business applications. I have been hearing this exact song since 2013, when I started with PHP — a language that has been declared dead every year since, and that earned me around $150,000 in the last two years.

This article traces where the "SaaS is dead" claim actually came from, why death headlines are marketing instruments rather than analysis, and how to tell genuine technological decline from a hype cycle — without turning "ignore the noise" into an excuse to stop learning.

How to Structure a Codebase for Scale and Maintainability

How to Structure a Codebase for Scale and Maintainability

Most advice about structuring a codebase assumes you are starting from an empty repository. Real work rarely looks like that. This article argues that structure is a response to a diagnosed problem, not a decision you make up front, and shows how to build the understanding that makes the decision possible.

It covers a verification loop for learning an unfamiliar system, the case for isolating business logic per endpoint (including what that approach costs), how to live with a legacy component that works but resists change, and what undocumented infrastructure does to a migration.

How I Rebuilt My 10-Year-Old Open Source Package with Cursor and Claude

How I Rebuilt My 10-Year-Old Open Source Package with Cursor and Claude

I rebuilt my ten-year-old Laravel package in two phases: a beta built with Cursor using a test-first agent loop, and a stable release built with Claude that split the package into a framework-agnostic core and a thin Laravel wrapper.

This is the workflow in detail — explaining expectations, having the AI write tests, reviewing those tests before letting the agent loop to green — plus the honest boundary of the method: passing tests are a claim about the code, not about the platforms it talks to.

What 10 Years of Maintaining an Open Source Package Actually Taught Me

What 10 Years of Maintaining an Open Source Package Actually Taught Me

I published a small Laravel package about ten years ago so a freelance client could stop copy-pasting blog content into three social networks. Since then it has been renamed twice, survived a long maintenance gap during an international move, led to a stranger thanking me on a street in Mashhad and a job offer from a US startup, and finally became the foundation of a product.

This is what actually happened in between: what renaming a package really costs, what users do when you go quiet, and the unpredictable places a public package can take you.

Popular Book Notes

Show Your Work! by Austin Kleon – Summary, Notes & Highlights

Show Your Work! by Austin Kleon – Summary, Notes & Highlights

Read More
The Manager's Path – Summary With Notes and Highlights

The Manager's Path – Summary With Notes and Highlights

Read More
Staff Engineering by Will Larson – Summary With Notes and Highlights

Staff Engineering by Will Larson – Summary With Notes and Highlights

Read More

Subscribe toChangelog

📚
One useful email, most weeks.

Weekly notes on software engineering and building income on the side, plus what I am learning as I ship my own products.

By submitting this form, you'll be signed up to my free newsletter. I may also send you other emails about my courses. You can opt-out at any time. For more information, see our privacy policy.