Every idea, whether a full fledged startup or blog post, has its own runway. Whether that runway be outside capital investment or your personal enthusiasm, most ideas die well before the investor pitch deck. So focus. Be suspicious of anything between you and shipping. Tooling, instrumentation, infrastructure. None of it matters, unless you have a product and paying customers.
I’ve been musing a long time about why I am so against Redshift or Segment. Something about them feels…ugly.
Focus. To have focus, you must constantly guard against complexity. No matter how “easy” SaaS or IaaS makes data infrastructure, it introduces another layer to manage. At a small scale, that layer works well…but then again, at that scale, is it really solving any problems? And at a large scale, suddenly you’re dealing with the headaches of real-time replication, sync, migrations, security, cost, etc. Just because services have become easier to adopt doesn’t mean they are more useful.
Your first few customers will come from your own network. You shouldn’t need analytics to talk to your friends and family.
Artem, an early engineer at Path, told me about how when Path popularity would suddenly grow, the growth team there would do an analysis to identify the “patient zero”. Finding the person was fascinating, but they could never reproduce it. In the end, if you talk to Artem, the reason why Path failed wasn’t because of the growth team. It was because the product, fundamentally, would built to stop growth (limiting users to 50 friends).
At Dropbox, we had a “Team HUGE” (Huge User Growth and Engagement) who were tasked with growth initiatives. What did they do? They added a modal to our shared link that forced people to sign in. Sure, it helped sign ins, but did it actually meaningfully affect our business? No. How can I say this so confidently? Because the team was disbanded. In actuality, what worked was having product teams work closely with the marketing and sales teams to ensure customers were being correctly routed to the right plan. Growth was the correct objective, but it’s the objective for everyone, not just a single team. Hire people, not “promises of growth.” The rest of the company not “bought into growth”? Go be a leader or fire yourself and find someone who can.
Numeracy just launched on Product Hunt, getting more than 500 signups in a single day. This was literally triple the signups we’d gotten in the last year combined. Aside from some fun vanity metrics, all the relevant data was just in production.
psql into production.
You now have a salary, so presumably you have revenue. If you have revenue, it means you actually care about production uptime, so you’ve got a read-replica. Use that now.
“But what if production data is massive? Won’t I need columnar databases to efficiently query it?”
Don’t be stupid. Sure, you might have some event tables with millions of rows, but the tables you actively care about are probably only a few hundred thousand rows. It’s a literal once-in-a-decade startup that has so much data and only one hire.
Even at Sentry, which had valuable business data inside un-query-able tables (aka few indices and full scans were prohibitive), the product itself was used to summarize the data. Why? Because we needed to build a Getting Started flow anyways. The analytics data was a useful side effect.
Also, use a thin SQL client (like Numeracy, PopSQL, etc). Being able to send around analysis is nice.
Do not use a BI tool. Do not build dashboards. Minus user admin pages and infrastructure charts, I have never seen a dashboard be used (as in, someone aside from the dashboard creator uses it to make real decisions) for more than a month. Like Path’s “patient zero” analysis, dashboards are enticing but rarely valuable.
Until you have real funding, the kind of funding that will allow you to build out your product vision, you just need to keep hammering away at product and customers. Nothing else matters.
Ignore all my previous advice. Buy everything.