Task-based freelancing for software engineers

Kickstarting a Two-Sided Market with Network Effects

Why Cottage?

What would it be like to wake up whenever you want, perform any task you want, and get paid for the results of your labor instead of your time? This is the central idea behind Cottage. In this article, I'll be explaining how we discovered this problem and how we plan to solve it.

Discovering the Problem

In February of 2021, I quit my stable job teaching software development at a coding bootcamp to pursue greater creative freedom and autonomy. My plan was to start a freelancing business so that I could work when I want, how I want, and where I want while also teaching on the side.

As it turns out, freelancing was more demanding than my previous jobs and I was getting paid even less. Something was terribly wrong. How had I lost more autonomy and financial freedom by starting a freelancing business?

Freelancing is an art. Not only did I need to be a proficient software engineer, I needed to be a great negotiator and communicator. While these are fantastic skills to develop, I was frustrated that I couldn't focus purely on software engineering and earn money that was proportional to the value that I was adding to businesses. My clients hired me part-time, but eventually developed expectations that I would come on full-time. I didn't manage these expectations very well and should have been more firm when expressing my desire for flexibility.

This was the failure that gave me the inspiration for Cottage.

Identifying Specific Pain Points

There are many businesses that have more tasks than they have engineers to perform those tasks. Why couldn't I perform as many or as little of those tasks as I wanted while working on a schedule that I chose?

I didn't want to attend Zoom meetings, company all-hands, or happy hours to schmooze with upper management. In my mind, these activities were a bottleneck in what could be a system of liberating work/life balance. The current system of social climbing within corporations also seems to be rife with unconscious bias, which contributes to the homogenous makeup of the tech industry.

Why can't people get paid for their capabilities or potential to learn rather than their ability to relate to people in power?

Let's solve this problem.

Designing a Solution

First thing's first: How do we connect engineers who have spare time with companies that have small tasks?

Experimenting with an Alpha Launch

We approached this problem with our alpha launch. The biggest obstacle to this type of arrangement was the time required to onboard an engineer onto a project. There are permissions to grant in dependent resources like AWS/GCP/Azure, adding a freelancer as a contributor in Github, and then hoping that they don't run away with intellectual property.

Strategics Partnerships

This is where we have been fortunate to find strategic partners like Strong Network. Strong Network provides a zero-trust platform for working on software engineering and data science projects in cloud-hosted development environments.

Aligning with a Paradigm Shift

Cloud-hosted development environments allow us to drastically reduce the time that freelancers spend context-switching into a project by having permissions pre-configured and dependencies installed. To get started on a task, freelancers just need to click a link to a cloud-hosted development environment and start coding. It's as easy as that.

We believe this paradigm shift towards cloud-hosted development environments will enable an ephemeral relationship between freelancers and clients.

Our Value Proposition

Most clients have tasks that have been sitting in their backlog forever. Why not just put them on our platform and assign them a price? We find freelancers that are willing to complete such tasks for a given price.

Implementing a Solution

Great, so the solution design is sound. Let's build out a system that accomplishes this goal.

Creating a virtuous cycle of freelancers and clients

Cottage is a two sided market between freelancers and clients, just like Uber is a two sided market between drivers and riders.

In Uber's business model, adding more drivers to the platform reduces pickup times by increasing the geographic coverage of pickup zones. This results in faster pickups, which in turn increases demand for the services of the drivers, which in turn encourages more drivers to join the platform. It also results in lower downtime for drivers, which allows Uber to lower their prices for riders, which in turn encourages even more demand.

This system of self-reinforcing platform growth has been dubbed “the virtuous cycle” and is best illustrated in the famous ad-hoc diagram created by David Sacks.

Virtuous Cycle of Uber

If we take this idea and apply it to the business of connecting freelancers and clients, we come up with the slightly modified diagram below that represents the core business of Cottage. Here, freelancers take the place of drivers and clients take the place of riders.

Virtuous Cycle of Cottage

Platforms like Upwork benefit from this type of virtuous cycle, but we believe they are missing one key ingredient: ephemeral relationships between freelancers and clients.

When booking a trip through Uber, a rider does not interview a driver before agreeing to engage in a transaction. Uber engages in strict quality control with respect to both riders and drivers, thus facilitating trust. A rider does not need to call a centralized dispatch service to request a ride either; it all happens with the click of a button in an app.

When submitting a task through Cottage, a client will not interview a freelancer before engaging in a transaction. Cottage will engage in strict quality control of both clients and freelancers to facilitate trust. Clients will also not need to worry about onboarding freelancers into a project since projects will be set up only once as a cloud-hosted development environment and made accessible to multiple freelancers. With a click of a button, a freelancer will be able to perform a task for a client without having to set up a project. When the freelancer is finished, they will be automatically offboarded from the project. From the perspective of the client, tasks will be completed without any of the overhead of managing freelancers.

We believe that this system will accelerate the development of digital businesses while also providing unprecedented freedom for knowledge workers.

What will you do with this newfound flexibility?

Are you a software engineer or data scientist who is interested in freelancing in your spare time?

Join us.

Are you a startup looking to augment your existing engineering team?

Work with us.