is it ok to start a business project from scratch and write every piece of code from zero?
It is, if this adds value for the customer. The problem is this is often done just because the developers want a sense of control. They don't like being pushed around by existing code. They don't know how to use the existing code without it taking over.
There is a fascinating TED talk about building a toaster from scratch. It wonderfully illustrates that doing everything yourself is a lot of work to get even tiny things done.
The thing is, that's fine if that's what the customer wants. If you can find someone who values that and will pay for it, fine. If they don't care and just want it today then this is a terrible plan.
What you can do is use isolation techniques like dependency inversion, docker containers, and package managers to wall off the code you write from the frameworks, tools, and libraries you use so that there are isolated places in your code base that neither know nor care about any stuff created by others. Doing this allows you to replace that other stuff with new stuff or even your own stuff when you need to rather then needing to redo everything because a new version of their crap came out.
Doing that will give you all the control you need without having to write everything yourself. If that's all you need then you're set because once you learn how to do this you can still get product out in a timely manner.
If you really want to write everything yourself, just to see if you can, then maybe you should start with very small jobs that are targeted. Microcontrollers put you close to the metal. See if someone needs a custom Hardware Abstraction Layer and will pay you for it.