A feature solves a problem once.
A system solves a class of problems repeatedly.
The shift usually happens when:
- edge cases pile up
- manual work increases
- behavior becomes unpredictable
That's when you're no longer building features — you're designing a system.