What I would do differently - lessons learned from shipping an app to the app store!
I am incredibly pleased to announce that Apple accepted my submission to their app store! In other words, I finally shipped my app to the app store 🎉 woohoo! This has been a long-standing goal of mine and it feels great to have finally done it!
Download 3 good things by clicking here!
What’s this app about anyway?
3 good things: a gratitude log is a guided gratitude journaling app designed to make you happier.
Every day it asks you the same question, “What went well today?” and gives you 3 boxes to answer this question. After doing this for a while, you’ll have a list of all the good things that happened to you, helping you focus on the positive things in life.
I made a lot of mistakes during this project and learned a lot of valuable lessons that I want to document here. What I write down here is as much advice to you as it is to future me.
This is what I would do differently…
📣 I would invest more time in marketing. Writing copy, generating buzz, you name it. I would do more of it. Or at least I should do more of it. Right now I didn’t really do any of that but selling a product is just as much product building as actually building it. Marketing also helps because it forces you to articulate the benefits of your product, making your value proposition clearer for yourself.
🔃️ I would try to get more feedback more often. Build an MVP. Show to users. Rinse and repeat. Saying it is one thing, actually doing it is another. Every time I showed my thing to people I immediately got a great and actionable feedback. Seeing how they hold the phone in their hands and trying to instinctively mash a button that I never thought to make pressable is so interesting to see. Cherish this feedback!
🏡 I would spend more time thinking deeply about my data structures. I feel like I did this relatively well, but I think I can do even better. Take some time up front to really think through your data structures. What data do I want to store? What data can the user input? When is it created? When is it destroyed? I wrote about this previously in this blog post. Think. About. Your. Data. Structures. Spend some time to draw it all out, this is not time wasted I promise.
🤯 I would try to internalize the fact that it gets messy. Badly. Just accept it. You’re not going to write pristine code. First make it work, then make it fast, then make it pretty. Notice how pretty comes in last? Yeah… this maybe changes when you work with someone else and you have some code reviews in place but when you are working alone… prepare.
👂 I would try to talk to more users first. I built this project for myself as a fun side project but to really solve someone’s problems, that gives a whole ‘nother dimension to the product. Talk to people. Listen to them. Ask about their life and their problems and try to see if you can spot patterns in this. Similarly to the one above, easier said than done.
🗒 I would use more lists. Lists are awesome. Lists are… really awesome. Big lists, small lists, half lists, incomplete lists, lists that make sense and lists that don’t make sense, LISTS! Anyway. Having a physical representation of the progress you’ve made so far is really motivating and it builds a lot of momentum. Use. More. Lists.
🤡 I would probably ignore all the advice above. As they say: “No plan survives first contact with the enemy.” Building something is difficult, tough, and can be lonely. If I had to drive one or two points home really hard it would be these: get more feedback more often and think deeply about your data structures.