How I Built an iPhone App For $10,000 That Makes $2.99 Every Six Months

Tony Staunton
Chartgenie Graph and Chart Maker
10 min readApr 11, 2024

--

Photo by William Hook on Unsplash

I’ve seen a lot of posts on Medium with the title ‘How I built my app to make $$$$ per month’. Unfortunately this has not yet been my experience. After launching my app, Chartgenie 📊🧞 in October last year I thought that now, six months later, was a good time to write my own ‘How I…’.

So let’s get right to it with some numbers and then I can give you the background and bring you up to date. But first what is Chartgenie?

Overview

Chartgenie is an iOS app that makes it easy to create and share beautiful charts and graphs.

Chartgenie offers a free version that allows users to create up to 4 charts. It also offers monthly, yearly, and lifetime plans ($2.99, $24.99, $99.99). The paid plans allow users to create unlimited charts and upload data via a CSV file.

High Level Stats

  • Started development March 2023
  • Launched October 2023
  • 400 apps installed to date (free plan)
  • 5 users subscribed to the monthly plan (7 day free trial and then $2.99p.m)
  • 4 users cancelled their monthly subscription before the end of the 7 day trial
  • 1 user paid $2.99 for their firsts months subscription

As I write this now I realise a fundamental flaw in my pricing. Why, if I have a free plan do I offer a 7 day free trial on my paid plans? Users can just use the free version of Chartgenie and then subscribe when they want to create more than 4 charts or import data via CSV 🙄.

Anyway, here are the stats from App Store Connect since last October.

Chartgenie App Store impression per day
Chartgenie downloads per day

Background

I’ve always loved data and charts. It’s one of the main reasons why I learned Python. There is something very satisfying about turning data or information into a chart that tells a story or easily conveys a message.

I created Chartgenie with one simple goal, to create and share beautiful charts. I wanted to have the ability to take a piece of information from a book, an article, a piece of research, or from a work project, and turn it into a beautiful chart that tells a story. No spreadsheet pivoting, no coding, just some text fields and options to customize.

Minimum Viable Product

The idea for the first minimum viable product (MVP) was simple. I wanted to create a web app (stay with me 😀) that would take user input and display a simple line or bar chart. The goal for the first MVP was the following:

  • Ask a user to select a graph type (for the MVP this would be limited to a line and bar chart)
  • Ask the user to input a set of data points for the line or bar graph to chart
  • Provide a user with a button to plot the graph
  • Display the plotted graph on a new page
  • The MVP would have only two pages, a home page, and a page to display the plotted graph
  • There would be no additional text either of the two pages for the purposes of this MVP
  • The approved MVP will be published to web server for test in and then released to production

Here are the mockups for the first MVP.

Home Screen
Chart Screen

Technology & Resources Stack

  • Djano & jQuery
  • ApexCharts
  • PostgreSQL
  • Python
  • AWS EC2
  • GitHub

As you can see a simple enough goal. I was happy with how the first MVP turned out and to my mind it achieved the goals that I had set for it. So with no user testing or any other information other than the fact that I was happy I decided to evolve the MVP to include more features.

At this point I also decided to find a developer on Upwork to help me deliver some of the more complicated features.

Why a developer? Why not just continue development myself you might ask. Several reasons, at the time I started development our daughter was one years old, I expanded my objectives for this project and felt a better developer would help me get there, and a lack of patience on my part.

Also, I should say that I’m 43 years of age and I have an income that leaves me with a small amount of discretionary spending at the end of every month so I was happy to spend it on Chartgenie.

Finally I felt and still feel that starting an online business is something that I really want to do and achieve. Having an app professional developed would be a big step towards that.

Outsourcing

I posted a description of what I was looking to achieve with the web app, what I had done already and then selected a candidate from the massive amount of responses.

We agreed on $50 per hour. Which in hindsight was way too much for me, my goals, and my limited budget. Even though I agreed on the hourly rate it was still a shock to see a bill for $400 come in every other week.

I did have a small amount of money set aside for other personal things to do but that didn’t last long after I requested several new features.

Rightly or wrongly I persisted 💪

You can see the scope for the second MVP in the mockups below. But at a high-level it included:

  • Switched from ApexCharts to HighCharts (HighCharts look more professional in my opinion)
  • New input panel on the right-hand side
  • Ability to see and view recent charts
  • Added pie and multi-par charts
  • Ability to export/download charts

Estimated time to develop 32 hours.

Other details

While development of the MVP was going on I had pretty much decided to role this in to a full product that I would offer to users so I began to do a few admin things:

  • Purchase a domain name
  • Setup email addresses
  • Purchased HTML themes for front and back ends

End of MVP Stage

By the time the MVP was complete, or at least what I considered complete, again I had no defined product goal or user feedback, I had spent approximately $4500 on development and admin.

As well as everything described above the final MVP included a lot of features:

  • CSV upload
  • User account creation with super users
  • Profile view
  • Front and back end themes
  • Chart customizations (backgrounds, line types)
  • Chart history and the ability to view previous charts using PostgreSQL
  • Chartgenie installed on AWS EC2 and resolving at www.chartgenie.io

