How the “My Guinea Pigs” app started — Part 1

Naguib (Nick) ihab
Upilio
Published in
13 min readDec 27, 2018

At the time of writing this (Dec 2018), the mobile application “My Guinea Pigs” now has 1500 monthly active guinea pig owners on both iOS and Android, when I started the application back in July, I did not expect to be at that position by December.

We had our struggles along the way; Apple rejected the first four versions of the app, we exceeded the budget three times, all the while we’re trying to deliver this world quality application and at the same time figuring out how to make enough revenue from it to keep it going.

I’ll aim to be as accurate as I can be in describing our journey to this point from a technical and an entrepreneurship perspective

Validation, do people actually want this?

Being a software consultant and helping a lot of business owners / entrepreneurs build an app out of an idea I can tell that validation is quite important; what might sound like an excellent idea today can be pretty dumb a few weeks and thousands of dollars down the line or at least missing some key elements that can’t be learned, or even sometimes rejected and the person pointing them out rebuked, without having a 100 users telling you about it.

I had a budget of $5000 in mind, we had saved up some money and I recently finished a project, but of course I didn’t want to bet it all on something that I believe in and it wouldn’t have taken me a long time to get a basic website out but still I wanted some proof that this is worth while. So I just searched on Facebook for “Guinea Pigs”, joined some guinea pig groups and popped a question:

And that helped direct the MVP; rather than building a website everyone wanted an app, so, I planned out the app and made some wireframes and split out the app into three milestones:

Being a developer, I know how this will be built, and I started building the backend while looking for a freelancer to help me build the mobile side. Luckily I found an excellent Android developer to help me build the MVP which would get us to milestone 1.

Two weeks after making that post on Facebook, we launched the app on google play.

I also made a Facebook page and an early adopters group to make it as easy as possible for our users to connect with us and give us feedback, I wanted this app to be user centric that we wouldn’t build any features unless the community asked for it. That currently is in our company values list

In our first week we reached 200 users, the idea had been validated.

The next step, how can we generate revenue?

Of course we can all agree that cash flow is the maker or breaker of any business, no money coming in, no staff, no development, no business. So now that the app is validated and I proved that there is a problem in the market “Can my guinea pig eat this?” and the app has the solution for it, the next step would be to figure out if a business can be built on top of this, in order to figure that out I needed to check two other boxes:

  • Are people willing to pay for it?
  • Is there a big enough market to sustain a continuous income?

Box more is more important, so I focused on ticking that first. I thought if people can pay any amount for anything in the application then that ticks the box regardless of the payment model, the conversion rate or a business plan, these come in later when a business person is in the team, I’m a software engineer and I realise that I wouldn’t be able to make a successful business out of this without some help but there’s no point spending more money on it until I figure out its potential and the possibility of make a company out of this.

After reading some books, doing some research on how B2C apps made their revenue, I saw three revenue models:

  • In App payments
  • Out of app products
  • Ads

Now initially at this very early stage, ads are ruled out, we’d need thousands of users logging in every day and spending a few minutes on the app to be able to make enough money to sustain a company, so that is a late game plan.

Out of app products (physical products sold out of the app) is a good idea, I got that from knowing that a large percentage of angry birds revenue comes from merchandise, but selling physical products has its own hassles of competing with established businesses in an area I am not at all familiar with and I didn’t want to fix problems that aren’t there, however, if I can help the suppliers reach their audience then this would be a win-win, after all, I have the focus of a very niche market. However, I still need at least a thousand users to be able to get suppliers interested in the app.

And lastly there’s in app payments, that should give us the kickoff we need to build everything else, if we’re able to raise enough from a thousand users to build the next phase then we can be self sufficient, isn’t that the dream?

So milestones 2 and 3 were to build good tools in the app that the users asked for and charge a small amount for it.

I had a list of features people asked for, so I combined their request and came up with two tools:

  • A profile for your guinea pigs to track their weight and other data
  • A meal planner so you wouldn’t have to plan their weekly meals yourself

