CodeLabProsCodeLabPros — homeMenu

Work with us

Build something, join something, or examine something.

Three ways to buy the same capability, with the prices on the page. A number is the fastest way for both of us to find out this is not a fit. Every one of them also lists what it explicitly does not include — fixed-scope work fails on that gap far more often than it fails on the engineering.

Build · Turn something that needs to exist into working software.

Build Sprint

$14,0004 weeks

fixed for a scope agreed in writing before we start

Four weeks, one agreed scope, delivered. Database, backend, frontend and deployment. We take all of it, not the convenient half. We agree exactly what is in and what is out before we start, because a disagreement about scope is what usually sinks fixed-price work.

Best for

Something specific that needs building properly, by one person who will take responsibility for all of it.

What is included

  • A scope document with an inclusion list and an exclusion list, agreed first
  • The build: API, data model, migrations, front-end, deploy pipeline
  • Tests concentrated where a mistake would be costly, instead of chasing a coverage percentage
  • An agreed condition under which we stop and tell you, written down before we start
  • Weekly written progress against the scope, with no status meetings unless you want them
  • Documentation written for whoever looks after this once we are gone
  • Two weeks of defect support after delivery, included

What is not

  • Scope added after the document is agreed is a new sprint, quoted
  • Ongoing maintenance past the two-week defect window (see Embedded)
  • Design from scratch, if you need a visual identity rather than an interface
  • Third-party costs: hosting, licences and provider fees are yours directly

You end up with

Working software in your own repository and your own accounts, with the documentation written. You own all of it on the last day, whether or not we carry on working together.

Embedded · Put a senior engineer inside a team that already has one.

Embedded Engineer

from $7,500monthly

per month · 3-month minimum, then rolling

We join your team for an agreed number of days each month: writing code, reviewing other people's, and making the design decisions that are expensive to get wrong later. We take on two of these at a time. That is a real limit on our capacity, not a sales tactic.

Best for

A team that needs an experienced engineer regularly, but not the cost or the wait of hiring one.

What is included

  • An agreed number of days per month, scheduled predictably
  • Direct availability in your own Slack or equivalent, within agreed hours
  • Design decisions written down, with the reasoning and the options we rejected
  • Code review focused on the places where a mistake would be costly
  • A monthly written record of decisions taken and what changed
  • First refusal on Build Sprints at the retainer rate

What is not

  • On-call, incident response, or any availability outside agreed hours
  • Unbounded hours. The day count is the scope, and overflow is quoted
  • Line management of other engineers, or hiring
  • Being the named technical officer of the company for legal purposes

You end up with

Ongoing engineering work, plus a written record of the decisions, so the reasoning stays with your team after we leave.

Review · Examine something important that is already running.

Payment Systems Audit

$6,5002 weeks

fixed, quoted in writing before anything starts

We have built the systems we would be auditing: a live marketplace holding buyers' money in escrow, and a platform reconciling school fees across schools that must never see each other's books. So we read your code the way someone who has had to get this right reads it: every path that moves, holds or releases money, what happens when the same payment arrives twice, whether one customer's data can reach another, and whether anything catches it when the first check fails.

Best for

A team already handling real payments, who wants to know what will break before it does.

What is included

  • Every piece of code that moves, holds or releases money, followed end to end
  • What happens when the same payment arrives twice: repeated provider callbacks, re-uploaded files, retries
  • Whether one customer's data can reach another, and whether anything catches it if the main check fails
  • Every route into a protected action, looking for the one that skips the check
  • A written report that clearly separates what we confirmed from what we only suspect
  • A ranked list of problems, each with the specific failure it would cause
  • A 90-minute walkthrough call, recorded, so it survives you

What is not

  • Implementing the fixes, which is a Build Sprint, quoted separately
  • Penetration testing or a formal security certification
  • Performance and load testing
  • Compliance sign-off of any kind. We are not auditors in the legal sense

You end up with

A written report you can hand to your team. Anything we confirmed points at the exact file and line. Anything we could not confirm is listed separately and labelled as such.

Process

What happens after you get in touch.

Not knowing what comes next is the most common reason a qualified enquiry goes quiet, so here is the whole thing.

  1. 01You send the problemstep 01 of 04

    A few paragraphs is plenty. What the system does, what worries you about it, and when it needs to be sorted. No form with eleven boxes.

  2. 02A 30-minute call, freestep 02 of 04

    We tell you which of the three fits, or that none of them do. We have turned work down on this call before. Taking on the wrong job costs us more than an empty week does.

  3. 03A scope, in writingstep 03 of 04

    What is included, what is not, the price, the dates, and the point at which we would stop and tell you. You approve it before any work starts.

  4. 04The work, visiblystep 04 of 04

    A short written update each week, measured against that scope. If something we assumed turns out to be wrong, you hear about it that week and not at the end.

Questionsbefore a call
Why are your prices on the page?
Because a number is the quickest way for both of us to find out whether this is a fit. Hiding it wastes a call on everyone whose budget was never going to stretch, and loses the people who will not start a conversation without one.
You are one person. What happens if you are unavailable?
That is a genuine risk and you should weigh it. Here is what we do about it. Everything lives in your repository and your accounts from day one. Documentation gets written as the work happens, not squeezed in at the end. And we never hold a password or key that only we have. If we vanished tomorrow, you would still have a working system and the reasoning behind it.
Do you work with existing codebases or only new ones?
Mostly existing ones. The audit is built specifically for code that is already live and already handling payments. The most useful thing we do is find the kind of problem you have not hit yet: the one that only appears under a retry, a duplicate message, or a customer doing something in an order nobody designed for.
What if the audit finds nothing serious?
Then you get a written report saying so, listing what we checked and what we did not, and you have bought peace of mind at a price you knew in advance. We will not invent problems to justify the invoice. The whole method is designed to stop us doing that.
Can you work in our timezone?
We are in East Africa (UTC+3), which overlaps a full working day with Europe and a morning with the US East Coast. Agreed hours are written into the scope, not assumed.
How do payments work?
Audits and Sprints are 50% to start and 50% on delivery. Retainers are monthly in advance. Invoices are in USD.