34 startup lessons from General Task

I started writing this post at 11pm on Thanksgiving, minutes after sending out the 81st and final General Task investor refund. At that moment, 175 days after announcing to our investors on June 1 of 2023 that General Task was shutting down, I finally felt a sense of closure. It seemed appropriate to use that moment (and some holiday free time) to reflect more deeply on my experience with General Task, my first full-time startup founder experience, and all the things I learned from it.

It’s fitting, also, that this started over Thanksgiving. Because while my time at General Task was incredibly difficult, I am also incredibly grateful for it. Because of General Task, I learned so much in so many areas: not only about building a startup and a great product but also how to be a better version of myself, and how to deal with stress and burnout in healthy ways. I will take those lessons with me for the rest of my life, and they have already proven valuable as I have returned to be an individual contributor engineer.

As I think about gratitude, I am also reminded that General Task would never have been possible without a lot of support. I’m deeply thankful to my supportive family, the wonderful Robinhood community, and the investors and early GT employees who believed in me and decided to give me a chance. My startup experience may have been tough, but it would have been simply impossible without the wonderful people around me.

And finally, I’m grateful to have the opportunity, now that things have settled down, to pass along what I’ve learned from General Task. While it can sometimes be painful to recount all of the mistakes made and what could have gone better, it brings me a great deal of satisfaction to know that by sharing my experience, I may have a chance at helping others avoid making the same mistakes I made. We can’t change the past, but we can learn from it. And that’s the goal of this blog post.

In the past few months, I’ve enjoyed talking about lessons learned on occasions when General Task has come up in conversation. I usually rattle off a quick few points, but the truth is I could spend hours talking about everything I learned. I apologize in advance for the length of this post—while I will strive to be concise, I want to use this opportunity to dive very deep, be thorough, and extract as much useful insight as I can from my first startup founder experience.

All in all, I’ve identified 34 key lessons learned, divided below into eight distinct sections. I hope you find this list interesting and useful. Please feel free to reach out to me directly if you want to learn more about my experience: I always love chatting about it!


I. Getting started

1. Take time off from work before you start

After leaving Robinhood on Friday, October 15, 2021, I started hacking on General Task the very next day, on Saturday morning. I should have recognized that I was a bit burned out at that time, and should have given myself at least a week, if not several weeks, to decompress and prepare myself mentally for the big challenge ahead. There’s no need to rush into a huge commitment of energy and time so quickly.

2. Prepare for things to take much longer and be much harder than expected

Just about everything that could have gone wrong at General Task, did go wrong, and just about every timeline I had for hitting major milestones around users or retention was far shorter than what actually happened. While you don’t want to go into a startup with a pessimistic attitude, it’s important to prepare yourself mentally for what will be a very long and difficult (but also exhilarating and adventurous) journey. Startups are not “get rich quick” schemes and are not for the faint of heart.

3. Wait until you find a cofounder

I was impatient to get started with General Task, so I started off as a solo founder. I thought that I would enjoy having more equity and more control over the company, but I was not ready for the level of stress and difficulty that solo founders experience. You need someone who you can share the burden with, keep you accountable and self-aware, and help work through difficult decisions. So, consider finding a good partner from the very beginning, who is equally invested as you are (and has a roughly equal share of equity). It’s more than worth the reduction in control and starting equity.

4. Find a cofounder with complementary skills

I partnered with a cofounder about nine months into my startup journey. While it was great to no longer be a solo founder, we both had similar software engineering backgrounds and so it was difficult to appropriately divide our responsibilities, and neither of us were experts in important non-technical areas of the business. If you can, you should find a cofounder who is good at things you are not good at; you’ll make a more potent team that way.


II. Fundraising

5. Raise more money than you think you need

When I started General Task in 2021, it was a very founder-friendly environment for raising capital. We were able to very quickly put together a $1.65 million pre-seed round and actually turned away offers for more money. My reasoning was that I could limit dilution by keeping the size of the round small and the valuation high. But I was not prepared for the fundraising environment to get much worse over the following year and a half, and I was also not prepared for everything to take longer than I expected. When raising money, you should prepare for the worst, and raise more money than you think you might need in a base case scenario.

