Full-time after 10 Years of Freelancing
Lessons from a decade of client projects, deciding to pivot, and what's ahead
I began 2023 with the idea that I might finally go full-time on my independent projects. At the start of the year, in a very dramatic fashion, I wrote a short note to myself atop the fresh 2023 tab in my personal hour-tracking Google doc:
Happyfeed is my 10-years-in-the-making solo indie business. It has a healthy user-base, phenomenal reviews, and recurring revenue. But there hasn’t been quite enough growth to sustain its founder (i.e. pay my rent).
I’ll never actually “shut down” Happyfeed, but I did realize that I needed to shift focus if I didn’t see a clear path to full-time focus by the end of the year.
Since 2014, I had been making a living through freelancing as a software developer. Typically, I’d balance one or two large projects with a slew of smaller gigs. More on that later. The point is… I’ve been balancing a lot of moving pieces for a long time and starting to crave a more permanent fixture — something to focus on, collaborate on, and make some kind of impact through.
Making a living freelancing.
When I started out freelancing, I hoped to find design projects but realized I didn’t have the experience to be overly picky. My first “gig” was helping a friend’s psychology lab design and style a survey in Qualtrics. It didn’t take long to figure out that I’d make more as a developer, for which there was high demand and low supply in New York City at the time. (These were the pre-AI days of “Everyone should learn to code.”)
One thing led to another and I found myself with a steady, comfortable flow of work within three years. This comfort can largely be attributed to the types of clients and cadence of work — typically a single large client and one to three smaller projects.
Larger, ongoing gigs.
For my larger projects, I’d work more closely with a team on an ever-evolving set of features and launches. These might start as a single problem: “we need help setting up a way for our marketing team to create landing pages directly from the CMS using a set of pre-designed components,” or “improve the blog.” If all went well, marketing teams at growing companies tend to have an endless laundry list of engineering tasks. Most of the full-time engineers at these companies were more consumed with the actual product — whether it be client-facing dashboards, subscription management, etc.
The best of these projects usually has the following:
A company-side point person I enjoy working with and can learn from. This means building up trust (both ways), reasonable expectations about timelines, and sharing goals (not just Figma files).
Getting paid on time (more rare than you’d think).
[Bonus points]: Internal engineers I can pair with and learn from. This is arguably a crucial way to improve your skills when you work alone. Plus, it’s just more fun to collaborate.
Whenever I found a reliable large project, I’d stick around as long as I could, possibly years until a new marketing manager decided to shake things up, an acquisition rapidly changed priorities, or I simply outgrew the position.
Smaller, focused gigs.
Smaller projects could often be more fun — working with a design-forward brand on a launch, or helping a well-known company with an “activation” or “marketing experience.” These typically last a month or two and can result in a splashy launch or ad campaign.
My first agency project was working with a small, creative agency in Gowanus called Layerframe. They were designing and developing a marketing campaign for Spotify called #thatsongwhen. The environment was creative, fast-paced, client-driven, and I learned a ton from everyone there. Everything went well enough that I stuck around for a dozen or so other projects over the years — including one with Spotify & Game of Thrones.
In late 2016, I was connected with Human NYC while working alongside their team on a website launch. Rachael, one of the founders, often compares their approach to Ocean’s Eleven — finding the right team for each job. They brought me on to a variety of projects: launches and campaigns for startups of the time (Casper, Nike, Smartwool, a slew of Shopify websites and Next.js landing pages). I worked with some wonderful people and there was a real sense of community, which is largely why I’ve stuck around so long. Still, projects were focused, typically small, and not quite scratching my build something great itch.
Outside of the agency work, I typically found a few projects a year on my own, either through a past client or by pairing with a designer friend on a small (not quite agency-size) scale.
Considering a full time role.
After roughly 10 years in the consulting game, I decided to take a full-time role at a small startup. What went into my decision to join? For nearly a decade, I tried to balance autonomy with a craving for stability. Was I missing out on the camaraderie of being deeply embedded in a team, shared goals, and potential upside? What about broader questions about the sustainability of finding the next gig over and over?
Those thoughts were nothing new. Ultimately, I just really enjoyed my larger project at the time. (Of course, I’d be lying if I didn’t admit to my compounding exhaustion from sending invoices, answering URGENT emails from ancient clients, and never being 100% certain where my paycheck might come from in three months.)
I’ve been working with Runhouse since April 2023 as a freelancer (see “larger gigs” above). During that time, I’d gotten to know the founders, Donny and Josh, and appreciated how ambitious the idea they’re pursing is. The existing team had an obvious breadth and depth of knowledge in ML and DevOps — important fields I’d barely touched on in my career. When they posed the question of joining full-time, I hesitated at first (my freedom!) but quickly came around to the idea. If I was going to make a change, this was the perfect opportunity.
I started full-time with Runhouse in November 2023.
How’s it all going?
I’ve probably learned more in the past two months working full-time at Runhouse than the previous two years combined. The team consists entirely of talented Python engineers and our meetings often go deep into technical details. I barely knew what “inference” meant when I joined, but I’ve come a long way, essentially through osmosis. It’s been a welcome challenge to dive into a new field (AI, ML) while helping to design and position a startup within it.
Being the primary frontend developer on the team comes with plenty of autonomy. I can split my time between marketing efforts, UI improvements, analytics, and even backend coding. There’s no hierarchy in the company at this stage and everyone tends to help out wherever they can be most effective. High levels of trust and collaboration.
Do I miss the absolute autonomy from freelancing? To some degree, of course. But I’m glad to be freed of the mental overload that came with it. I much prefer working with a team toward a common, ambitious goal. The added structure helps too, like working from the office a few days a week. Oddly enough, I enjoy taking the F train into Manhattan in the morning.
Having a single focus is a blessing in many ways.
Balancing a single focus with everything else.
Moving from indie founder/freelancer/whatever to a typical FTE is not like simply flipping a switch. I didn’t immediately develop the urge to shut off my brain and watch Netflix on weekday evenings. Self-motivation takes a long time to build and carries a momentum that’s not easily lost. I still have dozens of projects I want to start and vague plans for a few “moonshot” ideas I want to pursue.
Maintaining Happyfeed on the side is the most obvious way to scratch my entrepreneurial itch, but I’ve (temporarily) tempered my ambitions about how big the app might become. Development has settled into a cozy pace of slow improvement — aiming to keep existing users happy and adding new features whenever there’s a new technology I want to test out.
In a way, that’s a good thing. Focusing on a (possibly) infinitely long project has it’s problems. The journaling app hasn’t been growing the way I wanted to for years. It needs a jolt, and maybe it’ll get one, after I’ve focused elsewhere for a while.
New projects.
Nights and weekends are more precious when you’re working at a startup during the day — it’s not a typical 9-5 and I’m (happily) thinking through problems at Runhouse during my off-hours.
Recently, I’ve been hacking on a simple app for the Vision Pro under the Happyfeed umbrella. And it’s a SLOW process. I’ve been learning to take better advantage of small one (or two) hour time blocks in the evenings or an early morning in a coffee shop. Miraculously, the app was approved and ready to launch on day one, Feb 2.
More on Vision Pro, goals for 2024, and Happyfeed plans in future posts. ✌️