See the entire conversation

I've been building apps since 2014 and have made a TON of mistakes along the way. Let me save you some time and help you avoid a lot of pain and frustration, here are my 50 tips for making it as a solo developer
95 replies and sub-replies as of Mar 07 2022

1/ If you ever plan on selling your app, things will be a lot more complicated if you have an iCloud entitlement because then you can't transfer an app. Try to avoid using iCloud or CloudKit
2/ don't make your app a paid up front app. If you can convince people to pay up front, you can probably convince them to pay for a subscription. Freemium will almost always net you more $ and paid up front is almost never worth it. Add lifetime instead
3/ analytics are your eyes and ears, add firebase events at a minimum (free), and if you're serious use Mixpanel or Amplitude. Otherwise, you're flying blind and have no idea how people are using your app
4/ do keyword research using Appfigures or another ASO tool to strategically pick app keywords/titles/subtitles that match what users are already searching for on the app store
5/ take paywall inspiration from top grossing apps. A lot of ppl have spent absurd amounts of time and money testing their paywall - don't bother trying to reinvent the wheel (use @superwall for fast iteration and amazing templates) / paywallscreens.com for examples
1000+ Mobile paywalls for your iOS or Android app
Everything you need to design top-notch mobile paywall screens. View examples of the best converting paywalls on the app stores.
paywallscreens.com
6/ prompt for ratings early in the first app session. After the user experiences a core feature of the app, prompt for a rating/review as these help with your rankings for app store keywords
7/ add a feedback Typeform or email within the app in an obvious place so you can gauge users' anecdotal experiences with the apps and spot problems/bugs quickly. User feedback should be a core source of your future roadmap
8/ append useful metadata about the build to feedback requests in email subject lines or typeform url parameters like build #, timezone, country, device type to make debugging things easier
9/ if you’re not amazing at ui design or user experience, draw inspiration from popular apps and put your own twist on their designs. When learning design, one of the most popular pieces of advice I received was “try to recreate existing designs”, this is a great way to learn
10/ don’t reinvent the wheel - if building backends isn’t easy for you, use firebase / supabase or another backend-as-a-service. You can always change things down the road. Make sure you use one where data can be easily migrated (aka NOT CloudKit)
11/ don’t over engineer - use shitty code design patterns and be lazy. Get the app out ASAP, start collecting reviews & feedback, and iterate and improve. Better to sprint launch a crappily-coded version of your app in 2 weeks then spend 3 months building an app no one wants
12/ optimize for learning speed - you want to be learning as much as possible about your market and users as fast as possible, so it’s better to update frequently in the beginning then spend months building the “perfect” version because perfection is elusive
13/ NEVER offer iPad in the beginning - it makes your life hell. You can’t ever unsupport iPad, the market for iPad is much smaller than iOS, you always need extra screenshots, extra testing, and it just slows you down in the beginning which is exactly when you want speed
14/ lean on SaaS providers - most of them have startup plans that are really generous (ask if you don’t see one) - tools like Intercom, customer.io, revenuecat, superwall, sendbird, firebase, typeform, zendesk are all awesome and will save you a lot of time
Homepage
Trigger email, push, SMS, webhooks, and more with Customer.io. Gain control over behavioral data to personalize customer communication and drive engagement.
customer.io
15/ when you get rejected, don’t get frustrated. I used to get so mad every time I was rejected, now I just accept what they say, and upload a tweaked build with whatever changes they want. if it’s your first app, there’s probably a lot of little things you didn’t so laugh it off
16/ a good strategy is to launch the app as free and use the free-ness as a marketing line on reddit, discords, and other forums. You can figure out what features are popular and later paywall those for new users while grandfathering free access for legacy users
17/ don’t be afraid of competition (aka lots of similar apps in the same space) - competition is a good thing! It means people are already searching, downloading, and paying for apps in that space. In the long run, the best app will win
18/ take breaks for weeks at a time - often times it takes a few weeks for things to settle or happen, new updates takes 48 hours to propagate, word of mouth builds, and revisiting the app in two weeks or a month later with a fresh set of eyes will help you make it better
19/ if you have a feature that you think could be its own app, try launching it like so. Each app listing is like opening a new restaurant, diners sell steaks but you’re more likely to buy steak from a steak house. Apps branded around a core feature do better than a 1-stop shop
20/ the best apps do one thing really well, find that one thing and relentlessly improve on it - what is the core flow in the app that people use? Work on that
21/ work on the highest volume parts of the app - adding a setting that lets 1% of users customize some niche feature won’t move your metrics, but making onboarding better so 80% of people make it through instead of 50% could change the trajectory of everything
22/ take advantage of A/B testing features in App Store connect, test different screenshots, app icons, app descriptions, app subtitles, everything - one little change could make a huge difference, at a minimum you’ll learn what doesn’t work
23/ add surveys! Typeform chat-surveys are my new favorite thing because it looks like you’re having a conversation - ask users the classic PMF questions or just say “what do you like/dislike about the app?” - ask for an email and setup a call to truly understand your users
24/ test big changes in pricing - try $20/year, $80/year, and $200/year - you could be vastly undercharging or overcharging for your app and you’d never know it. Test big changes in the beginning
25/ ofter lifetime plans - I haven’t tried this one myself but planning to and lots of companies say it’s their biggest seller - try it why not?
26/ add a video to your paywall - helped my conversion rate a lot and I’ve heard the same from others
27/ add push notifications via firebase (free) and send out marketing messages on big events, it’s free engagement
28/ use Deel to hire contractors, it’s the gold standard, affordable, and they have a great contract that makes sure you have all the boxes ticked in terms of IP and confidential information
29/ if you use Upwork, likewise get contractors to signup through Deel (even if you pay them on Upwork) just to verify that they are who they say they are (I’ve had a number of instances of ppl who were using fake names, Deel requires ID/Passsport verification)
30/ always give subcontractors new emails to do work under (gsuite), that gives you a backstop if something ever happens or if you fire them so you can revoke their email access, revoke access to everything BEFORE you let them go
32/ use trackable links for all campaign promotions, in ASC you can generate links that let you see revenue, installs generated by a specific link (opt-in only) and you can extrapolate data
34/ be wary of using fresh tech that apple gives us, i.e. swift had breaking changes for the first few years, same thing with SwiftUI, using older but reliable frameworks can save you future hassle
35/ either way, use whatever languages/frameworks allow you to ship as fast as possible, speed matters way more than good engineering in the beginning
36/ dont ever use apple search ads basic, watch a few videos and learn about advanced apple search ads, its not that hard, try bidding on competitor keywords (exact match) - this is where you can find cheap, high-intent installs
37/ build in public to get word of mouth marketing and initial hype - some drawbacks for sure (I would know), but people love seeing progress and it can be a great way to grow an app in the beginning
38/ if you want to launch on product hunt, get someone who has a lot of followers to submit it, often if you ask they will if the product isn’t horrible, at a minimum ask for feedback from top hunters and it could lead to a future conversation where they offer to submit it
39/ consider adding intercom to your app in the beginning so you can legit have convos with users and talk to them in real time as they’re experiencing the product, great way to collect feedback
40/ if you get a random idea for another app, just build it and sprint launch it in a weekend, don’t worry about getting distracted from your core app projects, inspiration fades so act on it immediately (Naval)
41/ the correlation between time spent working on an app and it’s success is not 1:1, an app you build in a weekend can easily surpass an app you spent 6 months on if the idea or positioning is better
42/ form a llc if you start getting some traction, convert to an S-corp if you’re not planning to raise investor money (saves you a lot on taxes if you’re making > $150k I think, not financial advice)
43/ ur company’s legal name acts as ASO keywords in the App Store so name it intelligently if your doing that
44/ if you want feedback from successful devs, dm them on twitter/instagram with super straightforward easy to answer questions (i.e. here are two screenshots of my paywall, which do you like better) - open-ended questions take time/energy to answer so less likely for a response
45/ keep really clean accounting books (makes everything easier), know exactly how much $ you are spending per month and how much you are profiting
Any experience with cheaper alternatives to Intercom?
Why big changes? Shouldn’t you be able to see directional improvements with only +/- 50% swings?
can you embed typeform surveys into a native app?
Loving all the other suggestions! Are you sure about this one? It seems like the marketing effort and app velocity make it impossible to compare a new vs. extended app 🤔
…and never create an Android version. Even if you think it might be worth it.
Best advice in this thread right here
I could not disagree more on this point. Quality must be #1. Getting it out there too soon is the worse mistake developers will make.
(No comment)
I just screenshotted this and added a Trello ticket 😅
Its very hard to get users to leave entire reviews.. do you have any advice not his? I am seeing like 1 review per 50 rates
Does that actually work? I strongly dislike review prompts in general, but if an app does it early in the first app session, I’d even be inclined to uninstall it immediately.
I was excited to start reading his advice until I read this item. What human could possibly not be annoyed to receive a prompt in the very beginning of the first session? Empathy and great UX are positively correlated. If you care about your users, don’t do this.
Please don’t, and never prompt as a popup dialog.
Do you use mix panel/amplitude AND firebase? Any benefits of one or the other?
Amplitude and Mixpanel both have great free tiers these days, so cost is not an issue unless you get huge from day 1 😅
(No comment)
While true, Apple needs to provide some type of migration so that this doesn't prohibit transfers. iCloud and CloudKit are amazing first party APIs and there shouldn't be any disincentive to use them IMO.
This is great. So many things I wish I knew when I launched my first app
Thanks for sharing, Zach. Bookmarked :)
Good stuff, launched my first app in 2014 and we’ve learned a lot of the same lessons 😂
Can I ask for more info on how and who you used to gain a US trademark?
What a great list!!
This is golden, thanks so much for sharing!
Earned my follow! Amazing thread
What about app growth ? What you think which strategy work lot ?
Thanks for sharing this, truly appreciate you sharing your work. So helpful. And you have every reason not to since you got attacked by the mob. Thank you!
First public save of this thread! 🏆 Readwise users: Like this reply to save zachshakked's thread to your account without cluttering their replies 📚 Stats: • 5 total saves of zachshakked's threads (ranked #6277)
Thank you for this list. As an indie dev wannabe, it’s really helpful and hopefully be even more useful moving towards my first app. 😁👍🏼
This is so freaking incredible. Thanks for sharing @zachshakked!
Thanks. I have plan to launch my first app. Your tips are gold and will help me and other people so much 🤩
Saved! FYI, if you see a "@readwiseio save..." already, you can like it to save this thread to your Readwise without cluttering zachshakked's replies 📚 Stats: • 5 saves of this thread (ranked #9029) • 7 total saves of zachshakked's threads (ranked #4876)
Lots of useful tips! Thanks for sharing
This Thread is Saved to your Notion Workspace. BTW, you can add tags to the saved tweets and threads by typing them in the mention as hashtags, e.g: #web3 #self_development ...
This is life changing for an app marketer zach