A Marketplace for Pull Requests

CodeMill makes it dead simple to get your software development done by members of the GitHub community.
No interviews, no contracts, no hassle.
Pay only for satisfactory delivery. Seemlessly integrated into your GitHub workflow.

How It Works

You Tag a GitHub Issue With a Price Tag

The issue represents a task. Explain what you need to be done, be it a bug fix or a new feature or whatever. Tag it with a special CodeMill price tag and the issue then becomes a freelance project in the marketplace.

A Developer Forks Your Repository and Starts Working

Developers are then able to see the work offer. If the repository is private they are able to request access to see it. If they think they are up to the task and they agree to the price, they fork your repository and start working.

You Receive a Pull Request and Merge It

When the developer completes the task, they send you a pull request. It's like any other pull request you get, except that if you merge this one, the transaction completes and the developer is being paid.

Frequently Asked Questions

  • How do I start using CodeMill?

    First you need to sign up using GitHub. Then you'll be asked to apply CodeMill to at least one of your repositories or organizations. CodeMill will only be triggered for issues of applied organizations and repositories.

  • How do I tag an issue so it becomes a task?

    Simply type in a tag in the format codemill${price} (e.g. codemill$30) in the body of the issue when you create one (see example), or in a comment to an existing issue (see example).

  • Can I modify a task price offer?

    Yes, simply add a comment to the issue with a new price tag. The last one always counts (see example).

  • Does CodeMill work on private repositories as well?

    Yes, the only difference is that interested developers won't be able to fork them unless you authorize them. We will send you access requests when developers are interested in looking at your private repositories and you can feel free to grant or deny them.

  • How do I screen developers?

    That's part of the beauty of CodeMill -- It's based completely on GitHub, where each developer has their public profile, and you can trace their work and style.

  • Do I have control over which developer work on my tasks?

    On private repositories, simply don't grant access to anyone you're not feel comfortable with. On public repositories, any developer can take the task, but you can unassign them for any reason.

  • Do many developers work on each task?

    No, just one at a time. Once a developer grabs a task, it's theirs. If you're not happy with their progress though, you can unassign them and then other developers will be able to grab it again.

  • Sometimes developers seem to be be assigned to the issue once they grab it, and sometimes it seems CodeMill assigns them via a comment on my behalf. What's the difference?

    It depends if it's a personal repository or one that belongs to an organization. With organization repositories, we are given much more flexibility from the GitHub API. For example, we can add collaborators with only the pull permission, and that's what we do in order to assign the developer to the issue. However, with personal repositories, we can only add collaborators will full permissions and we wouldn't want to do that. So we simply add a comment on your behalf, mentioning the developer instead.

  • Can I communicate with developers working on my tasks?

    Sure, please do. We didn't put our own mechanism in place specifically for that because we want to keep you away from GitHub for as little as possible. The best and most transparent approach is to communicate over comments on the GitHub issue, or alternatively by using Gitter.

  • How do payments work?

    Payments are currently processed via pre-approved Paypal payments. For each new task you create, we'll ask you to pre-approve a payment for it. This preapprovment will only be utilized if you merge a pull request for that task, which implies that you got your job done.

Are You Ready to Enter a World of Software Development

Never Seen Before?