After 5 months of development, spending an estimated $4,500, and investing a lot of hours in Chartgenie the web app I decided that it would be far better as a mobile app!

Why a mobile app?

One night it just hit me that Chartgenie should be an app for a mobile device. Again, no user testing, research or anything like that. I thought that as a mobile app it would have more impact. Going back to why I created Chartgenie (as a tool to create and share beautiful charts) the freedom of having it as an iPhone app just seemed to click with me. Being an iPhone app I hoped would open it up to more users, those who may not have access to a laptop, or who worked exclusively on a phone.

Another purpose of Chartgenie is to empower its users. With Chartgenie you don’t need to have killer visual design or data science skills and you don’t need a massive budget, all you need is a piece of data and you can create and share great charts on your iPhone. That was and is still the hope.

I really liked the idea of an iPhone app for lots of other reasons. I’d always wanted to learn how to create an iPhone app and quickly took to Swift, SwiftUI, and Xcode. I could learn at my own pace, work with no pressure or deadlines, and push to the App Store when ready. I bought a few books but my real learning was done with Apple’s tutorials and an amazing set of tutorials on YouTube called Swiftful Thinking. I highly recommend you check them out if you are considering iOS development.

iPhone Minimum Viable Product

I cobbled together an iPhone MVP 👇 using SwiftUI and Swift Charts. I was happy with my progress but again my impatience got the better of me and I wanted more features, faster than I could learn, develop, test and release to the App Store. So I turned to Fiverr.

Chartgenie iPhone MVP
Chartgenie iPhone MVP

Outsourcing

I searched iPhone iOS app developers on Fiverr and after reviewing several candidates and some brief text conversations and quotes I selected one.

I started by providing a description of what I had done to date and then my wish list for improvements and new features.

Initial Contractor Contact
First Chartgenie wishlist

Release & Launch

In my mind there is a difference between a launch and a release. I think that this is an important distinction to make as it can impact how you view the early success of your app.

  • To me, a release is just something going live. Yesterday it wasn't in the App Store and today it is. Release are things like a products initial release, small updates, bug fixes.
  • A launch is when you make a big song and dance about it. You email all your friends and family, have a press release ready, push it to social media and so on.

By October I thought that Chartgenie was in a good enough place to push to the App Store (release). It was by no means perfect but I wanted to get it out there and start getting some feedback.

I found the App Review process very straight forward and on Friday 6th October it went live in the App Store. That first day it had a total of 6 downloads. Have look at the charts above to see the initial traction.

In the first months (October — December) I did almost zero marketing. I ran a few App Store ads but that was it. This time was mainly used to improve the app and fix bugs, of which there were many!

Launch

In March 2024 I decided to ‘Launch’ Chartgenie to the world. I lined up several things for this:

  1. Product Hunt (launched myself)
  2. Press Release (provider found on Fiverr, sample here)
  3. Hacker News
  4. Reached out to several app review sites (sample here)
  5. App Store Optimization (App Store images, keywords and description)
  6. Apple App Store Ads
  7. Explainer Video
  8. Website Updates
  9. Chartgenie Community using Discourse

You can see in the chart below how these efforts resulted in several peaks of users coming to my app page on the App Store. The three high peaks of March 5, 20, and 27 represent when actual activity such as ProductHunt launch.

From this launch activity I got several more free app version installs but nothing that shook the earth even enough to be specifically called out here.

From my first order on Fiverr to launch I spent an estimated $5,500. This spend included development, ASO, explainer video, and other launch/marketing activities.

If I were to view my launch activities through the lens of new paid users (0) then each activity failed miserably. I’m not sure they even got out of bed. But I did notice increased activity in my keyword rankings along with a brief inclusion in the top 200 apps for the Graphics and Design category of the App Store.

(side note: check out the time on the image below and you’ll get an idea of how obsessively I was checking stats and performance)

Conclusion & Key Takeaways

Would it have been nice to release and launch to massive fanfare and see an initial burst of installs and paid users? Yes! Secretly this is what I’d hoped for but deep down I know it’s not what I deserved. I launched with no audience, no email list, and almost zero marketing activities but with the simple hope that it would some how gain traction. Much like this article!

To date my marketing activities have been pitiful and inconsistent. And that’s my key takeaway and future focus. The app is built, I’m happy with it and I will keep adding new features and fixing bugs each month. But if no one knows about it then there really is no point.

So the next phase of the Chartgenie / retire early project is a focus on marketing, relentless, unashamed, self-promoting marketing.

Key Takeaways

  • Making sales (even free ones) is much harder than I thought
  • Getting picked up by an outlet (blog or otherwise) is much harder than I thought
  • Getting some ones email address is much harder than I thought
  • Launching with some sort of momentum (audience, blog readers, email list) is a big help
  • Make sure to launch with analytics
  • Not every day is a win
  • Define a release and launch plan

I hope you found even a small piece of this article helpful!

--

--