Yours is a good example of what can be done by keeping it simple and not getting wrapped around the axle with complicated frameworks.
It makes me regret all the time I've spent trying to figure out the absolute best tech stack to use rather than just working on finishing the damn thing.