First time sharing something here. As anything "first", it's tough, but I hope it'll be useful to some of you.
I'm an iOS Engineer. This year, I started my journey not just as engineer, but as an "app maker". The first app that I'm shipping (Ask Yourself Everyday) was born from a simple idea - I wanted to ask myself a set of questions everyday, to understand myself better and see how my life changes over time. I started developing the app in August, and I plan to release it by the end of October.
Here's what I learned so far (very briefly), as a first-time indie app developer:
Shameless plugging: you can sign up for a beta here: https://beta.askyourself.app.
Thanks for your support!
Oh I wish making a fully-featured app was simply a one-week effort. But it's absolutely not, and it's okay. Especially when working after hours & on weekends. It's hard, and remember: from the outside, it always looks like it's "simple". It never is, and don't blame yourself for it.
This one was tough. My app is very statistics-focused. After you use it for just about two weeks, you start to get valuable insights - you can see in what direction your life is moving ("Oh, my sleep has gotten 14% worse, huh"). And I know for a fact that my code is not that well optimized to handle all those calculations. I've simulated two years of data and the app is super slow when dealing with that. It's a problem and it'll need to be solved, but after I spent two days trying to find a solution for it, I had to say to myself that this was not my #1 priority, and I should move on. These performance issues will not be visible until at least month 4, and I'll have enough time after the launch to fix them.
Understanding that I should be laser focused to make the product launch-ready was huge for me. It also helped to triage the features I had in mind – "is it actually needed for 1.0, or can it wait?". Usually, the answer is the latter.
I had to understand than when developing a first version of the mobile app, everything is in flux. Yes, I could spend 4 hours perfecting the architectural patterns of this one screen, but then what if I decide to completely change it a few days later? Make yourself used to building stuff fast and changing stuff fast.
I can optimize, refactor, cleanup the code later, once the "hot" development phase is over. Right now, a lot of my code (especially UI code) is messy, but it's also very easy to change – exactly because it's messy.
I started sharing my app with my friends when it was absolutely bare-bones. It was pretty much two working features and a big "this screen is in development" banner for everything else. But once it's out there, I started to get feedback, and I was able to iterate much faster too. I also started to understand exactly what was missing and what I needed to focus on. Many people started asking me "hey, are there some templates or suggestions for questions?", so that's when I knew that this should be included in 1.0.
My channels of distribution were:
Here's what I was thinking when I started working on this app (wrong):
"Okay, so developing this app will be 98% of work, and then I'll just have to press two buttons to launch it and that's it"
Here's what it's actually like:
Project A: developing, testing, finalizing the app itself
Project B: launching the app
Yup, launching is a totally different thing (kinda obvious, I know). You really should treat it as such. You should understand that after you've finished developing the app, now you're in another game. You're not anywhere near done. I mean, sure, have your cake and celebrate when your development phase is over, but now there's more work to do.
Just be prepared for that. It's actually pretty fun too.
You can sign up for a beta here: https://beta.askyourself.app
Thanks for your support!
Thanks for sharing this! Will try your app for sure, seems like a good way to track things from a macro perspective.
My initial feedback after trying your app:
Timed notifications - since users will be answering the questions at night it'd be helpful if could choose what hour I get my reminder. Some people finish their day quite late so if you remind them at 7 p.m there's a high likelihood they'll forget to answer the questions.
Community Suggestions - when adding a new question there's the following option: "tap here to explore our community suggestions". Could you enlarge this? The text is really small and it's easy to miss because of the dark background. Making this option pop-more will help onboard users more seamlessly.
Gamification - perhaps add some simple badges that people can earn after they've answered daily questions on a streak of "x" amount of days. This will help retain users and also give some sense of accomplishment regarding self-care.
Cheers 🍻,
Daniel
Hi Daniel! Thanks for much for the feedback, I put it all on my list 👍