Back to the blog
Web AppPublished 4 min read

Freelancer, Agency, or In-House Team: Choosing a Software Builder

No option is always the best fit. Here are the strengths and risks of freelancers, agencies, and in-house teams, plus the questions to ask before you choose.

A man and a woman sitting at a table with a laptop
Photo by Vitaly Gariev on Unsplash

When a business needs a website, a web app, or automation, the next question is: who builds it? There are usually three options: a freelancer, an agency, or an in-house team. None is always the best fit. Each has strengths and risks, and the right choice depends on the size of the project, the support you need, and how critical the software is to your operations. We work as freelancers ourselves, so we've tried to be as fair as possible, including about when you're better off choosing someone else.

Freelancers: direct, flexible, reliant on one person

  • Direct communication. You talk to the person writing the code, so nothing gets lost in translation.
  • Relatively lower cost, since you're not paying for layers of management and office overhead.
  • Flexible for small to mid-sized projects and requirements that change along the way.
  • Key-person risk. If the freelancer falls ill, gets busy with other projects, or stops, the work stalls too.
  • Limited capacity. One person can't build several large pieces at the same time.
  • Quality varies widely, and documentation often depends on personal habits.

Agencies: more capacity, more layers

  • Capacity and a range of skills: designers, developers, testers, and project managers in one place.
  • More resilient when someone leaves, since work can be handed to another team member.
  • More formal process, such as contracts, schedules, and regular progress reports.
  • Relatively higher cost, as it covers the agency's management and overheads.
  • Layered communication. You often speak to an account manager rather than the builder. Also ask whether any work is subcontracted to third parties.
  • Post-launch support usually comes through a separate maintenance contract.

In-house teams: full control, long-term commitment

  • Understand your business from the inside and can handle day-to-day changes right away.
  • Full control over priorities, code, and schedule.
  • Long-term fixed costs: salaries, equipment, training, and time spent hiring, even when projects are quiet.
  • Hard to hire the right people if you can't yet judge technical skills yourself.
  • Key-person risk remains if the team is only one or two people.

What matters no matter who builds it

Whichever option you choose, agree on a few things from the start:

  • Ownership of code, accounts, and domain. The domain, hosting, payment accounts, analytics, and code repository should be in your business's name. The builder gets access, not ownership.
  • Documentation. At minimum: how to run and update the system, which third-party services it uses, and key decisions with the reasons behind them.
  • Data backups that are scheduled and have actually been test-restored.
  • Post-launch support. How long the bug-fix period lasts, how to report issues, and how quickly reports are handled.

When an agency or in-house team fits better

A freelancer isn't the answer to every need. An agency or in-house team makes more sense when:

  • Several large projects must run in parallel, such as a mobile app, a website, and a warehouse system integration, all with the same deadline.
  • The system must be watched 24 hours a day, with on-call staff ready to handle outages at night or on holidays.
  • Regulation is strict, as in finance or healthcare, requiring audits, certifications, and formal processes that an organisation can meet more easily.
  • Software is your core product and will be developed continuously for years. Here, an in-house team is usually the better investment.

Questions to ask a prospective builder

  1. Can I see a real portfolio of work that's still running, not just designs or screenshots?
  2. Who will actually work on this project? Will any part be passed to someone else?
  3. Will the domain, hosting, code repository, and service accounts be in my business's name?
  4. How is data backed up, and when was a restore last tested?
  5. What gets handed over at the end: code, documentation, an account list, and a user guide?
  6. If you're unavailable, how could someone else pick up this work?
  7. What does post-launch support look like, and for how long?

Pay attention to how a prospective builder answers, not just what they say. Clear answers that admit limitations are usually a good sign. Evasive answers about account ownership or handover deserve caution.

Where we stand at Lumekara

Lumekara is a one-person freelance studio. The same person handles a project from the first discussion of requirements until the system is running. The systems we offer are also used first at Numekara, our own education business, such as tutoring sign-up connected directly to online payment, which is live. At Numekara, technical decisions are recorded in a decision log, deployment steps are written in a runbook, and every code change is checked automatically before it goes live.

You should know the trade-offs too: we're not a large team, we can't run many large projects in parallel, and we don't offer 24-hour support. If your needs fall into the list above, an agency or in-house team is most likely the better fit.

Choose a software builder who is willing to explain their own limits, not just their strengths.