I was recently re-reading this article by Basecamp which really resonated with me.
When we started Highview Apps, both my co-founder and I agreed that we'd bootstrap the business and start paying ourselves right away as soon as we're making profits. Being both engineers, we were able to keep our costs extremely low as we didn't need to hire anyone to build our products. Servers cost very little ($5/month per server with DigitalOcean) and many services that are useful in running a business have free plans (e.g. Slack, Mixpanel, Mailchimp, etc.). The free tiers were more than sufficient for a company just starting out. Our biggest cost for our first year was accounting fees.
We're also both very frugal and pretty risk-averse, so we're very careful with spending money even if we can afford it. Even now when we can afford to pay for more tools and services, we still think it through carefully. If we can, we try to measure first whether they would provide a positive ROI.
When things are going really well, it's easy to think it will stay that way. But stuff happens and keeping our expenses low and having a high profit margin gives us that peace of mind that we can keep the business running even if we have a really bad year.
As for what we do with the profits we made, we pay ourselves most of it. We take draws every month. There's something motivating about seeing that money come in every month in your bank account and seeing it grow month over month. We leave a small amount in the company account to cover expenses and some allowance for doing marketing experiments.
You could of course say that it may be wiser to reinvest all the profits back into the company so it could grow faster and maybe that's true. But maybe you'd also end up losing all of it. We'd rather have the money now and if the company somehow completely fails in the future, we'd gotten something out of it.
My co-founder and I actually prefer going slow as that gives us the luxury to think things through. Being profitable allows us to do that as there's no pressure to move fast and rush things, which could be stressful and lead to bad decisions. For example, we could decide to allocate a month of work just for improving our systems and reduce the maintenance cost for our existing apps instead of building new apps/features right away to increase the revenue. Taking the time to do this now instead of later could have a higher payoff in the future in terms of time savings and reduced headaches. But if you're burning money, it's much harder to make this a priority now.
We actually still only work on the business part-time, it's not our primary source of income yet (though my share of the profits is actually enough to cover my living expenses, which is a great feeling). We plan to go full-time on it once it gets to a point where it's quite close to replacing our full-time salaries, which we hope would happen sometime next year.
It's important to also point out that we're not building a "startup" here. Our goal is to simply build a sustainable "lifestyle business" that we can manage from anywhere and doesn't require a lot of our time to maintain. Maybe that will change in the future, but for now we're quite happy with how things are going and the progress we're making.