How We've Grown in a Competitive Space by Eating Our Own Dogfood

Hello! What's your background, and what are you working on?

My name is Yahia Bakour and I’m the head of growth over at Stock Alarm. I’m a software engineer by trade but I also have experience in marketing and growth development. I’ve been interested in the stock derivatives world for quite a few years now and have enjoyed working within the space.

Stock Alarm is a platform built by traders for traders that watches the stock market for you and will email, text, or call you once your alerts go off. We’ve been in the space for 8 months and have had our fair share of challenges and success, we've now grown to 9K MAU and $3K MRR.

What motivated you to get started with Stock Alarm?

Stock Alarm sprung from our need for an alerting service that would replace the hours of time we’ve lost stalking charts. Personally, I've spent more time than I’d like to admit glued to a chart waiting for the perfect entry or exit point for a trading position.

home

We wanted a service that would simply let us know (via a phone call, text, or email) when the price of stock XYZ went above or below a target.

After building the MVP, we realized that this is a service that many traders would love and monetized it. We started getting many requests for more trigger types (based on news, technicals, etc…) and that’s when we knew that we were onto something. Our main focus was on creating a powerful trading tool that hides its complexity behind an intuitive UI.

What went into building the initial product?

As engineers working for bigger companies, we initially spent our evenings and weekends for about four months building out the MVP of Stock Alarm. Our primary goal for the MVP was to confirm product market fit beyond our personal need for the product. To ensure all our time was used efficiently, we first focused on a minimal set of high quality core features (just setting alarms based on price limits) without thinking much about how we would monetize or scale.

We made sure to avoid feature creep, ruthlessly prioritizing features that would confirm our core hypothesis: that a need exists for stock market alerts. Once we saw organic growth and retention for the free version, we then wanted to confirm whether this need was strong enough for customers to pay.

After seeing 70-80% month-over-month retention among paying users, and organic conversion to the paid tiers, we decided to double down on building richer feature sets, customer discovery and customer success, and investing in better engineering to support scalability/cost margins.

We’ve bootstrapped the entire company to date, with the founders only personally investing a couple thousand dollars, but we also benefited greatly from credits Google awarded us (through Google Startups) for $100,000 in GCP credit through filling our LLC with Stripe Atlas.

What's your tech stack?

Our tech stack includes Firebase as our back end with over 70 cloud functions running, React.js for the web app, Swift for iOS, RevenueCat to manage cross platform subscriptions and an elastic search instance running on a separate VM.

For our alerts we utilize Twilio for calls and texts and SendInBlue for our emails. Sentry handles logging web errors. We also have an automated process that notifies us in Slack if anything goes wrong. Since we're a couple of engineers we've decided to automate anything we can including our testing infrastructure with GitHub Actions.

The customers who respond to your surveys, both positively and negatively, are the most passionate users and they're your greatest asset.

Tweet
Share

Our most difficult challenge has been constructing the architecture so that we can support thousands of alerts at once if needed. We have to update 10,000+ stock tickers every minute and have optimized our cloud functions to ensure that our quotes are up to date and our alerts always go through. We have plans to expand into the Android market very soon.

How have you attracted users and grown Stock Alarm?

We've launched a few times, the first of which was a Product Hunt launch that gave us a spike of traffic but no subscribers.

60% of our growth comes from organic searches on the iOS App Store while the other 40% is from a variety of sources including paid search ads, Instagram promotions with influencers, Google searches, and word of mouth.

We've found a good deal of success promoting our product with Instagram influencers within the finance space. We've also conducted a survey every three months where we ask our users what they think of our product so far and what they think we should build next.

Our Twitter account has been fully automated and will use some of our existing data to provide stock market insights for free. Our bot will provide breaking news on an hourly basis and will also tweet upcoming earnings dates for the next day and week. We've gained five to fifteen followers per day with this strategy as well as a few subscribers along the way.

We also send out a monthly newsletter to our users letting them know of our latest features and also pushing them to reach out to us. Our menu structure on the iOS app lets our subscribers easily send us feature requests with a click of a button (we follow up with them afterwards).

Our growth has taken off since we started focusing on social media outreach. In December we had a MAU of 500 users while now we are topping over 9.2K MAU.

What's your business model, and how have you grown your revenue?

Our business model is a freemium subscription model based on multiple pricing tiers. We initially began with a free tier and a single paid tier ($5 monthly). Our free tier would allow users to set alerts on a single stock at a time with multipl conditions while our paid tier would allow users to set alerts on unlimited stocks.

As we continued to grow, we began running into issues such as bearing the increased costs of international calls (almost 10x as much as domestic US calls). In addition, some of our more complex triggers are much more expensive than just simple upper/lower limit triggers and they are used at a much lower frequency.

Previously we had the following model:

  • Free tier: Set alerts on 1 stock with 3 normal conditions
  • Premium Tier $4.99/month: Unlimited stocks/unlimited conditions

But we decided to implement multiple pricing tiers. This is our new model:

  • Free tier: Assigned Set alerts on 1 stock with 3 normal conditions
  • Bronze tier $4.99/month: Set alerts on 5 stocks, unlimited normal conditions, 2 premium conditions
  • Silver-tier $9.99/month: Set alerts on 10 stocks, unlimited normal conditions, 5 premium conditions, text message alerts
  • Gold tier $19.99/month: Set alerts on unlimited stocks, unlimited normal conditions, unlimited premium conditions, international calls + text messages, sentiment-based alerts

After implementing this subscription model, we actually managed to double our MRR within a single month. Our growth rate remained the same in terms of subscriber count, but we managed to double our MRR by the end of the month. This initially shocked us so much that we wrote up a quick post on Indie Hackers to start a discussion around pricing tiers.

