Building MVPs with PWAs: Faster, Cheaper and Successful.

Saad Bin Amjad
Monstar Lab Bangladesh Engineering
6 min readAug 25, 2019

You have a solution to a problem. You are pretty confident in your business model. You want to make an app to disrupt the society faster and in a meaningful way. But what to make first? Native iOS or Android, Hybrid or Web Application, all of them or just choose one? How to ship your app as fast as possible in the market with lesser costs? We are here to help. But first, some context to guide you through this article.

Minimum Viable Product

The minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort.

Minimum viable product is a must for clients to test out their hypothesis in the market as well as garner user and investors support in the longer run.

In creating a minimum viable product, entrepreneurs choose between experiments that can validate or invalidate their assumptions about a business model.

So clients often use their own experience and market knowledge in crafting an expectation: how might their application look like and how it can serve as a solution. But that’s it! Too often they can’t take the next step in deciding the technical decisions those follow afterwards. They end up going for native as they too are end-users of some other similar applications. Even when the client is from a technical background, he or she faces business dilemma, which is justified, as to what to build first given the ever growing the time-money constraint.

Photo by Gautam Lakum on Unsplash

Process to initiate MVP efficiently

Design Sprint

The Design Sprint is a proven methodology for solving problems through designing, prototyping, and testing ideas with users.

Design Sprints quickly align teams under a shared vision with clearly defined goals and deliverables.

Ultimately, it is a tool for developing a hypothesis, prototyping an idea, and testing it rapidly with as little investment as possible in as real an environment as possible.

Existing proven and efficient methodologies like the Design Sprint helps, as it did help many of today’s Silicon Valley start-ups. The 5 day sprint allows the client to grab all pieces of the puzzle together and decide one realistic picture that is possible to build.

https://designsprintkit.withgoogle.com/

Phase 5 Prototype doesn’t mean you build the entire application in one day. In this phase, developers create a realistic façade so that it can be presented to the customers to test. But the most important part that we are concerned in this article is the decisions taken for the Post Sprint.

“Planning for what happens after your Design Sprint should happen before the Sprint even begins.

For example, with new product development, a product manager might develop the business case to invest further company resources, or the development team may iterate upon, develop, and test a high-fidelity prototype. Ensure there is someone who owns the results of the Design Sprint and give them a clear path toward launch or next steps.”

The client already validated how the application would look like and is ready to build a MVP for release!

Technologies to build MVPs successfully

Universal Platform

Progressive Web Apps, PWAs, use modern web capabilities to deliver an app-like user experience. ‘App-like’ referring to the fact that PWAs are the perfect marriage between web and the native.

Read about the basic features of PWA here:

Benefits in a nutshell is that you code once and your applications run in all platforms, hence faster development. PWAs don’t require you to wait for approval process in App Store so you can have it faster in the market. Also it is shareable and searchable in web, giving highest exposure for application visibility when it’s deployed. Though when it comes to iOS Safari, the Andriod-like experience won’t be replicated as much, however for an MVP to serve across all platforms, PWAs do ensure a large number of user base.

Going serverless

PWAs and serverless platform like Firebase goes hand in hand. You no longer need to worry about complicated infrastructure and security, hence faster to deploy.

Read about the basic Firebase features here:

With authentication taken care of, PWAs with realtime database, enables offline-persistance which allows your application to keep the data of users intact even in offline mode and sync it later when the app connects to a network. Deployment and hosting are easy, and your front-end developer can manage that without having a dedicated DevOps guy for a start.

Biggest concern of clients is how ready the application is to be scaled. If your application starts to grow in popularity amongst user, you don’t need to worry about scaling your infrastructure manually, as scaling is taken care of by Firebase if you are using their Cloud Firestore.

Ready for future with Machine Learning

https://dialogflow.com/

PWAs along with Firebase give you an opportunity to build engaging voice and text-based conversational interfaces, such as voice apps and chatbots, powered by AI using DailogFlow.

https://www.tensorflow.org/js

We can also use Tensorflow.js to build and train models directly in JavaScript using flexible and intuitive APIs.

So if your application wants to integrate Machine Learning in solving problems, you can leverage these platforms with your application.

Costing

Now let’s talk about the costing, since you are building PWA which is a singular code base, you require less amount of technical resources, especially you do not require dedicated Andriod/iOS and infrastructure resources.

Further more, Firebase pricing policy is “Start for free, then pay as you go.” resulting your MVP to be cheaper to launch and easily ready for scale up.

There were few concerns from startups about the pricing of Firebase when application scales up. But there are ways to navigate it, by understanding the pricing policies of Firebase and managing costs in Firebase with both clientside and serverside optimizations.

Conclusion

PWA is definitely not the solution to all problems. It is the solution to most problems. If you are trying to create another ride sharing app like Uber, you can definitely opt in for native, but if you want to make applications like social sites, e-commerce you can definitely opt in for PWAs.

If you want to learn more about building MVPs and PWAs feel free to talk to us. You can reach out to me as well on Twitter (@saadbinamjad), and you can check some other tech articles in our Engineering Blog. Till then, happy problem-solving!

--

--

Saad Bin Amjad
Monstar Lab Bangladesh Engineering

Technical Lead at Monstar Lab Bangladesh. Prefers tea over coffee, and coffee over anything else. Loves to speak.