6. Choose a valuation you can grow into

In our pre-seed round, we raised money at a $20 million post-money valuation cap (via SAFEs). This is a substantially higher valuation than a typical pre-seed round. My reasoning for this was we would limit dilution: after all, why not take the best fundraising terms you can get? Unfortunately, when we tried to raise our seed round in early 2023, we had not grown enough into our high pre-seed valuation and that made it more difficult to raise money. And you don’t want to disappoint your existing investors by raising at a lower valuation than before. Even if you can get better valuation terms, you should consider taking a lower, more appropriate valuation to your funding stage, which could make it easier to raise future rounds of capital.

7. Take a lead investor

We raised our pre-seed round without a lead investor, instead taking more than 55 small checks from friends and family, former coworkers, and a couple of funds. My reasoning here was two-fold: I wanted to be inclusive and let my friends and former coworkers invest, even if it was just a small amount, and I wanted to have more control of the company by spreading ownership over many investors. The problem with this approach was that I never had any one investor with enough skin in the game to spend the kind of time and resources that lead investors tend to commit to their portfolio companies. Not to mention, a lead investor is more likely to tell you when you are making a mistake, and they can also be very helpful with raising your next round of capital. There were times I really could have used more guidance and assistance, and a lead investor could have provided more of that.

8. Use a rollup vehicle if you plan on taking a lot of small checks

As I mentioned at the beginning of this post, I needed to collect 81 signatures and send 81 separate investor refunds as part of shutting down General Task. This is because I had decided I wanted to make all my small investors feel included by letting them sign SAFEs directly with General Task. instead of using a roll up vehicle. This turned into a much bigger hassle than I had expected, and stretched the process of shutting down the company into a months-long, painful process. It would have also made it much more difficult to get shareholder authorization for things like a priced financing round. To save yourself a big headache, I would recommend using a roll up vehicle for your small checks if you plan on accepting a lot of them; then, you’ll only need one signature instead of many.

9. Y Combinator can be helpful even if you think you know a lot about startups

In December 2022, General Task was admitted to Y Combinator’s Winter 2023 batch. We seriously considered joining but ultimately decided that we wouldn’t benefit much from the learning experience of YC, and that we could raise money on better terms from other investors. One of our 81 investors also threatened to block us from joining, with a similar argument. Ultimately we failed to raise our seed round, though, and we could have really used the cash and guidance offered by YC. We were too worried about dilution and not worried enough about keeping our company alive, and many of the lessons we ended up learning the hard way were the same ones taught by YC.


III. Strategy

10. Bias towards selling to businesses (B2B), not consumers

It is incredibly difficult to build a successful consumer business. Not only does your product need to be useful, but it often also needs to be beautifully designed and lightning fast. And consumers don’t have the same budgets that businesses do. While it took us three months (October 2021 to January 2022) to build the core functionality in our Minimum Viable Product (MVP), our consumer audience wasn’t satisfied until we spent the following ten months (January to October 2022) iterating tirelessly on our look and feel, adding additional features and getting dozens of tiny details perfect. Even then, our product didn’t immediately have amazing retention or growth, even though it was free! Had we built a similar tool for businesses, we could have gotten our first customers much earlier and it would have been easier to monetize out of the gate.

11. Choose the most highly profitable and much-needed wedge first

General Task’s mission was to make knowledge workers more productive. We had a vision of becoming an all-in-one productivity and collaboration solution, eventually replacing Slack, JIRA, Github, email, and calendar with a prioritized view of everything on your plate for work. We chose our entry point into this vision poorly: a personal planner and todo list app, which would start as a free consumer product and later be monetized as a B2B Software as a Service (SaaS) product. There were two key problems with this approach: the personal todo list market is incredibly overcrowded with a high bar for entry, and we would have no revenue until we build a separate B2B product. We should have worked to find a more painful problem in this space that could have been sold to customers even as an imperfect MVP.

12. Choose a narrow customer segment and be disciplined about that segment