Month Revenue
Jan '20 195
Feb '20 210
Mar '20 400
Apr '20 1560
May '20 2470
Jun '20 4100

Our payment system consists of Stripe and Apple's subscription system both integrated with RevenueCat to easily manage all subscriptions server side. Using a service such as RevenueCat has enabled us to easily grant users access to any of the tiers which will help us build a smooth referral system in the future.

Most of our expenses come from Twilio based on our usage during the month for both text and call based alerts. We have negated the cost of our server usage thanks to the $100K in Google Cloud credit that we received through a promotion between Stripe Atlas and Google Cloud. So far our expenses have remained at a consistent 20-30% of our monthly recurring revenue but we're certain we can get that number down with more server-side optimizations.

Our main advice to any SaaS entrepreneurs is to always try adding multiple pricing tiers, especially if you have a product that caters to both novice and advanced users. Consider adding subscriptions on a discounted annual basis instead of a monthly basis, this could help drastically increase your ARR.

What are your goals for the future?

After conducting customer interviews and crunching data around the types of alerts set, we've found our user base aligns with the growing millennial population of retail investors——the kind of audience found on Robinhood and Wallstreet Bets. While we fully support democratizing the financial tools that have long been exclusive to Wall Street, we feel this growing population of retail investors could be exploited, as hinted towards in recent media.

Stock Alarm aims to even the playing field, so even if the average Joe doesn’t have access to a Bloomberg terminal they can still receive rapid alerts according to market events.

In addition to alerting, we think it’s important for users to be able to learn about technical indicators (e.g. RSI, MACD, bollinger bands) and quickly deploy the in the real world. Therefore, in order to bridge both the knowledge and tooling gap between Wall Street and every day traders, we will be investing the bulk of our energy into educational pages about each of our trigger types and linking alerts with actual trades.

This will let anyone easily “program” their own trade (linking triggers and technical indicators) with the touch of a button. If we are able to fulfill our mission, Algotraders will no longer be able to bring knives to a fist fight.

What are the biggest challenges you' ve faced and obstacles you've overcome?

We’ve run into our fair share of issues while building our platform. It’s quite expensive to obtain reliable stock market data that is readily available and refreshed consistently. We update all 10,000+ stock tickers every minute on the dot and need our data sources to keep up.

Don't worry too much about being original, worry about being the best.

Tweet
Share

We’ve been searching for a reliable data source for both Forex and Commodities data for the past month or so and have been unable to find one that fits our current budget and rate requirements. We also need to apply for special licenses based on the exchange we are trying to pull the data from.

Currently we are in the process of getting UTP authorization for extended hours data from NASDAQ (yearly fee + one-time fee).

If you had to start over, what would you do differently?

If we were to start over, we would build our back end with typescript instead of plain Node. We highly recommend that anyone working with javascript use typescript whenever possible. Typescript was so fundamental to building our web application that we were able to build the front-end application in just under a week.

I can't count the number of times that our unit tests have saved our butts. On every commit and every deploy we run our linters and unit tests using GitHub actions.

Have you found anything particularly helpful or advantageous?

We highly recommend adding pricing tiers especially when you have a diverse user base. Our novice traders don't require complicated alerts based on technicals and sentiment and instead rely on a few upper/lower limits. This means we can retain their business with a lower price point while offering the advanced features to more experienced traders. Adding price tiers caused our MRR to spike over 70% within two months because our users were finally finding their perfect fit.

Be available to chat with your customers at every step of the way. We pride ourselves on being easily accessible and have entry points to contact us in multiple places around our products. Many of your passionate customers will want to talk to you, give you suggestions, and make an impact on the product itself.

If you are working with anyone else, have a weekly meeting where you re-prioritize your work board for the next week. This helps keep everyone on the same page and on track. It also allows you to quickly pivot your product incase of a change in the market.

Stoack Alarm in action

Dogfooding! Make sure that you and your partners all use the product on a daily basis. All members of our team consistently use StockAlarm to trade both stocks and crypto. This helps us get on the same page as our customers and uncover pain points that we would have missed otherwise.

What' s your advice for indie hackers who are just starting out?

Don't worry too much about being original, worry about being the best. Stock Alarm isn't the only product in our niche, but we are certainly the best. That gives us a huge leg up when an investor is deciding on which tool to use.

Ship early and ship often. We find that a lot of our peers who are also indie hackers tend to wait till their product is perfect to ship. The issue is that perfection is subjective and what’s perfect to you might not be perfect for your users. You have got to ship early, find the pain points, fix them, and repeat until successful.

Listen to your customers, send them short surveys every once in a while to find out exactly what they want and what your product is missing. The customers who respond to your survey, both positively and negatively, are the most passionate users and they're your greatest asset.

Where can we go to learn more?

You can visit our website to learn more about Stock Alarm.

You can also try out our web application or iOS app to get a feel for how our platform operates.

Our Twitter provides automated stock market updates every trading day including breaking news and upcoming earnings data.

We post regular updates to our LinkedIn and Instagram accounts on a weekly basis.

To learn more about Stock Alarm's founders, check out Ruud Visser, Morgan Howell, and Yahia Bakour.

We would love to hear any suggestions from traders on what matters most to them in a trading tool such as ours!

Yahia Bakour , Founder of Stock Alarm

Want to build your own business like Stock Alarm?

You should join the Indie Hackers community! 🤗

We're a few thousand founders helping each other build profitable businesses and side projects. Come share what you're working on and get feedback from your peers.

Not ready to get started on your product yet? No problem. The community is a great place to meet people, learn, and get your feet wet. Feel free to just browse!

Courtland Allen , Indie Hackers founder

Loading comments...