> What I meant is that when working on certain features you will need to understand it all to implement it.
That's more or less true regardless if you're soloing a project or on a team. Depending on the design. It's true, you do sometimes, for a period of time, have to keep several things in your head at the same time, but how the code base, class, function, or whatever, is structured, can increase or lessen this cognitive load. There's many ways to skin this cat. Generally you shouldn't have to keep more in your head than the current module. It's all about encapsulation. Do you need to understand just the interface, or the implementation as well? That's your choice, as far as how you design your codebase, since you're a solo dev.