Running over 300 miles taught me a lesson I thought I’d learned

I was an early(ish) adopter of CrossFit. I did the whole thing pretty seriously from 2006 – 2010. Greg Glassman, the founder of CrossFit, said something that really stuck with me, “Set a low trajectory on the horizon, or gravity will fix it for you.”

He means that you have to seek incremental improvements. This isn’t terribly different from Bill Gates’s “We often overestimate what we can do in a year, and underestimate what we can do in ten.”

We return, it seems, even to the rabbit and the hare.

I quoted Glassman dozens of times. To my wife. To friends. To players on my team. I felt as though I had really internalized the lesson. I encouraged caution in others when starting new things. I pushed for realistic goals over idealistic goals.

Looking back, I never really grokked what Glassman said. I had seen it. I had touched it. I had even used it and pushed it on others, but I did not have the perspective to master the idea and make it my own.

If you’ve read some recent posts, you likely understand that I’ve begun a journey with running. That continued in 2019. I ran hundreds of miles from Spring to Fall. I generally followed the ideas laid out in The New Alpinism and The Uphill Athlete.

I started running because endurance sports are sports that you can improve at with age and because they enable me to be better at the outdoor recreation that I enjoy the most. The hard part for me, an Enneagram 8, to get started with endurance running is to run slow and far day after day for weeks. My anaerobic energy systems were so dominant after years of CrossFit style intensity that it took weeks or months to bring my aerobic system into play.

The painstaking and seemingly interminable process made me realize how poorly I’ve gone about so many of my own goals. I should have been running slow for weeks at all of them. This is as true of my financial planning and investment ambitions as it is of my strength in meditation. I should’ve had the same outlook at the outset that I’d need 2-3 years to get to the level I wanted to be at now.

I should allow and encourage the people I work with, live with, and love to make progress in the same way. I should expect the same sort of potential and progress from my local and national institutions. If not, I should expect gravity to fix it.

Time budgets and the impersonal irrelevance of apparent success

In a turn of events that will surprise no one, I use a lot of spreadsheets. Google Sheets tend to be my jam because I don’t have a personal copy of Excel and they’re easy to share. If you’re surprised by my overuse of something boring – please don’t request or look at my reading list. In any case, I find that over the long haul I have coalesced around using these sheets to do dozens of things from sharing a budget template, tracking weight, tracking workouts, creating a sharable backpacking checklist, to predicting future events for decision making.

Goals and spreadsheets

It’s easy to understand why you might pair a goal and a spreadsheet. Anyone who’s looked at SMART goals will understand that you need goals you can measure so you can track progress and understand the progress. Spreadsheets are a great place to compare measurements with goals and track milestones towards greater goals.

The failure modes of goals and spreadsheets

Spreadsheets and goals paired with humans – or at least, this human – are also a fertile ground for a multitude of failure modes. The most tragic such failure mode is the one where you simply have no plans beyond reaching a goal and at this stage you launch yourself into the unknown. This unknown is often the dietary equivalent of Halloween candy binge.

There are too many failure modes to count, but I have a couple more fun examples before we attack the larger scope of my issue with spreadsheets and goals.

The Divide and Conquer failure

The best way to get something done is to work backwards from the goal and divide it into very small, very manageable tasks that require minimal context to execute. The work backwards strategy is timeless, proven, lovable, and sometimes forgotten.

Worse than forgotten, however, is the failure to divide and conquer enough. This is my MO. Present-time me makes tasks that seem perfectly sized and contextualized for future me. Present-time me is unfailingly drunk and spiteful towards future me. Future me realizes this fact when seeing “bite size” tasks like “create website.”

Execution on the divide and conquer front is key, and it can derail you either in the doing or in the failure to D&C properly.

The Overambitious failure

This has little to do with spreadsheets conceptually. It is simply my own tendency to squint at a goal or a progression, grunt, and double it because success.

The reason I posit this one as a failure of spreadsheets and goals together is that spreadsheets exist in a virtual reality of the (perhaps not so) distant future. You don’t always have to reconcile that “create website” task with what it actually takes to achieve it. You don’t have to square Q4 revenue figures three years down the road with the miserable grind between here and there.

