Hacker News new | past | comments | ask | show | jobs | submit login
Back Office Exposed: Bingo Card Creator (resultsjunkies.com)
274 points by paulsingh on July 30, 2010 | hide | past | web | favorite | 54 comments

For all those reading this thinking, man, I could never do this or be successful at my own business, follow his advice, JUST DO IT!

It isn't that hard, it is especially not that hard if you approach it like he did and grow very slowly and keep your costs down. I did the same thing with my best friend years ago, starting off while still having a job, then making a leap when things were slightly vetted.

Best decision of my life. I've travelled the world, set my own schedules, always worked on what I wanted to work on and had a far more interesting set of challenges than I would have staying coding at another startup.

The key is not to aim for the moon, aim to pay the bills. We reduced our expenses to $5k (pre tax) a month, then set that as our goal our first year. It was achievable, but more importantly we eventually grew to making far, far more than that. But I've still always kept my expenses low because I've always wanted the freedom to do what I wanted.

I'm now in Africa, doing a startup here because it is new and exciting and satisfies my need to do good. Never would have been here if I had stayed at the day job.


Actually, I found patio11's background to be generally pretty average and unexceptional - I was thinking "if he can do it, anyone can".

(no offense intended to patio11:)

None taken. I agree with "anyone can do this", with the proviso that it really helps if you can do at least one kind of programming and enjoy learning things.

Never give up, never surrender!

Ah, but if you met him - - - you might think a little differently.

Although, the number of people that I know that learned Japanese in America is, like, two. I would say that makes him exceptional in that regard.

What are doing in Africa? I'd love to talk to you about it sometime. I'm doing some work there as well construction/water&waste mgmt. We'll soon make some very early stage efforts to enter the energy industry as well. See my profile for contact info.

I'm starting a software company, primarily focusing on SMS based data collection systems.

See this blog post for the whole story of how I got here: http://blog.nyaruka.com/18178694

should also see txtGate http://github.com/niryariv/txtgate for a good model of turning a single device into an sms gateway and data collection device. Good luck, keep us updated.

I should mention I first saw txtGate here on HN because the developer is a member. More of a proof of concept than anything else, but a great idea.

Thank you.

While this was going on, their copy of Bingo Card Creator has been relentlessly polling the server: “Has she bought it yet? Has she bought it yet? Has she bought it yet?” It does this by passing the same random ID to a web service running on the server. If the transaction has been consumated, BCC will learn the Registration Key, and then automatically upgrade itself to the registered version. This removes a /major/ source of customer support complaints, since Registration Key management is a hard concept for many shareware customers to grasp. From the customer’s perspective, she just got done putting her details into Paypal, and by the time she closes the browser (after ignoring the instructions) and goes back to Bingo Card Creator, it already says “Thanks for your purchase!” That little psychic saves me hours every month in support email.

I wish all trial software did this!

A definite usability improvement and just generally better for both parties. The usual email with the reg key for later use should also be sent, of course, but saving that hassle for me when I just want to get on with using what I've just bought is a very nice touch.

There is a program called Stylizer (visual CSS editing, highly recommended) which inspired this. Their implementation required you to copy to the clipboard (via a Javascript onclick event on the last page of the purchase flow), but the software sniffed the key right out of the clipboard and upgraded itself automatically. This avoids pasting problems. (Useful factoid: many computer users cannot copy/paste, and many who can can only do it with the MS Word copy/paste buttons onscreen.)

I thought "Dang, that is great", implemented it, and then started looking for a way to extend it without requiring people to read the instructions for copying.

I can't help but always be totally impressed with Patrick. I admire the way he focuses on every detail of his business and is so thoughtful about everything he does. He is a big reason why reading the comments on this site can be so rewarding.

This was an excellent read.

Great article and always good to hear more from Patrick. I still find it incredibly humorous that one of the more influential startup stories on HN is a "simple" Bingo Card Creator. Patrick continually shows that there is no such thing as "simple" when you're striving to be successful.

Favorite bit from the article: "Prior to running a business I ran a WoW guild. It was rather substantially more work and more drama than running a business, for dramatically worse loot."

I get a lot of credit (perhaps more than I deserve) because I talk a lot, am amicable, and write in a compelling manner. Communication is the great underlooked startup/engineering skill.

I prefer taking the opposite tack [+] with regards to simplicity: there is indeed such a thing as simple. Your business, on day one, is simple. It will gradually become more complex as you learn things and learn what the business needs, but you don't need to let the complexity coming down the pike scare you away from starting something today. (And compared to many businesses -- from megacorps down to a lot of the startups around here -- BCC is still pretty simple, even four years in. My best marketing strategy can be explained in three Powerpoint slides, all the code I have is under 10kloc, and the core customer need is pretty much unchanged.)

