
Building something that works, and then work on expanding it
Now this is a generalization, and like all generalizations, it's not always true, but a thing that gets me excited to "complete" projects is to build something really tiny that works
and then work on making it better
not a "proof of concept" but like the "proof of concept of the proof of concept", building the tiniest, most important part of the project that works, and then expanding it
- Now you have the motivation for the project, and you have the smallest part that works ¯_(ツ)_/¯
However, this does not mean compromising on the "expandability" of the project,
So essentially, for me, for example, perhaps when I go into the project I would recognize that eventually I would want to make a mobile app out of it, so it's still a better idea to start with react native, and then work on the web app, and then work on the mobile app
since rewriting the codebase from scratch here would be incredibly exhausting
Starting with typescript/jest and probably the "most advanced stack" can probably better early on, than having to add everything later and have it break because it just doesn't work
some tips on this
Starter templates are AWESOME and save a lot of time to everyone involved
https://createexpostack.com/ is my goto here
Don't focus on perfection, everyone makes mistakes
Everything is a compromise and there are no perfect rules to adhere to here
Lastly, this does not mean writing bad code, (I tend of think of bad code as complex code), you still take a step back, maybe take a pen and paper, draw a diagram and think about how your codebase is gonna work so the next person (or when you in the future are reading it) can still understand it
xoxo - appreciate you