But I needed to know that these are things people actually want and they are willing to pay for them, so I went back to the way I validated the idea of having an app in the first place and posted a survey on a few guinea pig groups and got some responses

An actual survey and its answers

So now it was time to start working on the second version of the app.

Reality hit, the tough technicality of building an app

So I’m sure I mentioned by now that I’m a software developer and this is not my first app, that means that I should be able to know how it will get built, how much it would cost and how long it would take right? Wrong.

We went over two budgets in developing the app, apple rejected our app four times and we had to change our frameworks twice. I won’t get into the technical details in this article but I’ll give you an overview of what happened.

Cross Platform vs Native

After the MVP was built on Android, I started looking into having it built on iOS, so I did some investigating and talked to a few iOS developers to get quotes and it would have costed more than the Android app to get done, plus I’d be talking to two developers instead of one, so I started looking into having a cross platform app, that’s where you write the code once and compile it into two native apps or at least that’s the idea, however, that also has it’s problems, animation would be much harder, bugs would be tougher to solve, and you’d need a developer who knows Java for Android, Swift for iOS and JavaScript for ReactNative BUT, it would be 60% cheaper than building natively on the two platforms, so for me that was the selling point and we made our first platform change from Native code to React.

Serverless vs Claudia

At the time I was in charge of the API backend and the database, I wrote all the logic on a framework called Claudia that’s used to create AWS Lambda functions. Claudia is great and I have used it in the past for a number of different apps, this one was a bit different though, the whole backend is server-less which means it’s not running on a single physical server or even virtual one that I manage, instead for all I care, I only need to worry about the code working and AWS Lambda does the rest; it’s also a cheaper upkeep than having a sever running 24/7 because I pay when the function runs for the duration it runs in. However, as the application grew, I had to upload the entire code every time I wanted to update a function, so deployment time for pretty small changes would take up to 5 minutes, which meant API development became quite slow. I had to change course and explore a new framework, I started doing a bit of research and decided to go with another framework called Serverless, however, it would have taken me around 5 to 10 hours to make that move from Claudia to Serverless and with my full time job it became quite difficult to keep up with Addin the mobile developer so I had to make a choice, either ask Addin to slow down so I can catch up or pass the budget and hire a backend developer to take the lead on the move to Serverless and continue from there. As I didn’t want to mess with the momentum, and I know from past experience how important it is to keep that momentum level up, I went with the latter option and hired someone who knew Serverless inside out and she gave the backend a great push forward and I had time to focus on the business itself and the data side of our app.

Apple rejecting our app

While all this was happening, Apple had rejected the first version of our app, their reason was that we were in violation of their policy 4.2 Minimum functionality which meant we didn’t have enough functionality in the app to justify it being in the App Store, never mind that by that time we had 500 users on Android and a large number of people asking for the iPhone version, we got stuck in this grey area for quite some time.

Our users asking for the iPhone version
The rejection message from Apple

So I figured if we add more to the app they have to let it through, and we need to have the app on iOS because we still want that validation we got from version 1, that iPhone users want the app and will use it; so we added in the articles and crossed our fingers and the app got rejected for the second time, I emailed them asking for a call back, followed up two days later, and followed up again three days later until someone finally called me and explained to me that they are aware that this part is open for interpretation and there are no set of rules that qualifies an app in having “enough” functionality to be on the App Store but what the agent told me at the time was the app “lacked interactivity and is just offering data” and then she continued “if you added a chat feature then this might pass the review process”.

I use that story to advise anyone against publishing the beta version of the app or a proof of concept on the App Store, you might have a brilliant idea, great bug-free code, and a user base that’s dying for your app but struggle to get on the App Store; on the other hand, Google released our app in a matter of hours, without having that validation for the first version I probably wouldn’t have continued the app, thank you for being nice and easy Google.

