blog header image for article on Should you use a freelancer, agency or do it yourself when building a website

In today's digital age or remote working, businesses have loads of options for developing websites, apps, and SaaS platforms. Nevertheless, if you're building a website or e-commerce store, such as Shopify, you've broadly got four options for development partners:

  • Full blown digital agencies
  • Plucky freelance web developers like me,
  • In-house development
  • and the belt and braces DIY option, using some sort of low-code editor.

But how and whom do you chose?

Understandably, as a freelancer myself, I have a soft spot for this option and would love to work with you on your project. However, I also believe in honesty and straight talking and I want you to make the best, informed choice for you and your business moving forward.

So, let's explore the advantages and disadvantages of these web development options, and how each can impact your project's quality, cost, and time to market.

1. Low-Code Editors

Editors such as UI-Bakery have become popular choices for inventive self starters, bootstrapped start ups, and people wanting a rapid prototype brought to life without having to go through lengthy discovery cycles, proposals, or expensive agencies. They're targeted at largely non-technical users who can use a building-blocks approach to building apps.

Pros:

  • Speed of Development: Low-code platforms allow for rapid prototyping and development, especially for random ideas and MVPs, enabling businesses to launch their products quickly.
  • Low/No Cost: These platforms often have lower upfront costs compared to hiring developers or agencies, making them accessible for startups and small businesses.
  • User-Friendly: Designed for users with little to no coding experience, low-code editors offer drag-and-drop interfaces that simplify the development process.
  • Flexibility: Many low-code platforms allow for easy modifications and updates, making it simple to adapt to changing business needs or if your idea pivots as it comes to life.

Cons:

  • Limited Customization: While low-code platforms provide templates and pre-built components, they may not offer the level of customisation that some projects require.
  • Scalability Issues: As your application grows, you may encounter limitations in the platform that could hinder scalability.
  • Vendor Lock-In: Relying on a specific low-code platform can make it difficult to migrate to another solution in the future. This is key to bear in mind if your app grows its user base -- more user accounts means more challenging migrations to new platforms...
  • Security Concerns: Low-code solutions may not provide the same level of security as custom-built applications, potentially exposing your business to vulnerabilities. ON that note, it's not always possible to add users and authentication to a low-code solution.

2. In-House Development

There are a lot of businesses out there who have some sort of development function or other skills in-house that means they're considering doing it themselves. They certainly have the capabilities, but often it comes down to costs and time. For example, building a revamped company website is important, but not as useful to the business as developing the core functionality of your business app that itself generates money for the business.

Pros:

  • Full Control: Leveraging an in-house development team gives you complete control over the development process, allowing for tailored solutions that align with your business goals.
  • Shortened Communication Cycles: In-theory an in-house team can foster a strong company culture and better communication, leading to improved collaboration and efficiency. For example, they don't have to wait on external agents for feedback, etc.
  • Intellectual Property Protection: Developing your project internally ensures that sensitive information and proprietary technologies remain within your organisation.
  • Long-Term Investment: An in-house team can provide ongoing support and maintenance, making it a sustainable option for long-term projects.

Cons:

  • High Costs: Contrary to how it may seem, internal development does have a cost associated with it, and often a high one. Time spent on a vanity project or other non-revenue-generate app is time not spent on profitable activities.
  • Recruitment Challenges: Finding skilled developers can be time-consuming and competitive, leading to potential delays in project timelines.
  • Resource Allocation: Balancing multiple projects can strain an in-house team, potentially impacting the quality of work.
  • Skill Gaps: Your team may lack expertise in specific technologies or methodologies, which can limit the project's success. I've had real clients with this very issue: lots of super skilled backend developers, but almost zero UI skills.

3. Hiring an Agency

