Practical Advice

To Code or not to Code: Advice on building your MVP

Practical Advice

To Code or not to Code: Advice on building your MVP

Words Valenice Balace

April 11th 2023 / 8 min read

I work with pre-product/early stage startups every day. Non-technical founders trying to create a new product often ask me, "How do I build my app/website? Should I build the MVP myself or find a co-founder or hire a developer to work on the code right away?"

To answer this, it's important to outline what you actually need to accomplish in the first three months. I recommend a quick sanity check:

  • Do you need to build the entire end product? No

  • Do you need a full backend for your full platform/app idea? No

  • Do you need to have the perfect design? Certainly not.

In the first three months of building a product, you need to prioritise validating your idea and de-risking your company. This means focusing on the following:

  1. Market risk: Your product may not be well-received by the market, or there may not be a market for it at all.

  2. Execution risk: Building a successful startup requires effective execution. You may encounter challenges with hiring, managing, and retaining talent, which could impact the commitment of your team members. This in turn could result in missed milestones and difficulties attracting investment.

  3. Financial risk: During my career, I have observed many startup founders who invest excessive money and time in developing a complete backend and high-fidelity design. When it comes to raising, however, they may not have adequately validated their proposition in the market—resulting in almost certain failure. This underlines how essential it is for startups to focus on validating their idea and minimising unnecessary expenses.

As someone who has worked on countless products and launched many MVPs, I want to I’ll share my experiences on the different scenarios in which you should be using no/low code, some code, or more code products when building an MVP or alpha/beta stage product, as well as my advice for tools to use in these different instances.

A quick note from my own experience

I launched my very first product in December 2013. I was a young girl, working at my first job out of college and barely earning minimum wage in UK standards. I had just saved enough money to earn myself one shot at doing things right. And because I was shy and I knew my presentation skills were close to non-existent—I knew I had to let my work speak for itself.

I wanted to create a chat roulette site and decided to use WordPress and socket.io. I chose these tools because I was comfortable learning how to use them myself, and I just had enough money to hire a developer to help me with the socket.io integration.

We developed this chat roulette website in less than a month, given we both had full time jobs. We were able to get 80 people into the website within one hour before it completely crashed. And I had people messaging me on Facebook and Yahoo Messenger that I had to fix the site. At that moment I loved that people were complaining. I remember putting all those complaints in my pitch deck—and it was my favourite part of the deck—because it clearly shows market need.

This was the site that crashed all the time and the very first time I pitched back in 2013:

All this work got me my pre-seed funding on my first pitch, because it proved I could execute, that I had a clear market need for the product, and that I was scrappy (in total it only cost me around £800 to do everything). From here, I ended up working on this startup for six years.

Interested in receiving more insights like this ? Subscribe to our newsletter and join 17k founders, investors & innovators.

Subscribe here

When to use No/Low Code

No or low code works best for startups in the following scenarios:

  • You don't know what you're building yet. At this stage, you should prioritise performing micro-experiments through easier means before committing to an entire system

  • The app/website is not the main product 

  • Features aren't very heavy or big. I would never recommend no/low code for consumer chat products, integration/API products, banking and financial products, or some B2B products. Most of these products have sensitive data; additionally it’s highly transactional and you might just end up spending more

  • You don't really have anyone to look after code

Examples of these products include:

  • E-commerce sites (single and subscription purchase)

  • Anything that involves scheduling appointments

  • Data dashboards

  • Community, news, and resource websites or mobile sites

My recommendations for building:

1. Try do-it-yourself builders like Zapier, Airtable, Hubspot, Buildfire, Squarespace, Webflow, or Shopify, depending on your product category

2. You don't need a developer, but you might need someone technically savvy enough to figure out the ropes of all these apps and website builders—preferably someone who has some UX/UI knowledge

Before I dive into Some Code and More Code, this is how I mainly differentiate it:
  • Some Code: You’re building off an existing platform or application - writing a small script or adding some functionalities to it.

  • More Code: When you need to build something from scratch.

When to use Some Code

Some code works best for startups in the following scenarios:

  • You are very clear about the scope of the product and have an initial pool of users. This is for those who feel they’ll have customer interest immediately post-launch of your Alpha or POC product.

  • The app/website is the main product with a highly transactional journey. Otherwise it can be hugely frustrating to find that, when you want to change something quickly, the platform may not have certain features or capabilities

  • The core of your product/feature is unlikely to change

  • You're building features that are likely to change when a customer asks for it. As soon as you paying customers make requests, you’ll end up panicking and changing the tech stack, leaving the customer waiting and hurting your business

  • You can allocate at least one person to build this and look after it

  • You have very limited capital

