October 9, 2019

MVP ready to rock and roll

Todd Heslin @toddheslin

Getting to MVP was a little harder than expected. There are several complexities that go along with building a GraphQL server that sits on top of a data warehouse. Data warehouses run queries slightly differently than regular databases like Postgres and MySQL.

To cut down on scope, the MVP is limited to:

  • Customers using Segment analytics (free to start)
  • Data being uploaded into BigQuery as the data warehouse

To extend on this, I'll be building warehouse support for:

  • Redshift
  • Snowflake
  • Postgres

And then onto other analytics sources such as Google Analytics and Mixpanel.

I haven't built the admin for Graph Compose yet, because the product is entirely functional with hardcoded configuration. I've set it up such that I can manually deploy isolated instances for at least 10-25 customers before really needing to add automation. I've been focused on the minimum amount of features that don't add to the product's core value.

However, programming has not been the hardest part for me right now. As Graph Compose is a developer tool, it's only as good as products that people build using the tool. I've got a few use cases in my mind, but I know there are going to be plenty of interesting types of products people can build using Graph Compose.

I'm a little tied between reaching out to people who I know I can't really support yet, and just getting customer feedback. Such is Indie Hacker life.

  1. 1

    Hi Todd, congrats nice work on Graph Compose!
    So the purpose of it is to add a relational layer to your DW infrastructure ?
    Is the goal to avoid creating many tables and joins?

    1. 1

      Thanks Florian! You got the purpose right, but not quite the goal. We typically dump/structure data in DW for analytics purposes but operationalising that data is pretty tricky outside of analytical applications.

      Graph Compose provides a nicer interface (without using a proprietary query language) to ask questions and get a JSON response. There is still quite a few joins happening under the hood to make it work, but as the application developer, it feels like your entire analytics data warehouse is just another GraphQL endpoint.