If you build everything specific to your problem domain then you will have exactly the right code, no more, no less.
7 Ways To Avoid Technical Debt
Ian McKellar
2313
This also depends on what problem you are solving. You should only implement stuff that is core to the problem you are solving. If it’s not core, then using 3rd party software is always best. Where do you draw the line? Should I implement my own web server?