Build Your MVP (Minimum Viable Product) Website and App
Opportunity abounds. There are many markets ripe for disruption. All it takes is a talented and motivated entrepreneur to conceive, build, and iterate on a minimum viable product. This is a guide to get you from searching for opportunity to paying customers.
There are a few other terms for this type of build: prototype, proof of concept, minimum viable test, minimum lovable product, demo. Don't get too hung up on terminology, but do get clear on your why. Is the purpose of your minimum viable product to raise funds, to validate the market, to woo potential partners? Depending on purpose, there are different considerations. You may not need to build as much user flow for partners and fundraising, you're showing off core functionality. Users will require a bit more polish. Also will have to integrate payments if you want paying customers.
Budget considerations are also important when determining your MVP scope. Consider reverse scoping, or starting with your budget and deciding what should be built before determining further investment.
Analyze the Market (Identify the Problem Statement)
Most times, it is good to start with some domain expertise. Start with your interests and professional experience. Finding pain points of unique demographics is the goal here. Hone in on a tiny group of people that have a core similarity. Some examples of a proper sized demographic would be "mom and pop hardware store bookkeepers", "first time retail investors in college", "middle school math teachers", "cake decorators". Focus on what makes the group unique, and keep it small. Depending on price tag of the ultimate product, you want your first demographic definition to be between 1000 and 100,000. In this way, you have enough people to sell to and you can build something hyper specific that speaks to them. If you target "people who conduct google searches" or "homebuyers", you cannot garner enough specificity in your offering to be compelling. Eventually your company may service and market to a demographic of that size, but that's once you're long past the MVP stage.
Once you have a demographic in a niche that you're well studied and experienced in, you next find a problem that can be solved with technology. What is a rote task that can be automated? What piece of financial, legal or operational complexity can be systematized? How can we leverage machine learning to super charge the intelligence of recommendations? You might find that the bookkeepers need faster item sku lookup. Or the retail investors need fast access to education for one off questions. Maybe the math teachers spend a large amount of time scoring hand written worksheets. The cake decorators need fast access to preset color icing. In the brainstorming phase, it is important to stay uncritical of ideas. Keep all possibilities open and keep track. Only when refinement occurs will you cut out ideas for solution process. As you narrow your focus to a single problem, keep in mind the form of the technical solution. You need it to be technically defensible. This means the solution must be complex enough that it is difficult to replicate. It is more likely that you will do too little work than too much, so err on the side of an ambitious solution. It will be in the later steps that you refine the focus to build incrementally.
When considering the type of person to be targeted, you should describe them with demographics, but also consider the pyschographics. These are softer qualities that might inform where the person spends their time and the types of attitudes and persuasions they may have. Examples of pyschographics include: extroverted, sustainability oriented, profit minded, wakeboarder. Use these components to derive one or two personas for your ideal user. Here is an example Karly.
Define the Idea
This can be thought of as the investor pitch. What is the problem being solved? What is the specific solution? How will you do your value capture? Is the addressable market large enough for your investment in the MVP? When answering these questions, keep emphasis on the tiny solution, not what your company will be in 24 months. No matter what your dreams are and your wild success, the 24 month reality is so far afield it's irrelevant here. Here you can conduct user interviews, draw on personal experience, and do competitive analysis. Start with surveys and asking questions of pain points. Try not to come in with a bias to the answer and solution. Keep your questions open ended and non judgmental. Listen close and identify patterns and commonalities between your users. Identify where users go to get this need met today. Every need is currently met at some level, so be creative in who you identify as competitors. For example in the early days of kayak, there was no flight search engine, but travelers had their needs met. They used travel agencies, individual airlines, resort scheduling services.
Determine the value prop (proposition). This is the actual solution you're offering, the benefit you're providing to each user. It should be positioned to be an obvious improvement over the current process or solution. Something that addresses the pain point directly. Computer vision to determine item sku from a photo (without barcode) for the bookkeeper. An FAQ interface that dynamically delivers a list of relevant questions with one paragraph answers with keyword searches for the college investor. Optimal character recognition (OCR) integrated with LaTex for the math teacher. A device that automatically mixes food coloring to actively deliver the preset icing color for the decorator.
Make a List of Features
Here we get concrete on what we're offering. This is a list of web pages and forms necessary for the user to get value from the product. Most of this work will be on the backend to create the value. This is also where we focus on the essential. The first thing you build will be to test with a handful of users that are already bought into you as a potential partner. These close connections will be forgiving of an unpolished website, but will be eager to see progress of helpful tools. Focus on the core of the product such as the intelligence and expert systems supplying the innovation. Strip out login pages, long term app storage, pretty CSS, and code unit testing.
Design your user flow. How do you want them to interact with the website? You should get opinionated here. You're the expert (and becoming more expert through feedback). So you get to dictate how the flow goes. A single camera setup with an integration to quickbooks to create entries for the sku for the bookkeeper. A webform with a single search bar and expandable FAQs for the investor. An upload form with bulk upload for student papers and answer key with a final grade export for the teacher. A piping device with three presets for work on a single cake to be reset each job.
Build and Iterate
Stand on the shoulders of giants. Choose libraries and open source components to make your coding tasks easier. You're bringing functionality to a new business case, but often there are libraries and apis that do components of the product that you integrate in a novel way. You can find specialists who have already integrated the library before, look to upwork for a marketplace that has experts. Upwork is generally an upside down marketplace in software. Most places you look, the developers are in short supply and work is abundant. On upwork, prices are low, and engineers are aplenty. This comes with a tradeoff. Communicating requirements, tracking work and maintaining quality are difficult. But with the proper advisor and manager, it's generally the best option.
Create a demo for each component of the MVP, use dummy data and get the api or library to perform its essential function. Keep these utilities relegated to their own files. That way when you swap out a library it's simple. It also maintains a separation of concerns that allows for business logic to be clear and simple to follow in files that are for that purpose. Once each of these utilities is built, then integrate them together with the database, generally postgresql is preferred as a robust production ready but simple relational database.
Expose the backend solution to the user with a simple webpage. Do not go overboard with UX design and fancy CSS work. Simple forms, flows, and graphs are what is needed here. This is primarily to show off the work on the backend. That's where the real value is. Eventually you can fine tune the experience and delight visually. But first delight with value.
Choose your hosting and deploy to the cloud. Set your static ip address, and point your domain to it. Then you'll have a live site for potential customers and investors to look at after the fact. As you're publishing to the cloud, do not lean of proprietary solutions.
At this stage, you do not want to do thorough testing of your code. Your code is in major flux, so much is changing. Tests more than double the number of lines to write, maintain, and debug as the codebase grows. You need to stay agile. In the future, as the features become more stable, you can focus on longevity and stability, but for now, the goal is finding features that speak to your users. You must not waste time. You're racing the clock, and don't want a competitor to get to market quicker than you. Acceptance testing and qa testing is something that can make sense at this stage. This is humans looking at the final product and interacting as a user would. This ensures some level of polish and less bugs. An important distinction to draw here is functional testing vs nonfunctional testing. The former focuses on whether the product delivers the feature promised without error. The latter is other intangibles: site performance, uptime, accessibility, load testing, security, usability.
Once you've iterated to friends and your core supporters, it's time to launch. This is generally an iterative process that happens slowly and with constant improvement. However, some products do benefit from launch parties, coordinated rollouts, and lots of press coverage.
If your product requires network effects to be valuable, consider an official launch. This one strategy to effectively combat the cold start problem. Some ways to improve launch success is coordinated press coverage, rolling out to a single geography first to concentrate the network, and seeding the activity with engaged users.
At this stage of the MVP, there should be minimal bugs, the "happy path" for the UX should be dialed in and pristine. The site should be polished and a few thousand dollars spent honing the user experience. Do your due diligence to determine the scale of the launch. Do you expect 5k users or 50k users. Use scalability testing and chaos testing to ensure your site will be robust enough to withstand the demands of launch day. Nothing puts a damper on momentum as a downed site when there are eager customers ready to hand over their cash.
Examine the Feedback
As with the other steps in this process, this is constant and iterative. At this stage you have many users so you have to differentiate signal from noise. Don't overindex on the complainers. Vocal minorities should not dictate product roadmap. You do need to identify patterns, so when you see a repeated sticking point, address it. But focus on your ideal customers. Who are the ones giving repeat business, actively using the product. What is their delight, what is their pain? How can you expand their use, commitment, and lifetime value? Again, give an open forum for them to air their thoughts, and listen intently.
From lean methodology, we can employ the Build Measure Learn framework. This is a constant loop that incorporates success metrics and actionable feedback to inform the build process. When gathering feedback, look to both qualitative and quantitative forms. You want to draw out the emotions of users, and gather free form responses to questions on the product. This can spark creativity and explain hard metrics. Gathering usage data on activity, engagement, and abandonment is needed.
Define what success metrics matter to your company and bottom line. Are you looking for dollars, pain relief, eyeballs, engagement, education, connection? Get specific and find the numbers that track that closely. Some metrics you can use include:
- daily/monthly actives
- hours watched
- product purchases
- subscription purchases
- positive feedback
- high nps (net promoter score)
- messages sent
- connections made
- in person meetings
- client acquisition cost (CAC)
- client lifetime value (CLV)
- churn rate
- sales bookings
Building an MVP is the business. All the accounting, finance, hr, legal is in service to the product. Hopefully this guide gave some insight on how to do it effectively. Stay focused on the essential. Reach out if you're convinced MVP Engineer can help you bring your business to life.