The problem with overambitious goals for me is that I tend to get disheartened by that failure to achieve and punt entirely. Or, in another iteration of the same result, I don’t spend the time to plot a new course in the face of impossible odds and my failure to plan results in total collapse. To be fair, in my vernacular here, “total collapse” means I ignore this goal and move on.

The Spreadsheet Frontal Assault failure

There are a couple ideas in battlefield strategy that can seem to be impossible to balance. The first is that you must concentrate your force at the decisive point (moment, battle, meeting, etc.) The second is that you really shouldn’t assault a fixed position designed to defend against you. Concentrating your force in a decisive battle is good, but storming the castle wall is often poor strategy.

I fail a lot on passive barriers. Embarrassingly often.

The Spreadsheet Frontal Assault is a drive into enemy territory where you devote so much ambition and scope to the spreadsheet that you inevitably get bogged down by the meta effort of the spreadsheet. You feel that you have almost solved for the goal with raw VLOOKUP prowess and functions about which mere mortal have scarely heard whispers and then…you didn’t finish that sheet and the goal lays unconsidered for a long winter.

Don’t storm the spreadsheet castle. Storm the Ardennes.

Budgeting the wrong currency

But really. Those are all reasonable failures. They’re fine. You can grow from them. You can still reach your goals.

The problem I have in recent years with spreadsheets is that they don’t have scoring systems built in for the things that really matter in life. Look, I’m not here to preach any philosophy to you, in fact I think you’d be better served to read Derek Sivers, take them all apart in sequence, and ponder that a while if you never have. (It’s not a perfect treatment, but it should get you thinking.)

Philosophy generally out of the way, I will proceed to say that ultimately you have to pick some thing to optimize.

You might pick time. You might pick family. You might pick dollars. Sure. Fine.

Whatever you pick, your actual life will be far more complicated and your choices will be entirely unrepresented in your spreadsheet goals. Unless you choose The Spreadsheet Frontal Assault path. In which case, I bid you a temporary congratulations on your apparent success.

This is a glimmer of the idea that All Models Are Wrong but some are useful.

Let’s look at an example.

Budgeting for time

In my twenties, I decided I was about time. That was my value. I did the ol’ work backwards from an end goal and build up the life you want exercise.

My goal at the time was to walk my daughter to kindergarten and have nowhere in particular to be after. I wanted the time freedom over my days.

I built a bunch of subgoals to get to this one. They were mostly focused on money. Money translated to time freedom in some unknown sequence of arbitrage.

I achieved this goal, but not through the subgoal that I thought was the key. I didn’t do it through working for myself or making a 10x fortune. In fact, had I followed some common advice to burn the ships in pursuit of the goal I think I would’ve failed entirely with serious personal consequences. I wasn’t prepared for the challenges on that path at that time.

Is achieving something not according to plan a success?

It’s both. I’ve found as others have that focusing on something has a tendency to produce results even when they don’t arrive as anticipated. The failure comes when we fail to learn from the unexpected route success took to our door.

The impersonal irrelevance of apparent success

I remember my parents offering me a solemn and earnest congratulations at my high school graduation. My response was disdainful. High School to me was no achievement at all and it connected to precisely none of my goals.

My failure in conception of my time goals and my pursuit of them was a clear lack of value placed in the journey itself. I didn’t care about anything between A and B. I only wanted B. And that, I know deep down, is Thanos level inevitable failure.

The successes I’ve landed in life, the things people compliment me on most are often the things I regard least. Things that connect to precisely none of my goals. Things that I once regarded as my goals. And that is the impersonal irrelevance of apparent success to me. When your accomplished goals no longer matter – as my completed goals rarely seem to – the only thing that does is the journey to them.

Build your spreadsheets. Chase the goals. Learn from them.

Pick ends with the journey in mind. Learn from Annie Dillard.

Life isn’t a scorecard. It’s not about time freedom or dollars in the bank. Square those goals with stacking up days well lived.

Seasonal systems, scoping, and incremental improvement

I’ve tried “becoming” a runner for years. The main reason isn’t because I like running. I despise every stride. Exercise, however, feels good and is tremendously beneficial. Not just that, but the hardest thing to get past for me are usually passive barriers. What workout should I do today? Tomorrow? Do I have that equipment? Do I have to drive to the gym? Where are my shorts?