Examples of these products include:

  • Ordering systems

  • Simple AI projects like chatbots

  • Anything that requires AI recommendations, image processing

  • Community app

  • Chat apps

My recommendations for building:

1. Try React, React Native, Flutter or any tech stack with available templates on Code Canyon, Code Market, or the like.

2. Use templates if possible.

3. Look for a full stack developer who you can trust and feel comfortable with, AND who you can afford or convince to work for you given your circumstances and the state of the startup

And just to make sure I can practice what I preach… while writing this article I decided to create a simple app using ChatGPT

I started with a vision, decided what was the easiest thing I could test. Next step, figuring out how to build it. I learned Figma, played around with ChatGPT, came up with the logic on how I wanted it to work and hired a developer to work on it for 2 days. I asked five people what they think.

Meet Pondo, my spending analysis app:

  • Take a photo of your Tesco receipt (currently it can just read the Tesco format)

  • Tells you which items are Essential and Non-Essential

  • At this point, accuracy of the AI response isn’t important, for two reasons:


    1. At this point I need users to try the Android app - see if they would use it, complain about it, give feedback


    2. Because I am working on a limited budget, I wanted to get through customer feedback as fast as possible and give my developer clearer next steps towards a good product based on customer feedback

There you have it! A ChatGPT Android app that took two days to do on Flutter. This an example of Some Code, using already available APIs and hiring a full stack developer.

When to use More Code

You need to really invest in code and developers when:

  • The ‘platform’ is the main product. If your value proposition is you’re the only company who can do this, perhaps due to the uniqueness of the technology, then you will need to invest.

  • You are building features that handle private customer data. This often requires some custom code, and will require you investing in a good working CTO or development lead

Examples of these products include:

  • Machine Learning products that requires you to process multiple insights from different data sources

  • Health software that requires regulation and high level data security

  • Machine automation like supply chain robotics

  • Banking applications, again for regulations and high level data security requirements

My recommendations for building:

1. Find a rockstar working CTO/co-founder

2. Your CTO needs to have the same or aligned vision, purpose and motivations to do this and has the experience building products in your chosen industry

3. You do have to shell out some capital for servers, a lean tech team, etc.

Some final lessons I want to impart:

  1. Pick a solution that sides with speed to releasing it. The main goal is NOT to make the product foolproof right now—the goal is to achieve Product Solution Fit by validating and invalidating assumptions as fast as possible. Releasing will mean you can learn from the market faster and make changes quickly

  2. Have a clear vision and a high level roadmap with milestones vs timelines, including backend, scalability, and automation parts of the platform? 

    Ask questions like: do we really need a robust operational backend in the beginning? Do we need things to be automated right away? If we’re only dealing with 10 customers a week—do these things have to be in the product right now? The roadmap doesn’t have to be detailed or outlining a whole year. But use clear milestones—for example, if we get 60 customers then we do automation. Milestones over Timelines.

  3. Be clear about your development needs. If you’re inexperienced in this regard, get advice from your network or speak to an expert solution architect for a few hours on Upwork for guidance. Going blindly creates miscommunication, confusion, unnecessary cost, and delays: at such a critical stage of your business, you can’t afford these mistakes. 

  4. In general—if you feel lost, find a mentor or an advisor. You’d be surprised how many people are willing to help you 

Read more insights like this on the Founders Factory blog

Read more

About Val

Val Balace is a Product Coach at Founders Factory, supporting companies across the Venture Studio and Accelerator including Mo.health, Inaza, and Syndi Health. Prior to Factory, Val was Director of Product for the Gokengwei Group.

She's founded two businesses: Peekawoo, a dating app, and Honesty Apps, a DIY app building platform. She was part of Google Launchpad Accelerator Class 4 and Forbes 30 Under 30 Asia for Consumer Tech

Words by
Share article

News from the Factory Floor

trends

What is impact venture building?

Founders Factory venture designer Alexandra Simmons explains how you can build profit and purpose at the heart of a new venture

factory news

Backing HealthKey—transforming how healthcare is paid for

Find out more about HealthKey, who are making healthcare benefits more accessible and personalised

factory news

Launching Gridshare—democratising clean energy access through fractional ownership

Learn more about our new Fastweb Venture Studio business, and their innovative platform allowing consumers to crowdinvest in solar farms