GeekStack is recruiting playtesters for our online trading card game with a science and technology theme. If you're interested, sign up here. Thanks!
GeekStack Postmortem
Posted on | August 19, 2011 | 7 Comments
GeekStack is officially dead, for now. I haven’t worked on it in forever and it’s no longer the driving force in my mind so there is no resurgence to hope for. (Fans, please read to the end. There is a little bright spot.) I need to get this off my chest so I can move on.
A brief history: I got the idea for a trading card game featuring the heroes of science and technology back in the Fall of 2008. I did some planning and research for a few months, and in spring and summer of 2009 I did a lot of development for it. In fall of 2009 I got a cofounder and that worked for about 6 months until that relationship failed slowly and silently. My work slowed to a halt until summer of 2010 when it ceased. Now, over a year later, I’m going to go over the reasons why I failed and what I can do about that in future ventures. Hopefully you can learn something from this, but this is mostly for my own benefit. Here’s a list of some of the things I did wrong.
1. I Was Planning to Launch a Mature Company
Good grief, you should have seen some of the things I spent time and energy working on. Partnerships with other companies. Building a generalized game engine that could accomodate any known trading card game. Plans for community participation in the sourcing of future characters. Many hundreds of scientist bios sorted by category. Reading multiple books on game design. Structuring online tournaments. A release schedule for themed sets of cars going years into the future. In my head, I was running the company that would have resulted with ~2-5 years of perfect execution. Silly me, I glossed over the work necessary to get to that point.
2. My MVP Was WAAAAAAAAAAY Too Complex
Like a good boy, I did some market research into CCGs in general, and ran surveys for my specific idea. Emboldened by good results, I started working on my MVP of … a completely generalized game engine running on a realtime gameplay platform. I wrote a pretty good game engine, but it consumed 100% of my development time (see also #5), but the realtime part was beyond my grasp (see also #2a)
I should have gone roughly in this order:
- you can collect and view cards (with no game rules)
- cards get one new rule
- you can play the game with 100% page refreshes every time you do anything, including having to guess and check when your opponent is finished with their turn (imagine chess by mail)
- when customers can successfully use that feature, return to step 2
- once the gameplay is fun, work on player experience features (drag and drop cards, async updates to the page, etc)
Why didn’t I do this? First, #3 would mean that it would super duper suck to try and play the game, and I didn’t want that to be the first impression. Second, I was trying to optimize for my personal development flow instead of product development flow. The goal was quicker total development time, but it instead led to burnout and quitting due to lack of visible progress. Finally, I had in mind the “charge from Day 1″ mantra and I knew that it would be a long time before this gave anything worth paying for. So I basically waterfalled myself to death.
2a. My MVP Was Beyond My Ability
Making an MVP is not the place to be a hero – it’s an feedback and verification phase. Part of my planned MVP was a real-time multiplayer card playing surface. Remember, this was 2009, so no Node.js, a much less mature EventMachine, etc. (If I get any dates wrong, remember this is my perception of what was out there. People were doing this stuff, just not me.)
There were two big problems: not only was this extremely overkill as an MVP, it was beyond my technical abilities. I did not have the skill to prototype this. My plan was literally a) learn EventMachine and use that, b) learn Python and use Tornado (I heard it was good), or c) learn Erlang because that was the “right way” to do event driven server programming. I was not confident enough in any of those choices – I figured EventMachine was the best idea given that I was writing the site in Rails but I couldn’t find documentation and tutorials enough to give me the courage to actually work on it (also next point as well). I was aware enough of the deployment and integration difficulties of managing multiple platforms to know that I probably wasn’t going to use Python or Erlang, but that just helped me not choose those options.
I think if I knew in real life someone that had been using EventMachine and could give me a 10 minute overview and answer basic questions like “How do I pass a user between a Rails app and EM evented code?”, that probably would have been enough (alternately, I could have reached forward through time to get the PeepCode episodes on EventMachine. Instead, I just left it as unknown and went back to work I knew how to do because I had no priorities or deadlines to force the issue of how to code the gameplay part of the app.
3. Analysis Paralysis for Unnecessary Topics
Speaking of time, I continually spent 10+ hours researching questions that could have been answered in 2 minutes by a knowledgeable mentor. These were things that wouldn’t make or break my business, but I was so worried about wasting time later to fix something I did incorrectly at the beginning that I just ended up researching more or punting. Things like corporate structure, how to collect payments, where to get a merchant account, which collaboration and project planning software to use, etc. I did plenty of research on the Internet, and found plenty of facts, but there was no one to tell me “Given my knowledge and your situation, you should do this, this, and this”. I believe I ended up making correct decisions, but it took massive amounts of clock and calendar time for me to feel confident about them.
4. Unrealistic Financial Expectations Clouded My Decision Making
A big part of the reason I had become interested in startups was because of Paul Graham’s writing. Essays like How To Make Wealth made so much sense. I never wanted to be a billionaire or world famous so the Bill Gates and Steve Jobs stories didn’t appeal to me, but the idea of solving “the money problem” did.
By this time, I had two young kids and I wanted to spend time with my family, not at work. But because of said family, I had higher expenses I didn’t have unilateral power to decide what I did or how we lived. We had some savings but also leftover student loans, a mortgage, etc so my runway was helicopter short. Quitting the day job was not an option, so the target became *replacing* the day job. This meant ~$10K per month to replace salary, pay COBRA, etc. This was aside from expenses that the business needed to run, biggest of which was a whole bunch of art assets that I couldn’t produce.
It may seem obvious that it’s really hard to get from $0/month to $10,000/month, but that was my goal. I made decisions based on that premise – will this help me earn $10K/mo? I ended up doing a micro version of the VC shoot-for-the-moon game, because I was unwilling to consider a plan that led to making $250/month and included enough momentum to keep going next month. It was all or nothing, and nothing won.
5. I Did Things in the Wrong Order
As part of my way-too-huge plan, I figured out that I needed four things: a flexible game engine, a website that included basic administration and the ability to play the game, a game design including ~200 cards, and a community of ~50 playtesters. I had 10-15 hours a week, so I figured that this would take me years to do all those things. I worried that I wouldn’t make progress if if I tried to do them all at once, so I tried to do them sequentially. I managed to finish the game engine and get a crude version of the administrative website done.
The problem with this is that even though I made good progress on those parts, I made zero progress on the other parts during that time. Extrapolating from 0% progress over 6 months is pretty discouraging.
6. I Was in Denial About Dependencies
The schedule problems from #5 also meant that it was impossible for me to work with others because I had no ability to schedule dependencies. For instance, I knew early that I wanted to feature the real life heroes of science and technology, and so I went to the TechCrunch50 conference, where I met some awesome people that were interested in being on the cards. I tried following up with them on how that would work, but because I was being frugal about how and when I spent money, I didn’t want to commission the illustrations of them. So I just ended up coming off as a flake because I didn’t follow through. This made me even more hesitant to work with people in the future, so it ended up being either done by me or punted indefinitely.
By the later stages of my winding down, I knew that I needed another partner, either an artist so I could save cash and get some design help, or a developer to push functionality faster. But I had been moving so slowly on my own that I had two worries: that the search for a partner would take away the rest of the little time I was spending, and that if I did find a partner, they would quickly be disillusioned by how little work I was producing. So I consciously made the choice not to work on finding a partner, even though I knew it was the right thing to do.
7. Unrealistic Schedule, No Accountability
Before things started falling apart, I had an ambitious but reachable schedule for doing things. If everything had gone exactly according to plan, I would have stayed on schedule and done great. But there was a pernicious psychological feedback loop that hurt me. When I slipped a teeny tiny bit on the schedule, I would get discouraged, and adjust the schedule backwards. But when I missed that again, I started to feel defeated and ended up working less. That made the schedule slip worse, which gave me less motivation to work, and this spiralled out of control to the point where I stopped. In the middle of this cycle, I stopped announcing things on my blog because I was ashamed of how consistently I failed to meet any previous deadlines I set. So I lost the reinforcement that comes from public accountability, which made it even easier to slip the schedule.
I truly believe that if I had been more realistic and flexible about my schedule (and about the scope of work, see #2), then I would have hit more deadlines, stayed accountable, and had more reserve willpower for when things got tough. A track record of success would have gone a long way to encourage me.
8. I Was Shattered When My Plan Fell Apart
In 2009 things were going according to plan. I had written a lot of code on my own, and I found what looked like a great partner that complemented my skills. Things went pretty well for the first few months but long story short, that partnership died a slow uncertain death, to the point that it was very dead before I even realized it was dying. Now it was six months later, there was unresolved uncertainty around ownership of the company and assets, and I a lot of the progress I thought I had made was now gone. This was a blow that I couldn’t really handle and basically the death of the present version of GeekStack. I didn’t admit it for a while because I wanted to be determined, I wanted to be committed, I wanted to be unstoppable. But the thought of starting over and being so faaaaaaaar from launching was too much for me, so I just pretended like GeekStack was still alive. I still read game design articles, I still collected scientist profiles, I still did little stuff, but from that point on I don’t think I wrote a single additional line of code on GeekStack.
Now What?
Writing this has been very cathartic so far, thanks for listening. (What? I’m the only one left? Oh well, catharsis doesn’t need an audience.) But getting things off my chest doesn’t matter if I don’t learn anything from it.
What are the good things about my experience?
- I have a well of about 6-9 months of determination
- I verified ideas in the market before spending too much time or money developing them
- I could develop code outside of a structured work environment and pick up new skills as needed
- I had interest and organizational skills beyond just coding
- I can expand a plan as needed to accomodate new information or ideas
What are the weaknesses I need to work on and be aware of in the future?
- I rarely was willing to scale down plans to something simpler or smaller
- I was very, very dependent on momentum and routine to stay motivated
- I would go into denial about problems I wasn’t sure how to fix
- I could get paralyzed now by problems that I didn’t need to solve until later
- By refusing to compromise schedule, I instead compromised completion and progress
- My short term goals were too big and too demanding
Action Items
I don’t know when or if I will return to developing GeekStack. It has been nice to live without the anxiety of a big project hanging over my head. I’ve spent more time with my wife and kids and been more focused at work. I also really love the place I work now and I’m getting tons out of my time there. I have been improving our money situation in slower, steadier ways than looking for a big startup outcome.
On the other hand, I love the idea of GeekStack and I still have a huge desire to improve the way society views creative, productive people. I think the business idea is still sound and sustainable. And the siren call of solving “the money problem” is still appealing. So GeekStack is not dead dead, more like encased in carbonite.
If and when I start on GeekStack again, here are things I promise to do:
- Find a partner/cofounder to share the work with, or at least a Mastermind type group that can keep me accountable for progress
- Spend more time on task decomposition and prioritization, making sure that I do the most important things in order and that I have weekly-ish deliverables to keep visible progress and internal motivation high
- Get other people (customers, playtesters, etc) involved as soon and as frequently as possible, even if it’s in a more limited way than I hoped for.
I hope you’ve enjoyed this journey. It was an expensive and roundabout way for me to learn lessons about my own psychology, but that’s a heck of a lot better than failing under a delusion.
—-
Got a similar experience or concern? Need a shoulder to cry on? Email me (my personal email) at peter @ pchristensen . com
Comments
7 Responses to “GeekStack Postmortem”
Leave a Reply



August 19th, 2011 @ 2:37 pm
Hi Peter, Firstly I am sorry about how it went with your startup. Even if you did not get what you had hoped for from the startup, but I think you agre that this experience is invaluable. Thanks for sharing it in such details. I am a programmer/entrepreneur and started working on my software product (alone) just a couple of months back and I cannot tell you how important this blog post is for me. Yeah, I have read all about Lean startup approach and going for MVP but only after customer development and all that but when you actually start working on it, things dont necessarily go as planned. I find myself focusing too much on things that dont matter a whole lot sometimes and I really need to work hard on that. I really appreciate you taking time and sharing this. This is my first time on your blog but I will be a regular visitor now.. Hope you get a good break from all the craziness and charge up your batteries for another shot at “changing the world”
Good Luck..
August 19th, 2011 @ 3:21 pm
Being a science geek, I thought GeekStack was a great idea when I heard you talk about it on This Week in Startups. I hope you get the chance to revisit the concept in the not too distant future… seems like there’s some “there” there, if you know what I mean. Worthwhile.
August 19th, 2011 @ 5:29 pm
Peter – sorry to hear about GeekStack – but this was a great look back.
August 19th, 2011 @ 5:48 pm
Peter,
Kudos on having the guts to call it quits (or encasing it in carbonite) . And more kudos for taking the time to take a good long retrospective look at the whole thing – good and bad. If more people did this, the human race in general would repeat fewer mistakes.
Blessings on you and your family.
August 19th, 2011 @ 6:31 pm
Waterfall will be the death of us all.
August 20th, 2011 @ 5:47 pm
Hi Peter,
Your story is like my own. I’ve thought of launching a startup for a long time and eventually set out to do it. I even managed to get a part-time work schedule so that I could spend some time moving my ideas forward.
I bought tons of books and learned tons of things (that I promptly forgot). The key to learning anything is to learn it just as you’re doing the thing which necessitates the knowledge–call it just-in-time learning if you will.
I also reasearch all the best libraries/tools/databases. I made lots of mistakes along the way and had many false starts where I took an idea pretty far until I ran into issues with my own design. Here’s the thing: perfectionism kills ideas. You have to learn to settle for “good enough” at least for a time. Don’t worry if you’ve chosen the most ideal language. Pick one you know and make it work. I’m not saying there isn’t value to researching things and making good choices, just that you need to use some sense with how much time you allow yourself to go down some rabbit hole.
I hate to read a story like yours mainly because it reminds me of myself. I made the mistake of telling my friends I was trying to launch my own business. (I once read that it’s wise to broadcast your goals because it makes you accountable, but I now think this is nonsense.) The thing is we’re learning creatures. And sometimes the things that sound good now don’t sound so good later. You need time to figure things out. Imagine how stupid you’d look if you told your friends everytime you dated some new girl that she was the one. Yeah, you’re head over heals in the first month, but you don’t know what you’ve got until you’ve been in it for a while. Same thing with an idea or a goal. Sometimes you have to walk a path to learn if it’s the right path. There’s no shame in opting out. It’s a worse shame to stick to something that’s not a right fit just because you told everyone you were gonna do it.
The thing that bothers me nowadays is that my friends and their wives still ask me “how’s your website going?” but they almost ask it with a hint of ridicule (at least I perceive it that way). I’m still working on my project and now, finally, I can say I’m making great progress and things are looking up. But I had to make it through a lot of ditches and restarts to get to where I am. I still over-engineer and try to accomplish far more than I should, but I’m learning that you have to get to version 1 faster even if things aren’t perfect, even if your technologies are less than ideal. (Read Eric Ries)
http://www.startuplessonslearned.com/
http://vimeo.com/7849753 (this is wisdom)
Anyway, I could go on, but I just want to encourage you. If you’re heart is still in it all, make some progress little by little — that’s fine.
http://www.charlesthorntonblog.com/post/The-Ant-Principle.aspx
For me, I absolutely have to finish my concept and deliver a product. I feel I have something good to offer. I also don’t want my past energies to be in vain. That would be like a wasted 2 years of my life. I won’t settle for that.
I don’t know if you have a picture of what it would take to get to v1 in the absolute shortest possible time, but if you do, that’s the route I’d take.
Ultimately, only you can decide if you want to move forward on this. I’m sure you’re thinking of your family as I know an endeavor like this it a huge time sink. I’ve also gotten to the point where my work is actually my recreation. I feel great when I work on my project. I love the work and I love seeing the progress (in whatever increment). It’s like my hobby. So instead of wasting my time on video games or other pastimes with no returns, I put my energies into creating. I’m still not finished, but I am being diligent and I mean to finish hell or high water.
All the best. I hate for you to miss out on your dream.
August 31st, 2011 @ 7:51 am
Peter,
I have been listening to some old TWIST shows and just came across the one where you called in to show Jason your first card. Then I came here to the blog, and saw this. I am frankly shocked. Everything seemed so positive two years ago.
I was involved with a startup that was trying to get into social networking, and it ended up breaking up partially over money – they spent all their runway and barely had the MVP they hoped for. The interesting thing is, when you talk to the founder, you find out that getting other people involved and letting them have influence over his idea (scope creep) was one of the big mistakes of that project early on.
In your case, it sounds like a bit of the opposite – you started with a grand vision, where my friend’s bloated project came from lots of blue sky thinking. I kept trying to tell my friend to just launch one of the seven features on the roadmap, but by the time I got involved, they already felt like they had invested too much to reboot the project.
For your project, (at least what little I know of it) it seems like you could just launch the cards piece without the online play, or maybe some “lite” version of the online game, that still achieves the mission of exposing kids to science and tech. I think you have to think about the mission, and what you could do to achieve the mission. Sometimes, that’s nothing like what you started with.
My friend and I are now involved in a very different project that was ruled by some strong egos in the beginning, but now we are less burdened by their influence and getting the project back on track by revisiting what the founder’s original vision was. I’ll be so relieved when we finally flip the switch and adopt the new model, because it will be so much easier to just explain the concept to someone on the street.
I hope for you that you can re-evaluate your mission after you’ve had some time to reflect, and continue in your noble and necessary quest.
Last but not least, I’m not one to talk. While I have lots of ideas, I have not turned more than one of them into something that puts food on my plate, and even that one is debatable. Please don’t think that I meant any ill. I came here looking for an update to your story, and found out I was a few days too late.