A single file might be cool for a small project, but as mentioned you probably want distinct files for font specifications, etc..
I’ll also second that you’re going to want your colors in the asset catalog.
That said, my biggest issue with your article lies in the fact you’re used hard coded color names like indigo and navy and not semantic names like primaryTextColor or brandColor.
You mentioned what happens when the designer decides to change colors throughout the app. So what happens when they decide the primary accent color is now red and not navy, but everywhere in the app you called it navyColor?