Dialing In: The Technical Brew Behind My Coffee Data Journey

Jason Touleyrou
3 min readApr 1, 2024

--

In the first post of this series, I introduced you to my passion project—a fusion of data engineering and my daily coffee ritual. We touched on the initial conception, the broader vision, and the community invitation for collaboration. Now, let's dive into the technical heart of the project, exploring the challenges, solutions, and key decisions that have shaped its development.

The Initial Path: Simplicity Meets Reality

My journey began with a seemingly straightforward solution: connecting a Squarespace form directly to Google Sheets, which then seamlessly fed into BigQuery. On the surface, this route offered a no-code, rapid deployment path to data collection. However, it quickly became apparent that this simplicity came at the cost of scalability, customization, and control.

Exploring Alternatives: Seeking Depth Over Ease

Faced with the limitations of the Google Sheets integration, I contemplated alternative approaches that could offer more depth and flexibility:

  1. Airflow on a VM: The idea of using Airflow for daily batch processing of data was appealing for its control and automation capabilities. Yet, the operational overhead and the complexity of managing this infrastructure myself posed significant challenges, especially considering cost and scalability.
  2. The GCP Pivot: The turning point came through my interactions with ChatGPT, which illuminated the potential within GCP’s ecosystem. A custom HTML form, enhanced with JavaScript to funnel data directly into Cloud Functions and GCP Storage, promised a scalable, customizable solution that aligned with my project’s needs.

Embracing Terraform: Laying Down the Infrastructure

With a clear path forward, the next step was to solidify the project's infrastructure using Terraform. This foray into Infrastructure as Code (IaC) was not just about efficient deployment; it was about adopting best practices that could support the project's growth and ensure its sustainability.

  • Terraform’s Learning Curve: The journey with Terraform was filled with learning opportunities. Defining the infrastructure for Pub/Sub topics, Cloud Functions, and GCP Storage introduced me to a new level of precision and planning in cloud architecture.
  • Best Practices and Scalability: Through Terraform, I was able to encapsulate the essence of my project's infrastructure in code, making it reproducible, scalable, and adaptable to future changes.

Reflections: From Concept to Cloud

This phase of the project was more than a technical endeavor; it was a testament to the importance of embracing complexity for greater control and scalability. While the allure of simplicity was tempting, the pursuit of a solution that truly met the project's needs led me down a path of greater learning and growth.

Looking Ahead: Brewing the Future

As the project continues to evolve, the next steps are clear: optimizing data flow, integrating advanced analytics, and expanding the project's scope to include machine learning predictions. The goal remains to not just track but to understand and enhance the coffee experience through data.

An Open Invitation

This journey is far from solitary. Through my GitHub repository, I invite you to join me in this exploration of data, coffee, and technology. Whether it’s offering feedback, suggesting features, or contributing to the project, your insights and expertise can help shape its future.

Stay tuned as we continue to chart this caffeinated course through the world of data engineering, one sip at a time.

--

--

Jason Touleyrou

I write about data, engineering, leadership and I'll very transparently say I use AI to do it.