Rethinking The Agency Model
In search of a better way to do business
I first started Thoughtful in January, 2019 - 4 years ago. Initially, I started the company to fulfill my dream - getting to work with founders to build really exciting tech, and getting to work on a lot of different projects, all while getting paid. Over time, my dream grew, and I realized that I wanted to have a team that I could work with across many different projects rather than working alone and having a revolving door of clients but no true business partners or co-workers.
In January 2021, I hired my first freelance developer for my first true agency project where it was understood that I would be managing other developers and not just doing all of the work as a single freelancer myself. This lead to a very vibrant year where I quickly grew Thoughtful to a team of about 15 working across 6 large projects all at the same time.
As I grew the company, I constantly sought out advice from other agency owners, and constantly tweaked the business model. Every new client was a small experiment to see how I could improve our process.
Over the course of many conversations with other agency owners and many founders who had worked with agencies in the past, I began to feel that the agency model itself was flawed, and frankly flat it is a horrible business model. Why? Two reasons:
It’s horrible for the agency because revenue is so unpredictable and spike-y. Thoughtful went from making over $70k in a single month in June down to $40k a few months later, simply because we finished a few projects and hadn’t yet filled up additional development spots with new clients. This intense instability in revenue made it impossible to hire full time staff in any responsible way and it made it hard to plan. I talked to dozens of other agency owners about this exact issue, and generally found that other agencies either refused to hire full time team members and stick only to contracts (which was also my approach) or to hire full time team members while knowing full well that they might not be able to keep employing them if they failed to close enough further clients.
It’s horrible for the client because there’s too many misaligned incentives. The agency charges the client based on time and materials (in most cases) and then pays their team some amount below that. The agency has little financial reward to finish the project quickly or keep costs down - in fact, they are generally incentivized to do the opposite. Luckily, I do find that most agency owners (and believe that I am included in this) are ethical, good people that value their reputation above money and do try their very best to get projects done. But even so - it’s hard to shake the feeling of just how mis-aligned incentives actually are.
What’s worse is that the truly fun and interesting clients in the startup world generally should not be working with agencies in the first place - they should be hiring their own full time team members and should have a level of cultural alignment and communication that is simply not possible when collaborating with an outside agency.
However, there is clearly a massive need for agencies, otherwise they would not exist. Agencies play an important role in the market - many companies absolutely do have the need for short term or part time help and there are many cases where it simply doesn’t make sense to hire a full time software engineer. Tons of startups and small businesses, for example, may not have rocketship growth, but are successful and have their own paying userbase and do have technology needs. Perhaps they just need something simple, like a website, or something a little bit more complex, like a very lightweight app - but perhaps tech plays a supportive role in their business and they are not a true tech company. We already see this model of hiring “fractional” talent in other industries like law, but it’s not quite as common in tech, though it is certainly there.
At the beginning of 2022 I stopped taking on new clients, as I felt like I wanted to do some soul searching and find a better way. I took six months off, road tripped around the US, went to Japan, and came back refreshed. I decided that there was a list of things I would do differently if I were to pick Thoughtful back up again.
- I would be way more picky about which clients I would work with. If I felt that a client’s startup idea had a flaw, I would say so. I would push and prod more, and say no more. I would optimize for project success, even when that meant turning down projects that I didn’t think would be successful. Basically, I would approach every project as an investment.
- In order to be picky about which clients I work with, I would need to dramatically increase the amount of potential clients in the pipeline, and potentially bring prices down or find ways to help the truly promising clients to get funding. In this sense, it begins to look more like a true business partnership or co-foundership.
- I would not do large equity agreements with founders for massively discounted rates unless I truly wanted to be involved with their company for years to come. While it makes sense for VCs and angels to buy equity in startups, they are doing this in a highly diversified way and generally investing in 10s, 100s, or even 1000s of startups, but as an agency, we simply don’t have the ability to do that many projects. Instead, I think it makes more sense to take a small percent - let’s say 1% - of every startup client as an incentive to truly make the project a success and help make intros that could help the client succeed. In this way, the equity serves more as advisor equity and is not intended to bring rates down.
- In order to work with more price sensitive clients - because there is actually a lot of interesting work out with early stage founders that don’t have a lot of cash raised - I would instead offer to do deferred payment where we get paid upon their first fundraise. Generally, this trigger upon them raising $200k or more and would include some level of risk compensation - perhaps 30% or so. This model would also keep things simpler when the client goes to raise their round as we wouldn’t actually be on the cap table (aside perhaps from a 1% advisor share).
- I would not follow the typical agency business model of hiring employees or subcontractors and billing them at a huge markup. Aside from just having an unshakable sleazy feeling to it, I think this model simply discourages transparency from all parties involved. Clients don’t know what their team is getting paid and the team doesn’t know what their time is getting billed at. What’s worse though is that freelancers are inherently less committed than full time employees and unfortunately often do flake out of projects - perhaps because they find a full time job or perhaps because they simply overestimate their workload and take on more work than they can handle. But this is unfortunately a necessary evil of rapidly increasing and decreasing workload in order to finish a project that is short term where hiring full time employees is not possible. To solve these problems I am a huge fan of using talent marketplaces like Huddle, Braintrust, and A Team - let them do the interviewing and accumulate internal notes on who is reliable.
- For future projects, Thoughtful will be run as a small core team of full time employees (just two of us for now!) and we will partner closely with talent marketplaces to help our clients hire the right freelancers directly (not through us - no more subcontracting). This puts our clients in control where they can hire freelancers full time without an awkward position of them having to ask if they can poach our team members, and allows us to scale up and down infinitely faster than when we had to do all of the interviewing ourselves. Instead, we’ll focus on being the glue that holds large projects together - the advisors, the management, the architects, the fractional CTOs, the sherpas, and we will simply charge a flat management fee for every project based on our own time that we put in and value that we produce.
- We’ll standardize pay across the entire company - doesn’t matter what country you’re in or where you live - you’ll get paid based on the value you produce, not based on your negotiation skills or where you live.