I am an hobby Android developer and the developer of an app called Teleposter. It's a simple and lightweight wrapper around the publishing platform Telegraph, which is created by Telegram and helps people publish articles the most simplest way.
It's even more simple than Medium. You don't need to create any account or something like this. Just write and publish. It is pretty nice for Telegram Channel owners, who like to share some more information than possible in a simple Telegram message.
I started creating this app in December 2016 short after Telegraph was going live. In the beginning it was just a stupid web wrapper displaying the Telegraph website inside an app. But new requirements came quickly and I needed to rethink my strategy. Because an API was also published soon after the platform itself I decided to use that for my app and it worked pretty well with formatting options and all that stuff. Last year I also added image upload and some other small things.
Just a few weeks ago I found another app for Telegraph by chance on Google Play and was surprised, that this one had many more features than my own app. I discovered a competitor and suddenly got much more motivation to improve my own app, because mine is also open source and I want others to enjoy the same features as in the competitor's app, but without being tracked etc. (I found out, that the other app probably tracks it's users.)
And so did I rework it. It took me a few days coding till late in the evening to rewrite the whole backend and massively improve the code for more reliability. Then I was able to add new features like the possibility to login with Telegram or an improved article viewer and editor.
But this article shouldn't be about my awesome app, it should be about why competition is sometimes needed to get that required motivation boost to make your product awesome.
If I wouldn't have discovered the other app, I probably wouldn't have touched my code at all, because I'm lazy and I also didn't use my app a lot. I would still procrastinate and ignore the bug reports I receive. My app would lose users.
But with this external influence and because that was my most popular app, I was able to convince myself to rework the app, which had the positive side effect, that I also learned how much my coding has improved since I developed this app. (The app consisted of pretty bad code and it was no wonder, that I received a lot of crash reports.)
Sometimes that's the only way how your eyes get opened.