Laying out my shoes and shorts, having a known distance, and a planned route to run makes the easiest and cheapest possible solution to those passive barriers. It’s the easiest workout routine to sort of do. There’s a lot of good wisdom in that for overcoming obstacles and picking say — a market.

Last year a friend of mine challenged me to an actual running goal. A sub-20:00 5k race time. I had an unofficial 19:06 on a semi-accurate flat course in Manhattan in 2008. It was the best overall shape I was ever in and I was surrounded by other people also running that I could mentally compete against. 20:00 was about 9 minutes faster than I could have run the distance when he mentioned it. It was going to take months to prepare and I’d need a real plan to get there. No more random runs on any given day. I needed to lock in to get there.

I found 5k running plans and 10k running plans. I planned 5-6 months of running and pace targets in a spreadsheet and tracked runs 4-6 days a week as I ramped up. I ran sprints, intervals, hills, mountains, trails, and road miles. I ran a 21:40 5k time with severe knee soreness. That was my best time in years and it was the most serious I had ever been about improving my running in my life, but I failed the goal.

I couldn’t run for 4-6 weeks after the race because I had trained running uphill too hard and developed some significant tendonitis in my right knee. It took me 4-5 months to get serious about running again, but I continued doing other workouts.

My next adventure in running started about six months ago and I think this season has come to an end. I’m looking forward to other goals, workouts, and activities. I’ve been learning to snowboard the past two winters and it makes my preferred style of vertical targeted trail running too hard on the knees.

In the past I would’ve felt like this was a failure, but this time around I was running 5k distances easily. I was putting in 20-25 miles a week with 8-10 mile long runs. I was in much better running shape than the season before and with less stress on my knees until snowboarding ramped up.

This is the crux of the seasonal system. It’s okay (it’s great actually) to do something for 6-16 weeks, bank some real improvement and return to it when you’re stoked to do so.

Doing everything whole hog all the time is exhausting and wastes a lot more motion without the return. I feel the same way about budgeting and financial habits. You can budget hard for shorter periods and bank improvement without tracking everything all the time. Hey, if tracking everything all the time is fun and easy for you then it’s great, but if you feel guilt ridden and like a failure for falling off that wagon — just make it a seasonal system plan. Do a 10 week budget sprint.

Another thing you can do is scope the system. Running is a specific activity goal like snowboarding. Those get naturally scoped for me by how much wear and tear I can put on my knees. Scoping budgeting can also be done. You can explicitly manage only discretionary spending categories like shopping, movies, dates, drinks, or restaurants. Most budget templates or budget calculators can help you get started and scoping to maximum efficiency. It’s a lot less work to only track those receipts, and any system you can stick to is better than nothing. Zero based budgeting everything is the granddaddy of the process, but it might be more efficient for you to focus your efforts on your worst financial habits.

Try on some scoped or seasonal systems this year. I bet you wake up next year just a little bit improved.

“There is nothing noble in being superior to your fellow man; true nobility is being superior to your former self.” — Hemingway

Starting with why, B corps, and ceilings

String Lake, Grand Teton National Park

I recently happened upon Simon Sinek’s Start With Why TED talk while I was reading Alex Turnbull and Groove’s excellent startup blog. If you haven’t seen the talk it is a very worthy 18m and this post won’t do much for you without the context.

It took me very little time to get into the talk and reflecting on my own collection of whys. I’d like to summarize what it means for me as I write this.

I’ve built at least three products with a focus and a basecamp setup in the swamps of What. It’s so much more work to communicate why someone should purchase from you in particular and to build trust when you start with making a thing that solves a problem.

I have an awesome new widget. It’s better than ABC Co.’s widget because it has X and Y. It’s also Z times bigger/smaller/faster/easier-to-use.

These claims are not credible on the face of them even if they are true. This is a big reason why testimonials and guarantees are so crucial for most smaller businesses. Often, as a marketer, I hardly believe myself in writing them.

Mr. Sinek’s talk encourages the How portion of your work to be driven by why instead of what. You don’t make a differentiated widget. You believe something about the world. People that believe what you believe should do business with you. This makes a tremendous amount of sense to me and it rings true emotionally.

