It all started in August of 2014. I had been a Monstercat fan for about a year at that point and started learning app development as well. I had been lurking the /r/Monstercat subreddit for a few weeks and I came across this thread: Do you think a Monstercat app would be cool? I sure thought it would be cool. Learning app development and being naive in thinking it would be pretty easy to construct an app. The question “How hard can it be?” is usually always answered with a difficult task. After generating support with this thread: Should I create a monstercat app? I decided to start working on it.

The Original Monstercat Fan App Design

A few days later the very first Monstercat Mobile App Concept Design was born. It was done in photoshop and looking back it was extremely ugly and showed my lack of experience. But at least it was a start. Over the next few months, I tinkered around with the idea a bit more until I finally posted The Monstercat App Update 001. This was not a photoshop mockup and actual code! Still ugly (to an extent) and I don’t recall there being the functionality yet. This was December 10th of last year, and today December 5th, we have come a long way. Not long after that The Monstercat App (Unofficial) Update 002! was conceived. Over the next few months, I spent my time crafting a mediocre app dodging my way through errors with very little clue of what to do. I eventually gained more and more skill.

I about had the version ready to submit to Apple at the end of January. At that point, it was still called the “Monstercat Fan App” since it was for fans and just calling it “Monstercat” would probably go against rules since this is not official or anything like that. On February 18th, I submitted it to Apple and my excitement was at an all-time high to be able to present my hard work to the Monstercat community.

Meanwhile, I submitted it to Google Play and the very first version of the “Monstercat Fan App” was accepted for the store. Very soon after I started getting performance complaints from users and I quickly fixed them with some common patches. When I went to go re-upload to Google Play for whatever reason they deem it as violating copyright, despite not changing any metadata, screenshots, titles, tags, or anything else.

Soon after that as well Apple rejected it for copyright reasons. Looking back on it, it is very reasonable given that the app icon is literally the Monstercat logo. Apple was very helpful and provided resources in their ToS and I found a part that allowed ThirdPartyName for X. So I got to thinking and thus BadKitty was born from the ashes of the dead Fan App.

Not an April Fools Joke

I started hard at work polishing it and making it better than ever. I added a revamped music player, push notifications, and more. I tried adding in a spectrum visualizer that worked on the desktop when emulating it, but not on the device. I’m pretty sad actually that didn’t make it. On May 1st, BadKitty was born on iOS. It was far from perfect, but it was mine.

Unfortunately, Google rejected it still under the new “BadKitty” name. The issue is with Google Play, everything is done by a bot and not by a person unlike with iTunes. This means that it is very hard to dispute a claim and small developers like myself are essentially screwed. To this day actually, the very first “Fan App” version that is terribly laggy remains in the store. Why that’s allowed and not BadKitty is beyond me.

Since May, I’ve been hard at work creating a better experience. I’ve been pushing the limits of hybrid app creation. The app was created on the Ionic Framework and Apache Cordova. Essentially that means the app was built like a website and not with Swift/Java. I did this because that is what I knew, and I didn’t really want to learn Swift or Java. Ultimately, I regret not learning those earlier on as the codebase would probably be a lot more flexible, but oh well. Eventually, the goal is to port it to 100% native but until then it will be tiny steps. In the upcoming update, a large amount of code was written as plugins enabling Javascript to make calls to Swift and Objective-C iOS libraries.

It's been a long time since May, but there are incredible leaps for the new version.

What’s New:

- Major Redesign!

- Rebrand by R3mix

- Hides Going Quantum Action Figures

- Revamped Music Player

- Mongolian Throat Singing & Kitchenstep Enhancement

- Built in Reddit Viewer

- Social Media

- Corrected Natasha Watermelon to Proper name

- Second Saturday Promoted to Favorite Day

- Performance Optimizations

- Reduces Plans for World Domination

This just scrapes the surface of the changes. It really is going to be amazing and I can’t wait till it releases. It will drop on iOS and Andriod on December 20th. For sneak peak screenshots and the latest new check out the twitter at @BadKitty_App

Lastly, I want to thank everyone who’s ever supported the project. I’ve gained tremendous support from so many people including, Monstercat, /r/Monstercat, various stackoverflow contributors, @R3mixLP, and more. I really couldn’t do it without the support.

It’s been a long journey, but it is far from over. Thank you for being a part of the story, I can’t wait to see where it takes us.