awesome.
don’t stress too much. it’s ok to be free to experiment and find what suits better.
it’s good you did a sanity check anyway.
i agree with kemichar and you. you might be overengineering.
imho i’ve found that what works for me after many years of trying different things is:
- just program what you need, and not more, in the best way you can think of at the moment.
- try it out for some time.
- refactor or add features, but only when necessary.
- generalize and optimize once the systems are in place and tested. not before. (unless your app is performance oriented like real time trading).
maybe you can start three systems. and later, after testing and seeing how they grow, you can generalize the bits that make sense.
i find that when implementing something, it’s almost always the case, that you find out of edge cases and quirks you werent planning.
you will notice that your understanding of the problem, and even your skills, gets clearer as you let the systems “settle” for a time. that still happens to me after many years.
a saying from my grandfather that used to be an electric engineer was “measure twice, cut once”. which implies you try it out and see how it fits before you commit.
i hope that helps, all the best