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