The Flutter Bounty Hunters bring together elite Flutter/Dart developers and corporate clients that need infrastructure tools. We build those tools with corporate funding, based on our clients’ requirements, and we open source those tools for the entire community.

Multiple companies can fund the same tool, and thereby save substantial money by dividing the cost.

Define a milestone

The first step is to define a development milestone. A milestone is a set of related user stories and/or use-cases that companies are willing to fund.

A Flutter Bounty Hunter technical lead works with clients to define a given milestone. Milestones are tracked under the "Discussions" tab in a GitHub project.

Fund a milestone

Once a milestone is defined, the relevant companies agree to fund the milestone.

The funding companies can negotiate proportional funding. Clients can offer an equal funding distribution, or clients can negotiate different percentages, perhaps based on different levels of value to the associated clients.

File tickets

Once a milestone is funded, the technical lead on the project creates a set of issue tickets to implement the milestone.

In the simplest case, all of the tickets are narrowly-defined implementation tickets. Once all of the tickets are implemented, the milestone is complete.

In the more common case, some tickets are open-ended due to technical unknowns. Open-ended tickets may result in the creation of additional tickets as information is gathered.

The technical lead on the project assigns a complexity level to every ticket, e.g., Junior Development, Senior Development, Specialist Development, or Technical Leadership. The hourly rate per ticket is determined by the assigned complexity level.

Billable hours are always logged against a specific ticket (except for some technical leadership tasks). Work tickets are filed under "Issues" in a GitHub project.

Implement milestone

Developers work through each ticket filed for a milestone.

After all relevant tickets are closed, the milestone is complete.

Payment

Clients are invoiced regularly for logged development hours, based on standard hourly rates.