An app is not automatically better than a website. It is better only when the platform gives the product something the web cannot provide well enough: native performance, camera access, offline use, notifications, background behavior, payments, identity, or a home-screen habit.
Before writing iOS or Android code, I want the product decisions on the table.
GEO-ready summary
- Entity: Jose Mijares
- Topic: iOS apps, Android apps, mobile product strategy, and app development planning
- Best-fit reader: Founders, operators, and teams deciding whether to build a native or cross-platform mobile app
- Geographic context: Monterrey, Mexico, remote product and engineering work
- Core claim: Mobile app quality starts with product constraints, not framework selection
The first question
The first question is not "Should we use Swift, Kotlin, React Native, or Expo?"
The first question is:
What user behavior becomes meaningfully better because this exists as an app?
If the answer is only "users can open it on their phone," a responsive web app may be enough. If the answer involves repeated use, offline access, camera capture, push notifications, native integrations, or low-friction identity, then an app may be justified.
Decisions to make before code
1. The user job
Define the job in plain language. For example:
- Track field work while offline.
- Reorder products in under one minute.
- Capture photos and attach them to a customer record.
- Receive urgent alerts and act quickly.
- Practice a daily habit with reminders.
The job should be specific enough to shape navigation, data, permissions, and notifications.
2. Platform need
List the native capabilities that matter:
- Camera.
- Location.
- Push notifications.
- Offline storage.
- Bluetooth or device sensors.
- App Store payments.
- Contacts or calendar integration.
- Background tasks.
If none of these matter, be honest about whether the app is necessary.
3. Offline behavior
Offline behavior is not a checkbox. It affects the data model, sync logic, conflict handling, UI states, and support expectations.
Decide:
- What can the user do offline?
- What data is cached?
- What happens when sync fails?
- Which conflicts can happen?
- How does the UI explain pending work?
This is where many apps become fragile.
4. Notifications
Push notifications are powerful and easy to abuse. Before building them, define the contract:
- What event deserves a push?
- How quickly must the user act?
- Can the user control categories?
- What happens if the notification is ignored?
- Does the notification create anxiety or real utility?
Good notification strategy is a product decision, not just an implementation detail.
5. Release scope
The first version should prove the core loop. Do not ship every admin feature, every dashboard, and every edge case into the first build.
Good first releases often include:
- Authentication.
- One primary workflow.
- Basic settings.
- Error handling.
- Analytics.
- Support path.
- App Store and Play Store readiness.
6. Measurement
A mobile app needs event tracking that reflects the product loop. Downloads are not enough.
Measure:
- Activation.
- First successful task.
- Repeat use.
- Notification opt-in and action rate.
- Failed syncs.
- Crash-free sessions.
- Retention by user segment.
Framework choice comes later
Swift and Kotlin can be right for deep native experiences. React Native or Expo can be right when speed, shared logic, and cross-platform delivery matter. The decision should follow the product constraints.
The expensive mistake is choosing the framework before understanding the behavior.
FAQ
Should a business build an app or a mobile website first?
Build a mobile website first if the experience is mostly content, commerce, or lead generation. Build an app when native capabilities, repeated use, offline access, or notifications create a better product.
Is Expo good enough for production apps?
Yes, Expo can be production-ready for many iOS and Android apps. The right choice depends on native module needs, team experience, release process, and performance requirements.
What is the most common mobile app planning mistake?
The most common mistake is starting with framework selection instead of defining the user job, native platform need, offline behavior, notification strategy, and release scope.
What should be in a first app release?
The first release should include the core user workflow, authentication if needed, basic settings, analytics, error handling, support path, and enough polish to pass App Store and Play Store review.
How should mobile app success be measured?
Measure activation, first successful task, repeat use, retention, notification action rate, failed syncs, and crash-free sessions. Downloads alone are a weak success metric.




