Developer Q&A with JR the Builder, co-creator of Beam Analytics
Tinybird: Hey there JR! Before we go further, tell us a little about yourself. Who are you and what do you stand for?
JR the Builder: I’m JR the Builder! I’m an indie-hacker in the Bay Area building new things every day. You can find me on Twitter (@TheBuilderJR), and I pretty actively publish to Substack (thebuilderjr.substack.com). You may know me as the creator of Flurly, GraphJSON, and now Beam Analytics, which I’ve built using Tinybird.
Tinybird: Tell us about Beam Analytics. When did you start it? Who are you working with? What’s the mission?
JR the Builder: I started Beam with my co-founder Leng Lee earlier this year. The mission was simple: Create the most affordable GDPR-compliant web analytics tool out there. That’s what Beam Analytics is.
Tinybird: Why did you choose to build Beam? What was missing in the market that you saw an opportunity to create?
JR the Builder: Google Analytics has had a long run as the market leader for web analytics, but it’s not really working anymore. When we talked to people who wanted a GDPR-compliant GA4 alternative, we noticed that people were a little put off by the cost existing options like Plausible and Fathom (which are great products, btw), and they wanted to be able to do more on the product analytics side with cohort retention and conversion funnels.
Beam needed to fill that gap. And it needed to be GDPR-compliant, inexpensive, and offer some of the more advanced features that people really want.
Tinybird: What technical challenges did you have to overcome as you were building Beam?
JR the Builder: The first is obviously scale. If Beam really takes off, we basically need to be able to scale to the whole internet! We also need to do that in a privacy-first way, not only for GDPR compliance but also for things like CCPA, CCPR, ePrivacy, etc.
If Beam takes off, we need to be able to scale to the whole internet.
And we needed to be able to build it quickly and inexpensively. Since our goal was to make Beam the cheapest web analytics platform out there, we couldn’t invest a ton up front and still expect a solid return. So we had to go fast.
Tinybird: And obviously you chose Tinybird to help you do that?
JR the Builder: Yep!
Tinybird: How did you find us?
JR the Builder: Twitter. I noticed that Tinybird was publishing things about real-time analytics and privacy-first web analytics, and as I dug in I realized that it was perfect for our use case at Beam.
Tinybird: Why did you choose Tinybird?
JR the Builder: I knew that I wanted to build on ClickHouse. I’ve built with it before with GraphJSON, and I knew that it could handle the scale. Plus it has a bunch of great features for dealing with web data.
Of course, having built on ClickHouse before, I had to decide if I wanted to do that again from scratch or buy a solution. But remember, we needed to move fast and cheap, so I was really thinking about 3 things:
- Speed to market
- Minimizing overhead
- Predictable (and good) pricing
Tinybird seemed like a great way to use ClickHouse but with a much better developer experience. It’s serverless, so we wouldn’t have to worry about managing our infrastructure, and it offers several abstractions that really simplify our development. So we can move really quickly with our dev and we don’t have to worry at all about infrastructure.
I've built on ClickHouse before. Tinybird seemed like a great way to use ClickHouse, but with a much better developer experience.
Plus, Tinybird’s pricing is very predictable. It’s based on usage, and it’s relatively inexpensive, so it’s really easy to be able to just add value on top of Tinybird and build a sustainable and profitable business.
Tinybird: Can you tell us how you use Tinybird to build Beam?
JR the Builder: Yep! I’ve written about this before, but we chose to build a lot of the backend on Tinybird.
We use the Tinybird Events API to send anonymized, one-way hashed analytics from our cloud to Tinybird. So we can send each pageview to Tinybird with just an HTTP request.
We use the Tinybird CLI to manage all of the project resources in version control. We can push any changes we make programmatically from source control into Tinybird, so it makes it easy to do things like evolving table schemas so we can improve performance with new iterations.
The Events API is a great abstraction. We can send anonymized, one-way hashed analytics from our cloud to Tinybird with just an HTTP request.
And then we serve our dashboards using the Tinybird Query API, which is an easy way to just construct SQL queries and send them to Tinybird and get a fast JSON response that’s easy to parse in the frontend.
Tinybird: What’s next? What are you focused on as you continue to build Beam?
JR the Builder: Scaling up! We’re at about 200 websites now, and counting, and we just want to keep growing. Our next milestone is 1,000 websites. We hope to get there pretty soon?
We’re also working on some more powerful and flexible analytics tools, especially for product analytics. So things like tracking DAUs/WAUs, calculating bounded vs unbounded retention, etc.
Tinybird factors into all of those plans!
Tinybird: Who do you think benefits the most from using Tinybird?
JR the Builder: Companies that want to focus on their customers, building features, and not managing data infrastructure. Tinybird makes it so easy to focus on product development because all the infrastructure is taken care of, and it just works.
Tinybird makes it easy to just focus on product development. All the infrastructure is taken care of, and it just works.
Tinybird: Any advice for somebody who is considering using Tinybird?
JR the Builder: First of all, just try it already. There’s nothing else like it. As far as advice, I would recommend just getting familiar with the product and how it works. The Starter Kits are a good place to get your feet wet. It’s definitely a good idea to play around with it before you start sending production traffic just so you can learn all the ins and outs. I had to spend some time changing schemas on the frontend, so it was useful to understand all those details before I was in production.
Tinybird: What would you tell somebody who is on the fence about Tinybird?
JR the Builder: Just use it already! There’s nothing like it.