How a monorepo can save on development costs
When developing multiple applications, an efficient way of reusing technical solutions is crucial for saving time and resources
8 min. read by
Our client is one of the major broadcasters in their country. National and regional news is central to the broadcasts which are one of the most watched within the commercial sphere.
We’ve built them an app which significantly helped to increase overall publicity of the customer's platform. The app contains various articles from the editorial team along with broadcast videos and other clips. These can be conveniently browsed within fast and responsive native applications both on iOS and Android devices.
The planning was tight - starting at the end of October with a Christmas deadline for submitting the product to the App Store, so that it could go live after the New Year. But despite all odds, we managed to deliver the whole MVP scope plus some bonus features in time. The app’s success on the market has been increasing ever since it came out.
Our main enemy was time. We dedicated 3 full days of planning together as a team in one room, making sure that we include all factors and possible obstacles and set up the process correctly.
Working remotely. It can be hard to stay on the same page while working in one office, let alone in two separate countries. Daily standups, which were held online via a video chat, suddenly became one of the most important meetings to stay up to date. But the team made the best of it and worked in this setting in a very productive way.
These were the main factors that helped us succeed. The feeling of camaraderie and a common mission to deliver the product made us go the extra mile and help each other when problems arose. Even though the scope was only 4 sprints, we followed scrum, or rather a simpler version of it focusing on the benefits we needed at the time. It helped us stay focused on the short-term sprint goals that would eventually lead us to the MVP, while being flexible enough to face any unforeseen technical challenges.
The app combines content from two brands, both of which had their own websites built with the same CMS, which also provided a basic API for fetching the content. For improved performance and flexibility, we created a single GraphQL API layer between these CMS’s and our app. Using Amazon Web Services (AWS AppSync and AWS Lambda with TypeScript) enabled us to develop a fast, scalable and fully cloud-based API in a very short amount of time.
To build the mobile app itself, we used the Ionic framework for hybrid mobile development – enabling us to create both Android and iOS apps simultaneously! This also allowed us to develop the app with modern web technologies – Angular for structuring the app, Ionic for its mobile-friendly components library (e.g. horizontal sliders, infinite scroll), NgRx for maintainable state management, and the AWS AppSync client for communicating with our API via GraphQL.
The GraphQL tooling we picked enabled us (among other things) to easily implement client-side caching. This feature greatly improves UX, since previously fetched content is instantly viewable by the user – even when the user loses their internet connection!
Having already built our client another mobile app before, we migrated our existing front-end code to an Nx monorepo (so that both apps are built from the same codebase). This gives us a fast and scalable way of reusing existing solutions, which both projects are benefitting from in the long-term as well! For the MVP, this approach helped us with integrating features like push notifications, deeplinks, error reporting and analytics.
For more information on the benefits of using a monorepo, read our article on the subject:
When developing multiple applications, an efficient way of reusing technical solutions is crucial for saving time and resources
8 min. read by
To give you a better idea about the success of our app, here are some statistics showing its growth (3 months after release). Although we cannot give you the exact numbers, we can at least share with you that the traffic is in the order of millions of pageviews per month.
Custom web applications development
Can you feel the flow?
Contact us using this form and we'll answer you via email ASAP. If you leave us your number in the message, we'll call you back. Looking forward to hearing from you!
We're based in Brno
Kopečná 980/43
Brno
602 00
Czech Republic