Please do your client a favour and find a way to use an existing CMS. There are countless options available.
Building something custom effectively means you are stating that your requirements somehow happen to be so unique that somehow all the existing solutions are not adequate. Otherwise it can't be justified.
And the chances of that statement being true is astronomically low.
If you think of it as a spectrum,
One one end there's the "shitty 50 line python script I created for my own problem in an hour in an afternoon".
On the other extreme end is "new CMS we are building to challenge all the existing ones because we are in the business of making a new CMS and we have raised millions and millions".
Everything else in between (where the CMS itself is secondary to a different primary problem being solved) does not justify the creation of the CMS.
It's like deciding to first manufacture a cook-top because you want to cook a really tasty dish of scrambled eggs.