Hartley Brody

buzzkill-logoI should start by saying that I just released my first chrome extension this afternoon called BuzzKill and I think you’ll like it:

BuzzKill is a Chrome Extension that automatically removes all Buzz Feed content from your Facebook browsing experience.

  • "This extension has helped me reclaim hours of my day!" -Happy User
  • "I finally feel like I have my life back" -Happy User
  • "With BuzzKill installed, I can rest assured knowing that my children are safe from the most soul-sucking content on the entire internet." -Happy User

Install it now! The code is available on GitHub and I’d be happy to take pull requests, bugs or other issues on there.

The concept is really simple, and it took me about 15 minutes to write the Javascript necessary to make it work from my console. But figuring out how to package it all up as an extension took more work than I was expecting. I’ll run through the stuff I learned here.


python-style-guideIn general, code is written once in a few minutes (or hours) and then read and maintained for years to come. Ensuring that the code you write today is readable and makes sense to other engineers down the line is a Really Good Thing and you should always keep readability in mind as you’re writing code, even for small one-off scripts.

This is an adaption of an article I wrote on the engineering wiki at Buffer, where I work as a growth hacker.


In the moments immediately after yesterday’s bombings, there were lots of volunteers and bystanders who didn’t expect to become heroes, but did. Their immediate actions saved lives.

BOSTON - APRIL 15: Passersby put pressure on a victim's leg to try to stop the bleeding at the scene of the first explosion near the finish line of the Boston Marathon. (Photo by John Tlumacki/The Boston Globe via Getty Images)

Every single citizen should know CPR and how to handle major blood loss events. If you don’t, please please read up and take a class. Spending a few hours learning these things now could give you the skills that end up saving the life of a loved one or a stranger.

It only takes a few hours to learn, and then you can go on with your life. But when a moment of potential tragedy catches you off-guard, you won’t become a passive, helpless observer. You’ll be a life saver. An unsuspecting hero.


clipboard-sign-upWhat do you want your users to do after they sign up?

While getting people into your product is obviously A Very Good Thing, it isn’t time to pat yourself on the back just yet. To build an awesome product experience and an engaged user base, you really need to carefully focus on what happens after a user has signed up.

Once they’re in the door, you want to show them value quickly. Help them avoid common pitfalls and show them how to get the most of your product. Walk them through the process of moving from beginner to power user to evangelist.

Not only does this make for happy users, but it also make it easy to ask for referrals, product reviews and up-sells, while simultaneously avoiding churn and abandonment. That all sounds pretty awesome, right?

I’ll walk you through a few basic ideas and then we’ll look at how some of the hottest startups have built out their post sign up funnels.


When most people set up their personal WordPress blog, they’ll pick a theme, throw the Google Analytics tracking code on it, and stop there. And while WordPress gives you a decent website out of the box, there’s a lot left to be desired.

wp-logoWith an extra hour or two of setup, you can have a well-optimized, secure blog that pulls in new visitors and keeps out intruders. Most of these things are one-time setups that you won’t have to think about again.

These are the tricks I’ve learned after setting up dozens of WordPress blogs for myself and for friends – some tiny niche sites and some massive content destinations attracting 10k+ visitors a day.

Before you get started, make sure you’re running the latest version of WordPress by going to Dashboard > Updates and checking for any upgrades.

Since the WordPress software is the most used CMS on the internet, it’s a huge target for hackers and spammers, and new security updates come out frequently. You wanna make sure you’re starting with the latest, most secure version.


An actual funnel for pouring water is a good analogy for startup marketing.

One of the rookie mistakes first-time entrepreneurs often make is to assume that visitors on their website are ready to buy their product or service right away. I’ve made this mistake myself.

But in reality, the average visitor to your website isn’t ready to make a buying decision… yet.

In order to grow a successful business, you need to understand the concept of “the funnel” and the stages that fall between “casual website visitor” and “evangelical customer.”

This concept of a funnel is something that applies especially well to B2B products, since your prospects will tend to move more slowly and make more deliberate decisions.


I’ve always been one to shoot from the hip. I go with my gut, and then reevaluate if necessary. After all, smart people change their minds a lot.

But I’ve found it’s also really easy to get stuck overthinking some things. What tie should I wear? Which apartment should I live in? What do I want to do with my life?

Sometimes there are so many options that we’re overwhelmed. Sometimes we get competing feedback from our trusted advisors. We waste so much time thinking about it, that we never pull the trigger. Opportunity passes us by.

Overthinking the decision about generating lift.


The past few months, I’ve worked on a half-dozen side projects that were web-based applications. Two of them were even so big that I formed an LLC with my co-conspirators, did some marketing and tried my hand at a few sales, and even looked at raising a bit of money.

The first product was a social network where students could share outfits and fashion ideas [archive].

The second was a music distribution service for artists that want to tap into how listener behavior has shifted to blogs and free downloads [archive].

Unfortunately, as of this writing, both startups are no longer functioning.

While I was mostly on the technical side of things, I learned a ton of business lessons about startups that I wanted to share.


Last spring, I graduated from college and began working as a software engineer on the Product team at HubSpot.

But a few weeks ago, I switched to the Marketing team, where I now work on SEO and driving leads from organic search and referral traffic.

My path is an unusual one, and it puts me in quite a hybrid position. My day-to-day work is much different than it was on engineering – there are no UIs to build or deploys to coordinate. But it also looks much different from the other members of the marketing team – none of them spend all day in Sublime Text and terminal windows.

So I’m not exactly a marketer, but I’m probably not what you’d call an engineer. I am: a growth hacker.


If you’ve ever needed to pull data from a third party website, chances are you started by checking to see if they had an official API. But did you know that there’s a source of structured data that virtually every website on the internet supports automatically, by default?

scraper toolThat’s right, we’re talking about pulling our data straight out of HTML – otherwise known as web scraping. Here’s why web scraping is awesome:

Any content that can be viewed on a webpage can be scraped. Period.

If a website provides a way for a visitor’s browser to download content and render that content in a structured way, then almost by definition, that content can be accessed programmatically. In this article, I’ll show you how.

Over the past few years, I’ve scraped dozens of websites – from music blogs and fashion retailers to the USPTO and undocumented JSON endpoints I found by inspecting network traffic in my browser.

There are some tricks that site owners will use to thwart this type of access – which we’ll dive into later – but they almost all have simple work-arounds.