

The well of lost ideas →
Did you invent it? Did you come up with it? Did you start it? Really?
Then where is it? Show it to me.
You can’t can you? Because that’s all you did. You thought, you talked, and you dreamed. These are all good things, all very, very important things but you forgot the most important step.
You…

Everything I Ever Did at LivingSocial  Part 1
This past weekend I had the good fortune to spend a few hours with Trevor, a good friend and former intern at LivingSocial. He came to SF with his girlfriend and promised her we’d keep startup talk to a minimum; we had completely broken that commitment half way into our first beer at the Tempest.
Trevor started rattling off a list of things he learned while working at LivingSocial and he wasn’t far through it before I realized that I had forgotten a good percentage of the stuff he mentioned. In hindsight, LivingSocial is a blur; when so much activity is compressed into such a short space, it’s hard to recall all of the details.
Someone suggested to me that I write down all the lessons I learned at LS before leaving. I haven’t done that yet, but I figure a good place to start is to just write down everything I did in each of the roles I held. So, without further ado, here is everything I did in three years at LivingSocial. I’m going to divide this into three separate posts, as there is a lot more to share here than I can write (or anyone would like to read) in one sitting.
Act One  Business Analyst
Jake Maas and Wagish Bhartiya hired me to be the first Business Analyst at LivingSocial. At that point, the company was under thirty people in DC, selling deals in fewer than eight markets, and Jake M headed up both the business development and finance functions of the company. Here are some of the cool things I got to do working for him:
with Maas’s guidance I built a ‘Key Metrics’ spreadsheet that aggregated data from across the company to provide executives a snapshot of overall health. From April 2010 on, the senior team had a document that tracked marketing spend, efficiency, revenues, email click through rates, deals signed and run, etc. That set of KPIs was the dashboard that the executive team used to run the business and, as far as I know, it still is today.
After not too long, Jake M. and I built up a rapport such that he could hand off a problem to me and trust that a) I would solve it and b) I’d surface any important decisions to him. That led to a whole class of fun projects:
 Problem: We had markets ready to go live in Canada and the UK but no viable solution for accepting payment from customers. We were paying out salaries, but couldn’t generate any cash. Solution: I called every major global payment processor and, after settling on Braintree and Chase PaymentTech, managed to get the UK and Canada online in < 3 weeks. Later on, we switched all of our business over to Chase as the service provided substantial savings compared to our previous provider.
 Problem: We needed to figure out how to compensate our sales reps. At first we tried just giving them revenue targets but that didn’t work; our email lists were growing so fast that reps would murder their targets one month and then miss them by a mile the next. Solution: I setup and modeled out the comp plan that we used for all sales. Before we hired a team of people to do this, I was individually responsible for calcing and managing commissions for a 200+ person team with quarterly payouts exceeding the $5MM mark.
 Problem: Sales for our legacy FB apps had fallen off a cliff out of sheer neglect on our part. Everyone was focused on Deals, although we knew there was meaningful revenue potential in publisher sales for Visual Bookshelf. Solution: I started selling ad placements to publishers and authors whenever I got a free moment. A little attention to inbound leads yielded >$75K in sales over a three month window, before Deals got so hot that we sunset VB for good.
I spent a huge amount of time just running numbers on the company and providing analyses that ultimately went into Board materials and investor diligence requests. Want to know comparative performance in Chicago vs. New York? What about the individual capital outlay / payback period for every city in North America? Those are all questions I helped answer. One week in particular I got swamped with data requests  they wanted everything from marketlevel P&Ls to marketing efficiency by channel by city. At the time, I had no idea where it was going although a month later, after we closed a $175MM round led by Amazon, I had a pretty good idea.
Next up, Manager  Market Strategy…

57 startup lessons →
A pretty impressive list to help guide your startup towards success.

Euler Problem 16 in JavaScript
One of my favorite things about Hack Reactor is that every day starts with a technical problem. Within the school, we refer to these problems as ‘toy problems.’
Since graduation, I’ve been devoting a few minutes every day to working through a comprehensive set of toy problems available at project euler. Over the weekend I encountered problem 16 and found it to be particularly interesting.
As it turns out, math, in JavaScript, is weird. Take, for instance, the following code:
var sum = 0; for(var i = 0; i < 100; i++){ sum += 1/100 }
So, after running that code, what might
sum === 1
evaluate to?I kid you not, it is false.
sum
is equal to1.0000000000000007
.In trying to solve euler 16 (sum all digits in 2^1000) I similarly assumed that JavaScript would be free of quirks. In my initial attempt, I thought I could simply raise two to the thousandth power, convert it to a string, and then loop through each character and it to a sum. Easy, right?
Unfortunately, that didn’t work. The following code:
Math.pow(2,100)+''
yields'1.0715086071862673e+301'
. This is not anywhere near an exact representation of 2^1000. The precise value is:10715086071862673209484250490600018105614048117055336074437 50388370351051124936122493198378815695858127594672917553146 82518714528569231404359845775746985748039345677748242309854 21074605062371141877954182153046474983581941267398767559165 54394607706291457119647768654216766042983165262438683720566 8069376.
To get around the precision hurdle I found the largest power of two that Chrome represents without using scientific notation. Aha! If I just punch in
Math.pow(2,69)
that yields590295810358705700000
. Solution found; now that I have the precise representation I can just multiply each place by 2 until I raise the exponent from 69 to 1000. Wrong. 2^69 isn’t590295810358705700000
; it’s really590295810358705651712
.The real solution, as it turns out, is a rather mundane one; you just set up an array of integers and perform sequential arithmetic operations on those integers (multiplying by two, specifically) 999 times.
The sum of all digits that comprise 2^1000 is 1366. The full solution is available on github. Toy problem accomplished. JavaScript arithmetic lessons learned.

The Man Who Thinks He can
Whether You Think You Can Or You Can’t… You’re Probably Right. If you think you’re beaten, you are; If you think that you dare not, you don’t; If you’d like to win, but think you can’t, It’s almost certain you won’t.
If you think you’ll lose, you’ve lost; For out in the world you’ll find Success begins with a fellows will. It’s all in the state of mind.
If you think you are outclassed, you are; You’ve got to think high to rise; You’ve got to be sure of yourself before You can ever win a prize.
Life’s battles don’t always go To the stronger or faster man; But sooner or later the man who wins Is the man who thinks he can.
—Author unknown