After a month of launching our startup, there was one question I could never verify. Are we "doing" marketing right?
After a month of launching our startup, there was one question I could never verify.
Are we “doing” marketing right?
Are we breaking all the rules like everyone mentioned or are we following all the rules… like everyone mentioned.
The absence of concrete answers was extremely annoying for me. Who wants inconclusiveness? I also didn’t need any more external advice. I wanted data-driven validation.
Seems like an easy thing to solve, just measure KPIs. There’s a ton of content that will discuss most perspectives in detail. However, trying to measure productivity can be sliced in many different ways and this is hard to comprehend at a macro scale when you’re trying to find traction. Ideas I tried:
All of these points were OK but I couldn’t sense if the marketing vision was working or not. Individually, these metrics had bad data, not enough of it, or omission of good data. I want to correlate my hard work with hard results.
We had a Slack channel called #activity, where our custom created bot Goku would log the health of our tasks we worked on, periodically. The health would decay every hour and the stream of messages would be a snapshot of what we did for the day. It was me, my marketing guy, and an intern logging against it.
The bot worked like this: Every hour, the bot would subtract
1.38 from a value that initially started at
100. So the first time running it and after one hour, it was
98.62. Then the next hour it went down to
97.24, etc… This ran 24/7.
To prevent the value from reaching zero, anytime we posted “work marketing (what we did)”, that value would go up by 3.
If you think this is crazy, that’s because it is. It didn’t directly solve correlating hard work with hard results. However, it did make all of us mindful of what tasks were getting done.
We already tried “agile” (Asana and GitHub boards) but it’s hard to work with that when most days you’re thrown curve balls. Todoist works pretty well until you don’t feel like opening the app.
After 3 months of doing this, I noticed our productivity increased but not the quality of it. So this wasn’t the answer. But I did like seeing what was happening and getting a macro gauge of where we were headed was extremely beneficial as a founder.
So I had another crazy idea. What we if increased the number of logs going into the channel?
Logs that were directly indicating meaningful movement
So… instead of reducing notifications to avoid distractions, increasing notifications for maximum distractions.
Great idea right? I thought so too, so down the rabbit hole I went, and implemented every integration that could work with the idea.
Here’s what I added to our Slack channel:
All of these were set to #activity and all of the notifications were in near real-time. We also turned off the previous “health decay” work hack since this was meant to replace it.
So by coincidence, this idea was conceived because our product ChipBot, needed to support Zapier for our customers. After deploying our first app there, I’ve gotten pretty familiar on how Zapier works and what their capabilities are.
Zapier is a workflow API service that connects services together. You can connect one service to “trigger” another service.
As long as the service was listed in the marketplace of Zapier, I could use it. My only criteria was it had to be free. Facebook, Instagram, Pinterest, and YouTube worked out of the box and seamlessly with the Slack integration. But not all services were listed (like Quora) and the alternatives to do generic crawling or polling costed money.
If the target service supported RSS feeds (like our blog), I could just run
/feed add https://getchipbot.com/blog/feed on Slack (no Zapier needed).
But endpoints like Quora and IndieHackers didn’t have RSS feeds. 😢
This is going to get a little bit technical, click here to scroll past the code.
So I started figuring out alternatives. Zapier had a way to “fetch” a URL and parse it if the format was in JSON.
For IndieHackers, I couldn’t find any open API to tap into, but I knew the pages were constructed asynchronously. I popped open the Network Tab on Chrome Dev Tools and found a web socket service that talked to Firebase. I figured out what the query params were and translated that to Firebase’s HTTP REST API, so I didn’t need to connect over
The URL looks something like this (refer to what’s highlighted in the screenshot).
I won’t go too much into the detail of what the code is doing, but that code snippet allowed me to poll IndieHacker. Now I have an output log of all the IndieHacker posts I publish there.
Next was Quora.
Unfortunately, when researching Quora endpoints, it didn’t have a public API, an RSS feed, or a Firebase endpoint for me to latch onto.
So I built a crawler. On AWS Lambda. That would expose an API for Zapier to consume. 😳
So about 2 weeks running into this, we immediately feel the impact of our actions. It’s a very different feeling when we log our own effort versus a machine determining what our effort is. With that being said, the sense of accountability is present, and quality becomes a higher priority (again!).
And the stream of logged work makes it easy to recall key events when we discuss our analytics at the end of the week. For us to grow the business every week, there must be a constant pulse of what the company is doing for itself.
Now we focus more on the quality of posts, quality of marketing engagement, and reflect on our work with a question:
“will I 10x the company today?”
Matt is a Chicago-based entrepreneur and hard-working founder of his startup ChipBot. Knowledgable in 12 different programming languages and experienced startup veteran; having worked on 6 others. He focuses on solving hard problems using clever engineering and wit. You can reach Matt on Twitter, LinkedIn, or StackOverflow.