I looked at the source code (as an amateur application developer) and boy, is it over-engineered and complex! Then I remember having built a complex Cordova app more than a decade ago, where I had to make C++, JNI and Javascript interop all play nice and this project feels a lot like that. Lots of moving parts. I suppose this is just the way things are when you are targetting such different ecosystems as Android and…
As an amateur, how can you tell that's it's overly complex? Do you understand what you're even looking at? Or do you feel that you should be able to understand it and anything above your ability to understand is "over engineered?" This seems like the Dunning-Kruger effect more than anything else.
For example, when a user clicks a button, how many calls and moving pieces are involved between the click and something happening on the screen as a reaction to that click.
Often it's a good indicator of how deep the rabbit hole goes.