While we built our initial product for engineers at small startups, we weren’t always disciplined about who we took product feedback from and who we gave access to our early product. That meant that our product decisions were often based on the needs of people outside our target customer segment. When we removed our waitlist and let anyone sign up, we didn’t effectively prioritize feedback from our target customers and instead did whatever we could to improve overall retention. While it can sometimes be beneficial to let non-target customers use your software and open the door to discovering unexpected use cases, our lack of focus meant that our product was “fine” for a large audience instead of amazing for a small audience. And it’s much better to have the latter.

13. Validate the problem exists before building

As an engineer, my first instinct upon leaving Robinhood and starting General Task full-time was to build a working MVP as quickly as possible. I was so convinced in my vision that I thought that talking to customers before then would be unnecessary. I was wrong. After showing the initial MVP to customers in January, we needed to rebuild most of our product to address the feedback we got. And even then, we didn’t have a great sense of how important of a problem we were solving for our users, and if anyone would want to pay for this. We shouldn’t have written a single line of code until we had validated the problem exists and there is willingness to pay for a solution, and then shown low fidelity and then high fidelity mockups to target customers.

14. Get revenue upfront if you can

When we were trying to raise our seed round between January and March 2023, we were frequently asked about our path to achieving revenue. The fact that our current product was not monetized and we would need to build an entirely separate B2B product became a major sticking point in our conversations with investors. After a year and a half, we were not much closer to revenue than we were before. In the low interest rate environment of 2021 when we got started, it was easy to overlook a core truth: businesses exist to make money. We should have found a product we could monetize to even our earliest customers, and focused on accelerating the path to a meaningful revenue run rate.

15. Focus on customer love before growth

Shortly after we launched our beta, in October 2023, we started focusing on increasing our weekly active users. We tried all kinds of growth hacks, but they were ineffective and wasted valuable time we could have spent improving our core product. A key reason they were ineffective is simply that our existing users didn’t love our product enough, and they were often churning. We felt pressure to grow so we could raise our next round of funding, and we skipped a crucial step: getting our existing customers to love our product before trying to grow, even if it takes longer than expected to make that happen. If you don’t do this, then your new users will just replace your churned users and you won’t grow much.

16. Don’t over-index on your Product Hunt launch or other one-time bumps

At a crucial time for General Task, near the end of 2022 and beginning of 2023, we focused all of our efforts on preparing our beta product for a big launch on Product Hunt. This launch was timed to occur immediately before we would start fundraising. While the launch was a success and we got a huge spike in signups, investors saw right through that bump and focused their attention on our per-user engagement and retention metrics. We should have been focused on improving those instead of creating a big one-time bump. Don’t bother over-preparing for a Product Hunt launch when you could spend that time improving your core metrics instead.

17. If you’re going to do Product Led Growth (PLG), make your product naturally viral

A big reason we built a free consumer product first was to act as a growth lever and distribution channel for our paid B2B product. But personal planners are just that: personal. They aren’t highly visible to your coworkers and they don’t naturally spread within an organization the same way that collaborative software does (like Google Docs or Clockwise). We tried to encourage people to share General Task with others and added collaborative features, but it was an uphill battle and we ran out of time before we could make meaningful progress. If we wanted our consumer product to act as part of our PLG strategy, we should have chosen something that is naturally collaborative as part of the core flow.


IV. Tech

18. Optimize your tech stack for rapid iteration

Because I was so confident our product would succeed, and wanted to avoid tech debt, I chose a tech stack that would be highly scalable and reliable: Golang and MongoDB built with Terraform and Kubernetes. While our backend system did indeed easily scale and was quite reliable, overbuilding our system in this way meant an increased time investment upfront, especially since neither I nor anyone at the company was a Golang, MongoDB or Terraform expert. This architecture decision caused us to waste valuable time we could have spent rapidly iterating on our product. Something more simple, like a Python / Flask / Postgres setup on Heroku would have been much faster to get going, and still scalable enough to meet our basic needs. We similarly over-invested on the frontend by using Redux on top of our Typescript / React web app. And to reiterate from above, we shouldn’t have even thought about tech stacks or setting anything up until we had a validated problem, willingness to pay and promising feedback on Figma mockups.

19. Don’t outsource key technical work

