Building from an empty file forces you to confront why certain patterns exist. When you skip straight to the template, you adopt solutions to problems you haven't even encountered yet, leading to massive, unnecessary architectural bloat.
Well put. Adopting pre-packaged solutions for problems you haven't faced creates a 'solution-first' mindset that is almost always overkill. Building from a blank slate is the best way to ensure every line of code serves a purpose, not just the architecture of the library you chose.