I wrote a full fledged interpreter by hand for a vintage BASIC language. I called it Basice (I'm Icemanind, so Basice is a play on BASIC and Iceman). It's a little outdated now though. I wrote it using C# and it doesn't use any external libraries, like yacc or flex. It's all by hand. You can see it at https://github.com/icemanind/Basice
You should have started the app on an Android first. An Android developer license is only a one time $25 fee. Once you build it on Android, you can gauge the response and determine how much to charge on other platforms. And build it using a build once, deploy many framework, such as React Native or Flutter, that way porting it to any device would be a sinch! My piece of advice.
I remember reading years ago that people were much more likely to pay for apps (outside of games) on Apple vs Android. I wonder what the current distribution looks like.
And you'd have to pop the ball out every now and then to clean the crud that had built up on the x & y rollers that otherwise made the on-screen pointer stick and skip. Good times.
And even though we're well into the future of optical mice, when my Bluetooth mouse disconnects for a few seconds, the habit of thunking it on the desk a couple times persists... (to unstick the ball)
This is awesome! Now I'd like to see an Android version or better yet, a port to something like React-Native, so it can work on any device, iOS or Android!