Because we were inexperienced at the time with Terraform and Kubernetes, we hired an outside contractor to handle our devops / infra work. Doing this ended up wasting valuable time and money. The contractor took longer than expected to spin up the system and the communication barrier meant it was difficult to ensure it perfectly met our specifications. Oversight was difficult when we didn’t fully understand the technology they were building for us. And it wasn’t cheap. We should have simplified our system or learned to do that work ourselves, because we ended up needing to do that eventually anyways.


V. Team building

20. Don’t hire too quickly

One of the very first things I did after leaving Robinhood and starting General Task full-time was to start hiring people. After just a couple of months, we had four people working full-time, and by June of the following year, we had seven full-time employees and two interns. Instead of choosing an easier problem for our company to solve, I felt that we simply needed to increase throughput and build our product faster by hiring more people, but that brought plenty of its own problems. I started spending a huge chunk of my time focused on helping the team and learning how to be a good manager, instead of getting the product right. Our burn rate skyrocketed, and we became less nimble. And we ultimately had to do layoffs, which was very demoralizing. There’s no reason you can’t validate your product and get your first customers with just you and your cofounders.

21. Hire people who are already experts

In my effort to quickly grow the team, I hired a number of people who were just at the beginning of their careers. I deeply enjoyed mentoring and developing these people into highly productive and effective contributors, and we became an incredibly talented team together. However, the unfortunate, harsh truth is that spending a lot of time mentoring and developing your team is simply not a luxury you can afford when you’re a startup fighting to stay alive. You need to focus 100% of your energy on building something customers will pay for, and so your first couple of hires should be people who can bring significant value on day one. Ideally, they’re the ones teaching you, not the other way around.

22. Don’t work with your close friends

A few of the early employees of General Task were old friends of mine. I did this in part because I knew I would work well with them and in part because they knew me and were more open to working with me. While it was easy and fun to work together in the good times, sometimes in the bad times it was tough to separate our personal relationships from our work relationships. Starting a startup is already stressful enough without worrying about losing friends, so I would recommend against working with close friends, even if it seems convenient or fun to do so.

23. Fire fast, don’t try to fix

Unfortunately, there were a small handful of times I had to either fire an outside contractor or fire an employee. In every one of these experiences, I wish I had done it earlier instead of trying to make the relationship work. In a startup environment where you’re fighting to survive, you don’t have the luxury of time to fix underperformance. This was really tough for me to accept, because I often saw the potential for things to improve if only I had the time to work on it. Sadly, sometimes you have to be harsh to individuals to protect the company.


VI. Company norms

24. Work fully in person

I know this is a contentious debate, but I came to the conclusion from my experience at General Task that you need your founding team to all work together in person every day. Maybe remote or hybrid can work in larger companies with more structure and a slower pace, but at the earliest stages, you need to make decisions and solve problems together extremely quickly. Nothing beats the social cohesion that naturally arises from working together physically, or the ability to hold a company-wide discussion at a moment’s notice. Also, I believe it’s more motivating and fun to work the necessary long hours when you have your team right by your side. When doing something as tough as a startup, you need all the motivation and fun you can get. We were a hybrid team, which worked ok, but there was a very substantial increase in productivity and morale when we were all in the same location for an offsite.

25. Work hard

Starting a startup is so difficult that you need to stack the odds in your favor in every single way that you can, and even then, achieving success is still an uphill battle. At General Task, I overestimated our chances of success and encouraged a culture of work-life balance where no one (except me) was expected to work more than 40 hours a week. But while it may be possible to treat your startup like a chill tech job and still succeed, you will improve your odds of success if you and your team work very hard. Of course, you should not compromise on taking care of yourself, getting enough rest and maintaining your personal relationships. But you and your founding team should work with a much higher level of intensity and hours than that of a typical tech job.


VII. Leadership

26. If you’re the CEO, be the CEO

I was the CEO of General Task, and that made me the final decision maker. But I respected my team deeply, and worked hard to bring my team to consensus on major decisions affecting the company. That meant I basically never made a decision that my team strongly disagreed with. I wanted the team to feel that their voice was heard and that I cared what they thought. Unfortunately, this approach often slowed down my ability to make important decisions and kept me from making unpopular but necessary changes. For example, after our layoffs, my team wanted to take time to explore potential pivots while I wanted to dive right into building a B2B version of our existing product. I failed to get buy-in on my proposal and ended up agreeing to explore pivots, when it may have been better for the business for me to take my role as CEO and direct the company to build the B2B product, even if it would have been an unpopular decision. We never ended up finding a new direction we were all unanimously excited about.