[+] Some day I will learn this English idiom properly, but until I do, thank you guys for correcting me on it.

I think the idiom is difficult because it's not a properly understood idiom for most people who speak English. It's a sailing term. When you're sailing into the wind, you criss-cross against it, changing the side of the ship the wind is coming across, so the ship ends up taking zig-zag path through the water. Changing the orientation of the ship so the wind comes across a different side is tacking. It's the opposite of jibing, which is changing which side the wind is coming across with the wind at your back.

Hopefully the context of it helps, taking "the opposite tack" is changing your orientation to reach towards the same goal on a different approach when you're getting off-course with your current approach.

To add a little more, it is often a good tactic in competition. If you take the same tack as your competitor, then you are simply following them in their "dirty wind" and are unlikely to overtake.

If you take the opposite tack, then you may well find clean wind, or better wind, and you may also be able to approach them on starboard tack, forcing them to give way.

Don't follow your competitor - take the opposite tack.

I think we're all rooting for you because you come across as as a genuinely nice guy and because you live the dream that many here just dream of, to wean yourself from your pay-check and to go 'independent' without any outside help.

It's impressive, to say the least, far more so than many of the 'my feature just got funded' items and if you keep at it you'll do very well in the long run.

Keep an eye on your savings, make sure you plan for rainy days as well, they're inevitable.

I expect that Patrick knows that better than most people, since every summer is a one long rainy day for his product.

"the opposite tack". In the interests of compelling writing. And pedantry.

Funnily enough, this article just hit my inbox - "the origin of nautical terms like jibe, tack etc".


This was the best exchange in the interview:

  Q: Can you share the key metrics you watch on a   
     daily basis? Why are they important to you?

  A: I have published a variety of stats but I don’t watch
     metrics on a daily basis because I don’t make    
     metrics-based decisions on a daily basis, and absent 
     making decisions watching metrics is only as     
     productive as playing WoW.

There were so many awesome answers. It was an excellent article. One line that really caught my attention was this:

> what are you working on which is more niche than bingo cards for elementary schoolteachers, anyhow?

Yes, definitely -- this was my favorite line as well. Though, I do have to admit that watching metrics in real-time can be fun. :)

I find this doubly amusing because he used to play WoW.

So, as usual, the man knows what he's talking about?

"But if you say you’re booked solid with your children and yet you still find time to watch television and play online poker, then it is time to have a frank discussion about your true priorities in life."

Besides the very honest and insightful write-up (thank you!), this last sentence is worth its weight in gold. It's too easy to make excuses for not following your goals and blame something other than your own lack of motivation/focus.

I think that sentence is unfair. If you have a job and small children, it's easy to be so exhausted after putting them to bed that there is no energy left to think about anything important.

It's true of course that children are the handiest excuse around. But it's also true that once you start down the job-and-family highway it can be exceedingly difficult to get onto an exit. The implication here -- that if you're not pursuing some major third thing, it's because you're lazier or care less than people who (under considerably different circumstances) are pursuing that thing, is glib.

While there are ways out of this dilemma, they require more than re-sorting your todo list and cutting back on the online poker. Failing that, the default rule seems to be "Job, family, school, startup, pick two".

Agreed. And what's more, marriage and raising a child both take a lot of time. I often don't even open my laptop at home because I just don't have the time.