Moving on from there, I had high hopes that once the meal planner and the profile features were implemented Apple would approve our app because those are “interactive” features, we added in the profiles feature first then it got rejected and I didn’t pay much attention to it because we were going to add in the meal planner feature anyway and I placed my hopes on that and yet I got this sad frustrating email “Your app has been rejected”, I was furious; I emailed them, tried calling the agent that called me before, applied for an appeal and waited; none of these stuff worked in the past so I didn’t expect them to work this time and without an iPhone version I wouldn’t be able to reach nearly half the potential market, I can’t run an ad campaigns because I don’t know what device the user has, and worst of all I had no idea how to fix this. A few hours later, I got an email saying it got approved, I speculate that whoever is reviewing the application saw the previous three rejections and decided that it is ok to make a fourth rejection, I blame that person for the dent in my wall.

Once that approval came through from Apple, we were back on track, and it was time to try and fix anything wrong with that last release and get it out there.

We had already passed our first budget when we took a backend developer on board, not that this was a wrong decision I still stand by it, but now we were close to passing our second. Software Development isn’t easy, there are a lot of unexpected things that can happen and you can’t plan for them, so my advice is to always put some money on the side even if the project is simple.

We started using our Early Adopters group for beta testing the second version before it goes out to the market, so we invited anyone who was interested in testing the app to that group with the promise of giving them the app for free in return for their feedback, and that turned out to be a great idea, not only did they find extremely peculiar bugs but they also gave us some great suggestions, that group of users from different countries, ages and different levels of experience with guinea pigs showed us some loop holes we never thought about, and in making those last few changes before the launch caused us to pass the second budget, but again, it was worth it.

In November, we were finalising the last bits and pieces, doing some tests and running through every scenario possible and we eventually launched the second version of the app on November 24th 2018, Immediately people started purchasing in-app commodities and the second box was checked. I celebrated with some 30 year old Port..

The last stretch, growing the app and making a business

As I am writing this, we have:

  • 1500 monthly active users, 1200 of which have logged into the app (using the meal planner and the profile features)
  • 1300 guinea pig profiles (that’s a ratio of 1.1 profile per user)
  • 12,000 meal plans created (that’s a ratio of 9.2 plans per user)
  • A 20% conversion rate (Buying something in the app)
  • 4.2 Rating on Google Play from 42 ratings, no rating on App Store yet
  • 3 data validations from exotic veterinarians, nurses and big name rescues
  • Made a considerable amount of revenue and raised a nice sum for animal shelters around the world
  • At least 1 new message on the facebook page every day from a new user thanking us for the app and suggesting us new features

But we also have:

  • Six 1 star ratings, complaining about the fact that the app is asking for in-app payments

So the next step and the last box to check is that we can grow the app and even though the app audience grew from 500 to 1500 in a couple of weeks, that box also means having a sustainable business that can generate a continuous cash flow and most importantly having a happy community of users that would advocate us and spread the word about the app.

We all quickly realised that our pricing model is not ideal, the way we generate revenue at the moment is through in-app payments, every time you want to add a new profile you’d make a payment, and every time you’d like to save a meal plan you’d make a payment, but that was not what people expected, even though 20% would buy a profile there was a group of users who were not happy about having to pay to add a second profile. So, we did some brainstorming, asked our early adopters, I reached out to some colleagues who have a business degree and got some ideas off them, did some research on how other apps that might be somewhat familiar to us make their revenue and we came up with two conclusions; either we’d have a monthly subscription or a one-off fee and as it eventually falls down to what the paying users want, we made a survey and basically asked them “What would you rather pay”

Based on that, we’re making our next change, setting up a new financial forecast, raising capital, building up a team of experts in the mobile app and pet tech fields, and figuring out our next moves in 2019; which features do we build and what parts in the app do we focus on.

The third box is almost checked and we are on our way to changing the Pet industry for the better.

Read more about how my guinea pig Augustus kick started My Guinea Pigs App: https://link.medium.com/ECEv6VOH7S

Or checkout part 2: https://link.medium.com/3VvO5cnIK0

--

--

Naguib (Nick) ihab
Upilio
Editor for

Just another coder with some free time and a coffee on a train 🚈 ☕️ 👨‍💻