I am an avid outdoorsman and I like to do business with Patagonia because I share the belief in the power and value of open wild places. I would rather pay more to do business with them because I know how they treat their employees and how they vet their suppliers.

Reading more about these ideas led me to B corps. I stumbled on an open letter by Ian Martin in reference to his decision that their company embrace this movement of harnessing business to do good for people, profit, and the environment. This meant a lot to me and I want to join the B corp movement with my next foray into business.

I think doing right by the environment and the people who work for you resonates deeply with my own sense of purpose. I’m utterly happy to project meaning and purpose where perhaps there is none.

I’ve long struggled with the products I’ve started as not really making much of a difference in the world. I thought myself too shallow to step away from tech and the lifestyle toward something that looks like non-profit work. I have family engaged in that work and I think I have some feel for it, but I have a different vision of what I want my life to look like.

This feels not only like a better path for my convictions, but also for my community and the environment. I’m still fashioning a coherent articulation of my own why for my currently in the shadows project, but I know that this absolutely connects to it. I think having a why and a conviction about what we’re doing will materially impact the ceiling for where the business can go and the chances for success.

The B corp piece isn’t a complete why in my mind. The product and the customers deserve to be included in there as well. I’m excited to pen the piece that outlines our B corp assessment and the details of our commitments and I hope that you will join the movement. Let’s make things better one small moment at a time.


Adventures with awk and big data

It took me a long time to appreciate the brilliance of the way command line tools on Unix fit together, but one tool that will hasten that appreciation for anyone is awk. My first use of awk, some years ago, was to find and terminate process ids.

You might use `ps aux` to see the list of running processes.

root         1  0.0  0.0   3780  2032 ?        Ss   Mar13   1:24 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Mar13   0:01 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Mar13   4:23 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S    Mar13   0:00 [kworker/0:0]
root         5  0.0  0.0      0     0 ?        S<   Mar13   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    Mar13   0:00 [kworker/u:0]
root         7  0.0  0.0      0     0 ?        S<   Mar13   0:00 [kworker/u:0H]
root         8  0.0  0.0      0     0 ?        S    Mar13   0:06 [migration/0]
root         9  0.0  0.0      0     0 ?        S    Mar13   0:00 [rcu_bh]

If you pipe the result to grep you might isolate the ones with ‘kworker’ in the name.

$ ps aux | grep 'kworker'

root         4  0.0  0.0      0     0 ?        S    Mar13   0:00 [kworker/0:0]
root         5  0.0  0.0      0     0 ?        S<   Mar13   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    Mar13   0:00 [kworker/u:0]
root         7  0.0  0.0      0     0 ?        S<   Mar13   0:00 [kworker/u:0H]

Then you’d want the PID for each of them, but it’s just a column and you need to run `kill 4` and so on. This is where awk can be magical.

$ ps aux | grep 'kworker' | awk '{ print $2 }'


Now we have the PIDs we need and we can pass them to kill using xargs. Some commands are finicky about xargs and you could opt for a simple inline Unix for loop.

$ ps aux | grep 'kworker' | awk '{ print $2 }' | xargs kill

Awk is killer at manipulating columnar text data and we can also output the information in formats other than one thing per line. The separator in configurable.

$ ps aux | grep 'kworker' | awk '{ print $2 }' ORS=','

This whole post actually belies the nature of awk. It’s a complete language unto itself. We could sum the PIDs.

$ ps aux | grep 'kworker' | awk '{ sum += $2 } END { print sum }' 

We can skip the first line. Say we wanted a sum of ALL running PIDs for example:

$ ps aux | awk 'NR > 1 { sum += $2 } END { print sum }' 

There we used NR (I think this is ‘natural rank’ or row number) to only pay attention to rows after the initial titles. We can also select one such row specifically:

$ ps aux | awk 'NR==1 { print $2 }'

I’m still adding tricks to my knowledge of awk, but combining it with sed, wc, redis-cli, and grep lends tremendous power in working with large datasets.

SQL inserts from file failed at unknown point…what do I do?

I was running a nicely pieced together sql text file filled with INSERTs we’ll call ‘something.sql’ recently in a screen session. Unfortunately, when I reconnected much later my data import had failed at some unknown point without an error. Sigh.