27. Focus your time only on building something people want

As a leader of a company, you will always have tons of competing demands on your time, and many of them will seem very important. As the team grew in size, I wanted to make General Task a great place to work and so I spent a lot of my time learning to be a good manager, optimizing our internal processes to be more efficient, mentoring people, tweaking benefits, and other tasks that were not related to the only thing that would make General Task survive: building something people want. While doing all those things is still helpful and important, I should have been more disciplined about how I spent my time and aligned it with that priority.

28. You can’t accomplish your mission if the company dies

I wanted General Task to be a compassionate, mission-driven and values-driven company. I had a vision of making General Task the “Robinhood of productivity”, democratizing access to the very best productivity tools for everyone, for free. We committed ourselves to never charging money for our consumer product, including never even having a premium tier. We didn’t want to have a product loaded with upsells, referral incentives, and other dark patterns designed to squeeze as much money out of our users as possible. This attitude pervaded every part of my leadership. I set the minimum investment in our pre-seed round to be $1, the same as it is on the Robinhood app to buy a stock, and gave allocation priority to our small investors. And I believed in my team, mentoring and developing my junior employees and resisting layoffs when it would have been easier to downsize.

I was immensely proud to be at a company that didn’t feel like just another startup. A company that treated its employees well and stuck to its principles and mission to eventually help millions of people manage their time better and achieve their most important goals. But the sad truth is that these self-imposed commitments made it harder for General Task to survive. If we had started charging for our consumer product, for example, it may have been easier to raise a seed round and avoid making deep cuts to our team.

It broke my heart to realize that many of the things I did to try to make General Task a force for good ultimately contributed to its demise. I’ve never wanted to be an entrepreneur just for the money. What truly excites me is the opportunity to change things for the better, to improve lives and help people, and maybe, just maybe, help show that the future doesn’t have to be so dark and gloomy. It can also be bright and exciting. We all need a little bit of hope in a world that seems to be increasingly pessimistic and fearful. But, in order to get a chance to do all that, you need to keep your company alive. Ultimately, it didn’t matter that I did all those things I felt made General Task a better company, because the company died and so did our chance of helping millions of people one day.

Because of this, I have come to the opinion that you need to always put the survival of the company first, even if it means doing things you hoped you wouldn’t have to do. This was one of the hardest lessons for me to take. It made me question if I am truly meant to be a founder. But the truth is that starting a startup is just too difficult to try to do it with one hand tied behind your back.

29. Reject nearly all external meetings

As a startup founder, you will constantly get opportunities to take outside meetings, whether it’s with potential investors, salespeople, prospective hires, or old coworkers. While it’s tempting to be nice and accept these calls when they come up, they can sap valuable time away from what matters most: building something people want. I often found my calendar crowded with meetings, and many of them were unnecessary. It can feel mean to decline to spend time chatting with someone who wants to speak with you, especially if it’s someone you know. But it’s also very important to protect your valuable time every day and use it thoughtfully.


VIII. Life as a startup founder

30. If you’re burned out, fix it ASAP

Near the end of my time at General Task, I realized that I wasn’t enjoying my work, and hadn’t been for quite some time. During my tenure, I felt that I always needed to be the person at the company making the biggest sacrifices, working the hardest, and putting the team before myself. I felt guilty anytime I let myself rest or take time off. I knew I had to make a change, but I often told myself that I’d get around to fixing things once we hit our next milestone or raised our next funding round and had some more breathing room. Unfortunately, that breathing room came from layoffs and not our next funding round, and only after doing more than 50 pitch meetings over the course of a few months. By that point, even though we had a much longer runway than before, I was so burned out that it became difficult to imagine myself continuing to push forward. Suddenly, it became clear that my burnout was an existential risk to the company. Ultimately, it was a big reason I chose to shut General Task down.

