A functioning app is a necessary condition, but one you have 100% control over. It is not sufficient. You then have 4 difficult problems to solve—at the same time. In increasing order of difficulty:
Awareness
Onboarding
Retention
Interesting and entertaining content
Awareness
How do people know about your app?
Also known as distribution. This is hard, for people who are naturally more building-oriented. It's almost always hand to hand combat early on. Good essay on the topic:
https://blakemasters.tumblr.com/post/22405055017/peter-thiels-cs183-startup-class-9-notes-essay
Onboarding
How much friction to get started?
Congrats, you got someone to hear about your app. How easy is it to go from hearing about it to getting set up? How many steps? Can they do it on their phone, i.e. immediately? What is the first screen they see after a successful sign up? How are you building habit?
Retention
Does the person come back?
They've downloaded the app, signed up and used it for 2 minutes. They close the app. For most apps, 50% of people never come back. Do you have their email? Do they push notifications enabled? Did you think a web-first app without any contact method is going to retain?
Interesting and entertaining content
Your app's energy source today and every day, forever.
Is it getting less interesting? People will just switch over to YouTube, TikTok, Instagram or Twitter for an endless stream of algorithmic content. (People love algo feeds despite stated preference.) If you have a growing and sufficiently large pool of interesting and entertaining content, however:
Retention — people will stick around for the content
Onboarding — they will jump through rings of fire for it
Awareness — they will hear about it from friends
Your app — can be rough around the edges
So one big advantage of building on Farcaster is if the network continues to grow the number of interesting and entertaining people and channels—esp. outside of crypto—then your app starts with interesting and entertaining content for free.