What are super apps?
Super apps are multipurpose platforms that integrate a wide range of services and features to fulfill various user needs, all within a single interface.
How to develop a super app?
There are many ways to develop a super app. We present the Callstack approach – a unique combination of expertise, know-how, technology, and an open-source library that will help you scale your teams, processes, and product development.
Explore the technical guide to super app development
Discover the theory behind the super app project, and build a super app from scratch or migrate your app to a super app setup.
Discover Re.Pack – a Webpack based toolkit for React Native
Re.Pack lets you create React Native apps with full Webpack support. It's open-source, regularly updated, saving your team from custom maintenance.
See our super app demo
We've applied theory to action! Check out our case study of the super-app-showcase—a prime example using Re.Pack for structuring super apps.
Run simple, reduce OPEX
Super app development is not only about a technical approach. The process can also have a profound impact on your organization as it allows you to introduce the reverse Conway maneuver by:
Scaling teams, processes, and work
Increasing revenue and other business benefits
Enjoy real business benefits, such as improved customer acquisition, increased user engagement, or enhanced developers' experience.
Yes, there are alternative approaches. We explain the pros and cons of Re.Pack alternatives so that you can make an informed decision.
Our super-app-showcase is a repository demonstrating how to structure a super app when working with Re.Pack and Module Federation to achieve the best business results. It highlights various solutions and best practices developers can employ to tackle challenges and streamline the super app development process.
The super-app-showcase comprises:
- the host app, which is the main container for the micro-frontends
- the shell app, which functions like a blueprint of the host app with shared dependencies
- a few mini apps, each dedicated to a single service booking, shopping, dashboard, and news – the latter being stored in a separate repository.
You can learn more about the architecture and the intricacies of the template from the case study published on our blog.
Adopting a super app can significantly reduce maintenance time by enabling code modularity, smaller codebases, better scalability, and improved testing. The exact time saved depends on the app's size, complexity, and development efficiency will be extended by the time dealing with shared dependencies.
To efficiently transition to a super app-related architecture, analyze the current app to identify components suitable for mini apps. Develop a phased migration plan, first focusing on low-risk or easily separated components. Ensure the team is well-trained by providing resources and workshops on super app concepts and best practices. Throughout the process, monitor progress and address challenges to maintain a smooth and non-disruptive transition.
Micro frontends are a modular frontend architecture for the web, while mini apps are small and often self-contained applications within a super app, typically for mobile platforms. They are related but not the same. Mini apps embrace the concept of micro frontends within them. You can think about mini apps as micro-frontends for mobile apps.
Alternatives include Play Feature Delivery for Android, and WebView for iOS. If your app is not constrained by the size or team velocity issues, you can also go with regular app development. We focus on Re.Pack because this approach allows you to enjoy the most benefits compared to other tools, for example, the ability to reuse features across apps, smaller JS bundle size, OTA updates, time and cost-effective development experience, and potential to leverage third-party contributors.
When creating a cross-platform super app with React Native, Re.Pack is the only solution that enables you to achieve that. It allows you to leverage Module Federation for code sharing and modular architecture. Beyond Re.Pack, any React Native library that fits your specific requirements and use cases should be compatible with your super app, enabling you to build a powerful, feature-rich, and well-integrated application.