Personally, I realized that (a) I can't live with the idea of working at a big corp until I retire and (b) if I wish to remain married and connect with my kids (you only have 10 years!) I don't have the time to do this on the side. Given those two truths I decided to lock in our expenses (i.e. making more money doesn't help my goal if we just spend it) and switch to consulting. As a consultant I make enough that I can periodically take 6 months off to give my start up ideas another go. If the business gets some traction then maybe I can stay off longer than 6 months. And as a consultant I don't have to "quit" when it's "working sabbatical" time.

I'm with you for (a) and (b). The other thing I've found working as a consultant (well, an "off-site contractor" anyway) is that the freedom from "office hours" means I can structure my working day around time with my young kids (i.e. three meals with them and then working on into the evening) and still get lots of work done.

Of course this could just be due to my current project being particularly favourable, hence my interest in start-up ideas to try once it ends...

Personally, I figure that if I stay at $BIGCORP I will have far less time to connect with my kids--over the long term--than if I work for myself. I might have to front-load the time a bit as I get set up but this is not a given, given the small hourly commitments possible.

But the "free" healthcare makes it a tough decision.

Working as a permi this is certainly the case, but if you can get your living costs down and work on a more ad hoc basis (i.e. contracting or consulting) then you can take big blocks of time off to use as you see fit.

Personally I wouldn't want to work in the US right now. The worker protections are practically non-existent (advantageous if you own a company but if you work for one, not so much).

Health care has always been problematic in the US but I suspect by your comment you mean that you don't like that you have to have it now. Not having insurance would be an insane level of risk to put on your family (especially when coupled with the risk of a start up). One of the bigger mistakes the US did with health care IMO was letting companies pay it for the employees. That creates a terrible lock in incentive and removes health care from the person's budget so when you do wish to try something else (e.g. a start up) you're not prepared for the sudden jump in expenses.

Another pitfall is to do a start-up while having kids and a family and to let the start-up take precedence while ignoring the needs of your family.

It's pretty common.

I don't think the quote calls anyone lazy. All he's doing is pointing out the contradiction between saying "I would do X but I don't have the time", and engaging in time-filling activities. It's fine if your other responsibilities (family, etc) don't leave you able to take on something else. Nobody is criticizing you for putting your family ahead of your startup - you'd be insane not to. But the first step in overcoming an obstacle is honestly identifying what that obstacle is.

I find really interesting that patrick build a pagerank on a totally different population than his customer base. He target hackers for pagerank building (and invest a lot of time writing articles who are probably not his first customers), but his customers lands on content created by freelancers (cheap, lesser quality content probably ).

I do seek links from outside my customers and recommend it as a tactic, although it is not the only reason that I blog or participate with folks. You can compare it to other companies trying to get written about in the New York Times despite not selling to newspaper reporters. Programmers and Internet businessmen control a metric tonne of links, schoolmarms and the Jane Austin webring not nearly so many.

I do take minor exception to the comment about content quality. With the proviso that I'm making bingo cards to teach lessons to school kids, I'm usually making pretty darn good bingo cards. Search for [biology bingo] some time and compare my site to the other options.

He lives in Japan and recently left his cushy full-time job

I don't think cushy is the word he'd use to describe it.

Right. It apparently was the ex-ex-job that was cushy, not the salaryman job.

> Apache has a habit of taking down memory-constrained VPSes when hit by large amounts of traffic

Give Nginx a spin if you can. I use 300MB VPSes running Nginx + PHP and have memory to spare to run the dropbox daemon, lightly loaded mysql, etc.

Yep. Sometime after this interview I figured out what my Apache configuration problems were. The short version: KeepAlive, which might as well be called as TurnThisOnToBlockThisServerTotallyEveryTimeYourSiteAppearsInSocialMedia.

There's also just tossing a reverse proxy in front of your apache, it hands the problem of slow requests, bad requests, KeepComatose, etc to something lightweight that's a lot more crap-tolerant.


The simpler of these (e.g. pound) take about as much time to set up as scrolling through your apache config looking for some mis-set option.

One task to a machine can save a lot of trouble, ie, not having the database on the local app server + having varnish + nginx in front of it.

First time I heard about Appointment Reminder - Patrick's third second product - http://www.appointmentreminder.org/

Certainly a much bigger market than elementary school teachers, while clearly continuing to leverage the same key skills of making a mundane task automatic, and metric testing to consistently enhance the real world user experience. Perfect case study (assuming the market eats it up, of course!).

And no credit for fixing his httpd.conf configuration :(

<3 patio

Joey gets credit for the part of my config which functions as designed.

If Apache is eating up all of your RAM with children, you should really look into using nginx or Varnish out front (depending on how cacheable the content is). You'll see your need for more Apache children drop considerably, due to the spoon feeding problem.

Hope that helps, have really enjoyed reading your posts.

I love the dashboard screenshot. More of these Patrick! How about a tour of BCC someday?

Patrick, this was really a great read.

It wasn't clear to me from the article, but it seems that a lot of the 'syncing' of information between databases and services was programmed by hand by you. How much time did you spend on this and if you had to re-setup your infrastructure, would you go with a service that does most of this for you (if one even exists)?

I did all the programming for BCC. I am not sure what you are specifically referring to with "syncing", but the code to all features discussed in this writeup is only a few hundred lines. Aside from having to put an HTTP client in my Java app it is fairly painless.

I think you answered my question. By syncing I meant that, for instance, when a customer makes a purchase, a whole chain of events unfolds (databases are updated, keys are sent out, analytics packages are updated).

Yeah, I originally did all of that via ejunkie and now it is all custom except for e-junkie wrapping the underlying API call. Back when HTML in notepad was the extent of my programming skill, having ejunkie keep stats and then hand updating a spreadsheet every month made sense. Now that I'm comfortable in Rails it is really easy to automate bookkeeping tasks like that.

It took me a minute to realize I was reading an interview. Make this more evident, please!

"If you spend just a few minutes on Hacker News, you’ll come across Patrick McKenzie in one way or another"

You can say that again. I am starting to feel the overload.

Unlike most HN tropes I haven't found the "and here's how patio11 does it" angles to be tiresome. A one-man profitable non-funded small code-driven business is chock full of lessons for all of us.

Exactly, he's my inspiration to make http://www.celtic-knot-creator.com

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact