Installs are easy to buy. The second session is earned, and it is usually decided in the first ninety seconds of the first one.
Get to value before you ask for anything
Every field in a signup flow is a chance to lose someone who has not yet seen why the app is useful. Let people reach one real, useful moment before the account wall wherever the product allows it.
When an account is genuinely required, explain in one line what the user gets for it. "Save your list across devices" converts far better than a bare form.
Design the empty state as a first-class screen
The first screen a new user sees is almost always empty, yet it is usually designed last. Treat it as an onboarding surface: one sentence of context and one obvious action.
Seed it where you can. A sample project, a suggested list, or a demo record turns a blank page into something a person can poke at.
Give the app a reason to be reopened
Return triggers should come from the user's own data — a reminder they set, progress they are mid-way through, an update to something they follow. Generic push campaigns train people to disable notifications.
Prototype the second session, not just the first. Walk through what the app looks like on day three with realistic data before writing production code.