I learned from that experience that burnout is never something to fix later. The very moment you have even the slightest inkling of burnout, you have to drop everything and fix it, immediately. It is just as much of an existential risk as running out of money, and needs to be treated that way. If you aren’t happy at work, you can’t hope that things will magically change when you hit that next milestone. You have to fix it yourself, right now.

31. Self care is not optional

Starting a startup is incredibly stressful and it’s a demanding, difficult job. I experienced some of the most intense stress and anxiety of my life during my time at General Task, but I found that adopting the following daily practices and sticking to them every single day helped a lot. Different things work for different people, but it’s critical you prioritize basic self care over work at all times, even when you feel incredibly busy and aren’t sure you can spare the time. It’s not a nice-to-have, it’s an absolute necessity. If you don’t, you will lose your ability to perform at the level you need to for a startup to succeed.

I kept a checklist I went through every day before and after work, and I scheduled times on my calendar to ensure I stuck to these habits. They helped me a lot.

32. Prepare yourself financially for startup life

For the first 14 months at General Task, I did not pay myself. I also was the biggest investor in the company, even going “all-in” in August 2022 with the full remainder of my liquid assets, selling all my remaining Tesla shares and Dogecoin. By January 2023, I was starting to run my bank accounts dry and was forced to start paying myself so I didn’t go broke. By this time, General Task was running out of money quickly, and I paid myself as little as I could to minimize my burden on the company’s finances. While my financial heroics might have helped inspire my team and demonstrate my dedication to the company, it was tough personally to go from being quite well-off financially after the Robinhood IPO to being nearly broke (in liquid terms), less than two years later. I started worrying about unimportant things, like the cost of Ubers to and from the airport on business trips. My financial situation became a distraction and source of additional stress when I already had more than enough on my plate at work.

If I had paid myself a salary earlier and refrained from personally investing in General Task, I likely would have been a more effective, less distracted leader. Additionally, my high-risk portfolio of Tesla stock and Dogecoin was an unnecessary distraction and source of anxiety when I was already taking so much risk with my startup. I could have benefitted from making my portfolio more conservative with more of a cash buffer.

33. Get help when you need it

When I first got started with General Task, I was extremely overconfident. I thought everything would be relatively easy and I wouldn’t need anyone telling me how to run my company or how to live my life. But as it became clear that startup life would be much harder than I expected, I lost a lot of my confidence, and got very stressed. In the summer of 2022, I was feeling quite bad and signed up to see a coach every week for a bit to talk through what I was struggling with. It was one of the best things I did, and I learned to take better care of myself and handle my stress more effectively. I also started seeking more advice from experts I knew and respected and I benefited greatly from their wisdom. Starting a startup can be lonely sometimes, and there’s no shame in getting help when you need it. In fact, it’s one of the best things you can do to help your company succeed.

34. Force yourself to stop working at a set time every night

For my first several months at General Task, I would work as late as I needed each day until I got everything done that I wanted to do. That meant I often worked past 9pm. Working that late meant I didn’t have as much time to spend with my friends and family or just relax and decompress. But the thing is, I wasn’t working super efficiently. Because I knew I could take as long as I needed to get my work done, I had no sense of urgency, and would sometimes stop and read an interesting article I found. When I tried forcing myself to stop working at the same time every day, I suddenly felt a sense of urgency that inspired me to work much more efficiently than before. Suddenly, I had more time to spend outside of work, and I was just as productive as before. I also felt less burnt out after making this change. I would recommend giving this a try—maybe it could work well for you too!


Conclusion

I wrapped up writing this post on January 6, 2024, just one day after sending the last government form to dissolve General Task, Inc, which was my final official act as CEO of General Task. After months of closing things down and reflecting on everything that happened, it feels good to write it all down and finally close this chapter of my life.

My time at General Task was the most fun I’ve ever had in a job. It was also the biggest, most difficult challenge I’ve ever had. Was it worth it? Absolutely. Despite all the stress and disappointment, I just know it’s only a matter of time before I try to start my next startup, and I’ll be keeping these lessons (and countless other experiences) in mind when I do. I hope this list ends up being helpful not just to me but to others at startups or considering starting one. And once again, feel free to reach out to me directly if you ever want to chat. Best of luck!