Terminal Import I could see that many of the hundreds of thousands of rows had been imported, but how many? I needed to know where to restart the import and I did not want to delete all that data to restart it. That would be its own difficult reclamation project because I already had another import going.

Let’s pretend that I was importing comments for blog posts. The posts were all in the database already. So, how do you know where your import failed? I started with a guess.


I knew that another import on the same VM ran for about 5 hours before it completed and I was able to guesstimate that around 300,000 of the rows were probably inserted. The next steps composed a manual binary search. First, I wanted to know an upper bound on my search space.

awk ‘NR==300000 { print }’ something.sql

This shows me the 300,000th INSERT statement. It has an id I can use to check the database.

SELECT count(*) FROM comments WHERE  comments.post_id = <ID>

> 0

We now know that none of the comments for that post made it in and that we’re looking for some point earlier in the file. I decided to limit my search space.

head -n 300000 something.sql > 300k.txt

This creates a separate file with only the first 300k lines or INSERT statements. Now we can binary search, but with a little guess work. I’m fairly sure at least 200,000 made it in and I can test that assumption. I’ll reuse awk to show me the Nth line of the file.

awk ‘NR==200000 { print }’ something.sql

Turns out, that INSERT did make it in. Next up was checking line 245,000. It’s not there.

222, 000 is there. 233,000 is not. I kept on like this until I found a post that had 111 entries in the database. Was 111 the right number? We can grep the lines of the file for the post id and count the matches using wc.

cat 300k.txt | grep ‘<POST-ID>’ | wc -l

> 467

Now I know that it failed somewhere in those 467 INSERTS, but I don’t know where in the list I’m pointing to. I could be at any of those 467 INSERTs. I needed to know the line number of the first one in the file. Print out the line number of the first match for me, awk.

awk ‘/POST-ID/{ print NR; exit }’ 300k.txt

> 222,137

It failed between 222,137 and 222,604 (467 later). In fact, we know there were 111 INSERTs for that post so we’re pretty sure it failed on (222,137+111=) 222,248. We can verify with a few SQL queries similar to the one above and by verifying the comments we expect are present or not. Lastly, we need to restart that import:

tail -n +222,248 something.sql > missing.sql

psql -f missing.sql

tail helped us keep only the last lines we wanted and psql is off and running.

And that is that. It took two guesses, about 10 spot checks, and a few simple SQL queries to save hours.

MicroConf 2012

It was a great event. If you want to learn more about bootstrapping a business or meet people trying to do so, there is no better place to go. Thanks to Mike and Rob.  I’ll try to summarize the key ideas that resonated for me after listening to the speakers and chatting with numerous other entrepreneurs at the conference.


Jason Cohen gave the lead off talk and he spoke about how honesty can make you more money. It was a really good exploration of truth in marketing and support. It seemed to spawn a majority of the initial discussions for the rest of the conference. Did he mean complete honesty? Were there exceptions? Who would actually do it? I think he makes a convincing argument for using honesty as an advantage. Especially where it can grant you credibility. Admit something negative to lend credence to your positives.

Customers, Customers, Customers: Who are they?

Hiten Shah was the first to ask this question. Who are your customers? How much do you know about them? What problems do they have? What keeps them up at night? Who do they buy from? What do they pay? Who are their competitors? Who are their customers? Hiten emphasized again this year that speed of customer learning will determine your success.

Where are they?

This came up in a lot of talks. Hiten was first, but Amy Hoy, Patrick McKenzie, and Dan Martell definitely all discussed it. Find them online and off. Learn from them. Build channels to educate and sell to them. Or…


Find “Other People’s Networks” to leverage. YouTube, iTunes, Twitter, Quora, Forums, etc. Discover where your customers hangout and be there.

Actions as Data

Your customer’s actions speak more loudly than their words. Spend time observing their actions with your product, but also with each other. You should absolutely use customer development interviews, but understand that no matter the methodology: people will lie or unknowingly misrepresent answers to these questions as often as not. This is borne out by research. Collect all the hard data you can.

Failure Required

There were moments in quite a few talks where the speakers talked about a failure or riding a roller coaster of emotions on the entrepreneurial trip. It isn’t always fun or fulfilling. You’re never sure about the next move. Each time things don’t work you are reminded of the opportunity to give up. Failure and experience are the best teachers. You can learn to accept failing as part of the process. In this business, your success depends upon frequent failure.

