Apurva Chaudhary

Automating BCBCBath Website

Building BCBCBath: Automating a Cookbook Club Website

In 2022, Sahil and I started BCBCBath, a cookbook club in Bangalore, as a way to connect with fellow food lovers and explore diverse cuisines. Each month, members vote on a cookbook, cook a dish from it at home, and gather for a themed potluck. Here’s how I automated our website to make managing the club easier.

The Challenge

As our club grew, we needed a system that could:

  • Track monthly potlucks and attendance
  • Display cookbook information
  • Archive our culinary journey
  • Make updates easy for non-technical members

The Solution

I built an automated system using PHP that connects Google Sheets (where members log their dishes) with a dynamic website. Here’s how it works:

1. Data Management

Members use a Google Spreadsheet where:

  • Each tab represents a different potluck
  • Standard columns track cookbook details, date, and attendance
  • Members log their chosen recipes and dietary information
  • The familiar interface means no learning curve

2. Data Processing Pipeline

The PHP application:

  • Connects to Google Sheets API
  • Fetches data from multiple sheets
  • Processes and validates the information
  • Stores everything in a structured JSON format
  • Handles error cases gracefully

3. Cookbook Enhancement

To make the experience richer, the system:

  • Searches multiple sources for cookbook covers
  • Generates purchase links when available
  • Caches images locally for performance
  • Falls back to placeholders when needed

4. Dynamic Website

The frontend:

  • Displays potlucks in a responsive grid
  • Shows detailed information for each event
  • Uses modern CSS for clean layouts
  • Works well on mobile devices

Technical Architecture

  1. Data Layer
  • Google Sheets as the primary database
  • JSON for processed data storage
  • Local image cache for performance
  1. Processing Layer
  • Sheet data fetching and parsing
  • Book cover image retrieval
  • Data validation and cleaning
  • Error handling and logging
  1. Presentation Layer
  • Dynamic routing system
  • Templating for HTML generation
  • Responsive design
  • Progressive enhancement

Conclusion

By automating BCBCBath’s website, I’ve created a system that makes managing our cookbook club easier while preserving our culinary journey. The combination of familiar tools with automated processing lets us focus on what matters most: sharing great food and building community.