Agencies tend to be the defacto standard when it comes to signing on for a website or app development project. They come in various shapes and sizes from micro-agencies (I'm almost one of those) to huge multi-nationals. They offer a range of skill sets all under one roof, including supplemental services such as digital marketing. However, this usually comes at a cost and often the larger agencies can lose some of that personal service that smaller businesses desire.

Pros:

  • Expertise and Experience: Agencies often have a diverse team of professionals with various skill sets, ensuring that your project benefits from their collective knowledge.
  • Scalability: Agencies can quickly scale their resources to meet project demands, providing flexibility during peak times.
  • Streamlined Processes: Established agencies typically have well-defined processes, which can lead to efficient project management and timely delivery.
  • Access to Latest Technologies: Agencies often stay updated on industry trends and technologies, ensuring your project utilises modern solutions.

Cons:

  • Higher Costs: Hiring an agency can be more expensive than other options, which may not be feasible for all businesses.
  • Less Control: Working with an agency may result in less direct control over the project, leading to potential misalignment with your vision.
  • Communication Challenges: Depending on the agency's size, communication may become fragmented, leading to misunderstandings and delays. This is especially true if your primary communication is via a single point of contact, such as an account manager, and then that point of contact leaves or is on extended holiday.
  • Variable Quality: The quality of work can vary significantly between agencies, making it essential to conduct thorough research before selecting a partner.

4. Working with Freelancers

Freelancers remain the backbone of the industry, taking on all manner of projects for clients of all shapes and sizes. They're flexible, offer competitive clients, and can genuinely embed into your business' team. However, availability can be an issue and solo-freelancers can struggle with lack of support if they haven't built up a solid network of colleagues.

Pros:

  • Cost-Effective: Freelancers often have lower rates than agencies, making them a budget-friendly option for businesses. They also tend to lean away from rounding up charges too silly degrees (I worked at an agency once that charged to the nearest hour regardless of how little they spent on a job -- e.g. 10 mins work = 1 hour bill...).
  • Flexibility: You can hire freelancers for specific tasks or projects, allowing for a more tailored approach to your development needs.
  • Diverse Skill Sets: Freelancers can bring a wide range of skills and experiences, providing innovative solutions to your project.
  • Direct Communication: Working directly with a freelancer can lead to clearer communication and quicker decision-making.

Cons:

  • Quality Variability: The quality of work can vary significantly from one freelancer to another, making it essential to vet candidates thoroughly.
  • Limited Availability: Freelancers may juggle multiple projects, leading to potential delays in your project timeline.
  • Lack of Support: Unlike agencies, freelancers may not provide ongoing support or maintenance, or offer complimentary services, which could lead to challenges down the line.
  • Intellectual Property Risks: Protecting your intellectual property can be more challenging when working with freelancers, especially if contracts are not carefully managed.

5. Bonus option: AI-generated things

Yeah, we're not going to really discuss AI-generated code or websites here because it really is a minefield beyond measure. AI is unquestionably amazing and can help empower us humans to get more done in less time. However, when it comes to generating code it best thought of as a tool for those who can already do the coding and understand it.

Whilst you can just ask Chat GPT to create you a website about any old thing, the code will be questionable at best. Even if the code is fine and works nicely, you won't be able to edit it and enhance it later down the line using the same chat AI, unless you have the coding chops to do this yourself.

This is not me hating on AI, far from it, I use it every day in my own development. This is a plea to seek professional help and advice before accepting the output from a chat prompt that could end up costing you more money and time, and potentially cause you more problems that it appears to solve.

So who to choose?

Choosing the right partner for building a website or app depends on various factors, including your budget, timeline, project complexity, and long-term goals. Low-code editors offer speed and cost-effectiveness, while in-house development provides control and customisation. Agencies bring expertise and scalability, whereas freelancers offer flexibility and affordability.

Ultimately, it's crucial to weigh the pros and cons of each option carefully and select the one that aligns best with your business needs and objectives. By doing so, you can ensure a successful development process that meets your expectations and drives your business forward.

Personally, I'd look to eliminate the choices you either can't make or don't want to. For example, if you have no technical skills or in-house team then I'd look to agencies or freelancers. If you want to quickly gauge if your idea has legs, then a rough and ready demo using low-code might be the best place to start.

And don't forget that you don't have to do all the things with the same partner. You could use a freelancer to get your branding created, leverage an agency for a UX discovery programme, then opt for something else to build the thing.