Revenue or Cost

Improve revenue or cut costs for your customer. Build your messaging around the benefits of your product that do this.

Process and Systems

I enjoyed this theme the most. It is best summarized by a quote that Patrick McKenzie shared:

A job is a system that turns time into money. A business is a system that turns systems into money.

Mike Taber spoke about it at length as well. Peldi and Bill Bither both mentioned using the best development talent they had to work on business systems and not the product. Sarah Hatter talked about systems for interacting with customers to deliver great support. Automate things. Improve the experience. Use checklists. Use metrics. Build visual dashboards. Prioritize problems. Document your process. The quality of your systems will distinguish your from your competition.


Patrick McKenzie and Sarah Hatter addressed this directly in their talks. Patrick mentioned a Japanese word that means ‘an awareness of the impermanence of things’ in reference to work and money. He wanted everyone to make sure they spent time on the things in life that bring them meaning and the things that last. There was a running joke for the speakers to include a picture of their kids that connected up strongly here. These people have real lives. Sarah said (paraphrasing) that you shouldn’t take business advice given by people that don’t have a life. I think that is wise.


The talks were all excellent this year. The speakers were extremely accessible and engaging. The attendee quality was very high. The venue improved. I’d say I’ll see you at MicroConf 2013, but I’m concerned it will sell out too fast to guarantee.

Relationships, Transactions, and Pricing

Recently, Jason Cohen featured two blog posts about pricing. Sacha Greif talked about how his research and thinking yielded a low price with high volume approach. Jarrod Drysdale rebutted with a tale of a high price and low volume strategy where he made more money. Amy Hoy got involved in the discussion both on HN and Jason’s  blog. She and Jarrod championed the high price model. It’s a good model. And she is correct in her assertion that higher prices make it more likely that you can continue to provide an exceptional service level to each customer. Sacha maintained that you could make money and address a wider audience with a lower price.

I recently read Bargaining for Advantage and it’s got me thinking about how to view these decisions in life and in business. There is a section in the book that outlines several types of situations where people engage in bargaining. One of the key factors in how he suggests you should bargain is based on whether or not you expect to have a continued relationship with the other party or if it is simply a transaction levitra generika preis. Groceries are usually a transaction. Even most cars and houses, but most business interactions are best viewed as a relationship.

Relationships mean that you might not bargain as hard and you’d let the people on the other side of the table know it. Relationships mean creating more value than you capture. Relationships mean understanding the other side of the table and what goals they have not only for this deal, but also in life. Relationships are what build careers, reputations, and (I think often) wealth.

It’s easy to see most decisions, moments, and interactions in life as transactions. Walking by someone who drops things in the park. Seeing a neighbor struggling to load a truck. Passing by a forum post or email with a question you can answer. These aren’t transactions in a business sense, but even in helping out you can treat it like the beginning of a relationship or a momentary hassle. Relationships don’t scale. They can’t. And that is why they’re special.

In the end, I think there’s more than one way to skin a cat. Amy’s method allows you freedom to pour a lot of attention into a faithful few. I’m sure that can forge powerful relationships. Sacha’s method of selling for less is relational in a different way. I think people understand the value in his offering and it builds the bridge to start a relationship down the road across a wider audience (similar to Customer Perceived Value). You can’t always start with marriage and million dollar deals. Sometimes it helps to start slow. The level of “know, like, and trust” required to make a $3.99 sale is different than a $3,999.00 sale.

Ultimately, the approach to pricing depends on where you are and where you want to be.  The money won’t make you happy. Relationships can help with the money and the happiness. Pick the one that works for you.

How to be a Lean Startup Idea Assassin

I’m going to tell the story of a new product idea from conception to death. I know that my first year or two of trying to vet ideas was a scary process to navigate. I felt like I was in a race car with an opaque windscreen and a vague impression that I needed to turn, but I never knew which direction or when. The uncertainty still plagues me, but I have developed some processes to deal with it. I’ve also learned that it’s more like a bumper car than a race car in most scenarios. It might be embarrassing or below expectations to crash, but there is little chance it will be fatal. It is also quite common to crash and you never get going quite as fast as you’d like.

In September 2011 I created a small piece of code for a friend that allowed them to use Wufoo as a platform for graded quizzes. Before creating the project I investigated which form platforms had an API that I could leverage and as part of that I asked a few questions of someone at Wufoo support. I followed up with the completed project to the Wufoo contact in case it would interest them. That small thing allowed me to turn my README for the project into a blog post on the Wufoo blog.

The blog post generated some inbound interest, but I didn’t start taking the idea very seriously until some of the interest turned into consulting opportunities.  I figured a few consulting clients, a blog post, and some additional interest from the friend that started everything warranted more investigation. So, naturally, I made a few customer development phone calls to get more insight into people that wanted to solve this problem. I was able to isolate two interested segments: online education and marketing.

I was able to get a collection of people in marketing to be moderately interested, but it seemed like education was the real player. I spoke with about 25 people over and above the 10 or so that had already come my way. I got really excited at this point and started to move things forward on multiple fronts. The consulting deals were done in such a way that I could keep the code open sourced and use it for any purpose down the line. I knew that I had wasted time on the technical side before when I should’ve started with marketing so I jumped in on the marketing side.

Education Landing Page
The language and benefits were carefully extracted from many conversations, but I don’t think I’m good at this yet.

I created a landing page. I used my contacts in the market to generate ideas for benefits and features. I iterated on the design and content with some trusted friends and advisors in the startup space. I bought a domain, picked a name, and did some quick and dirty keyword research.

oDesk Costs
oDesk Contracting

I enlisted some outsourced marketing help on oDesk. I had people tracking down competitors, keywords, blogs, hangouts, and the best content online in this market. That set me back a few dollars, but I was excited about my marketing approach. I had a demo that included a graded quiz and captured email addresses! It was whiz bang cool. I started planning out the future and wrote a 10+ page marketing plan. I had paying clients and interested potential customers.

I decided to drive some traffic to the landing page to build a huge mailing list for my mega launch event. To drive traffic right away I turned to Facebook Ads where I figured I could effectively target young, web-savvy, educators. I also used BuySellAds paid tweets and I linked the landing page from my blog. I was banking on 10% conversion, but if it was a little lower I was willing to retarget and try some new things.

I managed to convert 0% of the traffic. I spoke with a few advisors about the idea and the process I had used in depth. Everyone agreed that there was something to the idea whether it was lead generation or a simplified Learning Management System (LMS), but we also all agreed that it wasn’t quite there. The idea wasn’t fully formed. The traffic wasn’t converting. The test didn’t succeed. I’m not great at copy or paid search ads. I do think these networks have tremendous value, but I did not connect on this idea.

Facebook Ads
My Facebook Ads
BSA Tweet Stats
My BuySellAds Paid Tweets


Landing Page Goals
What I wanted to see

I recently heard Noah Kagan speak and one of the best things in his talk was to set specific, challenging goals for tests and simply walk away when your expectations aren’t met. I walked away.

I was sad to see an idea that I was so emotionally attached to go by the wayside, but you can’t make emotional decisions about which product ideas are worth pursuit. You make data-driven business decisions after you talk to customers, do market research, and test the idea by exposure. This is not something I could have done a few years ago.

landing page stats
What I saw
landing page stats two
More of what I saw

I try to pursue things that will leave me better off when it’s all said and done whether it meets my loftiest ambitions or it crashes ignominiously. I think this project meets that criteria well. I got the blog post. I tested another idea in depth and I’m getting faster, more decisive, and (I hope) more effective at it. I learned some new tricks for marketing, I wrote a great marketing plan that I can use as a template, I experimented extensively with outsourcing, I worked from the market side first, and I solidified my process of vetting an idea.

I learned some great skills and a valuable lesson about getting too excited about an idea too early. I thought I already met that lesson, but here it is again.  I spent $150 or so, and I saved months or years of chasing an idea that I can’t sell online with my resources and contacts. This is a key distinction. Someone may be able to execute on this idea. Maybe my failure is more due to my lacking copy or SEM skills than the idea itself. Perhaps I missed the number one benefit. In any case, I gave it my best shot and I know that this one isn’t for me.