From ea2ecaac687c3c24d4a745b9a13c4f84dfa9ae45 Mon Sep 17 00:00:00 2001
From: Eric Schmidt <erschmid@google.com>
Date: Thu, 14 Nov 2024 01:07:47 +0000
Subject: [PATCH 1/3] feat: call gcloud firestore export from exec.Command

---
 docs/Services.md                       |  33 ++++
 services/firestore-to-bigquery/go.mod  |  65 +++++++
 services/firestore-to-bigquery/go.sum  | 228 +++++++++++++++++++++++++
 services/firestore-to-bigquery/main.go |  94 ++++++++++
 4 files changed, 420 insertions(+)
 create mode 100644 docs/Services.md
 create mode 100644 services/firestore-to-bigquery/go.mod
 create mode 100644 services/firestore-to-bigquery/go.sum
 create mode 100644 services/firestore-to-bigquery/main.go

diff --git a/docs/Services.md b/docs/Services.md
new file mode 100644
index 0000000..38dc0d5
--- /dev/null
+++ b/docs/Services.md
@@ -0,0 +1,33 @@
+# Services
+
+The MyHerodotus app has several microservices running behind the scenes to assist
+with data collection, evaluation, and model tuning.
+
+## Data collection
+
+The [Firestore-to-BigQuery](../services/firestore-to-bigquery/) service updates a
+BigQuery table with user data and responses from the MyHerodotus app. The service
+is triggered by a specific event: when a document is updated in the Firestore database.
+This event is used for data collection because it only occurs when a user has rated
+a response provided by the app.
+
+All data collected has had PII removed from it, specifically first name, last name,
+age, and email addresses. This list of deidentified info types is configurable in
+the app.
+
+The following code shows the equivalent gcloud command for exporting from Firestore.
+
+```sh
+$ gcloud firestore export gs://myherodotus --database=l200 --collection-ids=HerodotusDev,Conversations
+```
+
+### Deploy the service to Cloud functions
+
+
+### Sources
+
++ https://cloud.google.com/functions/docs/tutorials/storage
++ https://cloud.google.com/functions/docs/calling/eventarc
++ https://cloud.google.com/eventarc/docs/reference/supported-events#cloud-firestore
++ https://cloud.google.com/bigquery/docs/loading-data-cloud-firestore#python
++ https://cloud.google.com/firestore/docs/manage-data/export-import#gcloud
diff --git a/services/firestore-to-bigquery/go.mod b/services/firestore-to-bigquery/go.mod
new file mode 100644
index 0000000..1103914
--- /dev/null
+++ b/services/firestore-to-bigquery/go.mod
@@ -0,0 +1,65 @@
+module myherodotus.com/firestore-to-bigquery
+
+go 1.23.2
+
+require (
+	cloud.google.com/go/storage v1.46.0
+	github.com/GoogleCloudPlatform/functions-framework-go v1.9.0
+	github.com/cloudevents/sdk-go/v2 v2.15.2
+)
+
+require (
+	cel.dev/expr v0.16.1 // indirect
+	cloud.google.com/go v0.116.0 // indirect
+	cloud.google.com/go/auth v0.10.0 // indirect
+	cloud.google.com/go/auth/oauth2adapt v0.2.5 // indirect
+	cloud.google.com/go/compute/metadata v0.5.2 // indirect
+	cloud.google.com/go/iam v1.2.1 // indirect
+	cloud.google.com/go/monitoring v1.21.1 // indirect
+	github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 // indirect
+	github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 // indirect
+	github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect
+	github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect
+	github.com/cespare/xxhash/v2 v2.3.0 // indirect
+	github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 // indirect
+	github.com/envoyproxy/go-control-plane v0.13.0 // indirect
+	github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect
+	github.com/felixge/httpsnoop v1.0.4 // indirect
+	github.com/go-logr/logr v1.4.2 // indirect
+	github.com/go-logr/stdr v1.2.2 // indirect
+	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
+	github.com/google/s2a-go v0.1.8 // indirect
+	github.com/google/uuid v1.6.0 // indirect
+	github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
+	github.com/googleapis/gax-go/v2 v2.13.0 // indirect
+	github.com/json-iterator/go v1.1.10 // indirect
+	github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect
+	github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 // indirect
+	github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
+	go.opencensus.io v0.24.0 // indirect
+	go.opentelemetry.io/contrib/detectors/gcp v1.29.0 // indirect
+	go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect
+	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
+	go.opentelemetry.io/otel v1.29.0 // indirect
+	go.opentelemetry.io/otel/metric v1.29.0 // indirect
+	go.opentelemetry.io/otel/sdk v1.29.0 // indirect
+	go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect
+	go.opentelemetry.io/otel/trace v1.29.0 // indirect
+	go.uber.org/atomic v1.4.0 // indirect
+	go.uber.org/multierr v1.1.0 // indirect
+	go.uber.org/zap v1.10.0 // indirect
+	golang.org/x/crypto v0.28.0 // indirect
+	golang.org/x/net v0.30.0 // indirect
+	golang.org/x/oauth2 v0.23.0 // indirect
+	golang.org/x/sync v0.8.0 // indirect
+	golang.org/x/sys v0.26.0 // indirect
+	golang.org/x/text v0.19.0 // indirect
+	golang.org/x/time v0.7.0 // indirect
+	google.golang.org/api v0.203.0 // indirect
+	google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 // indirect
+	google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect
+	google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect
+	google.golang.org/grpc v1.67.1 // indirect
+	google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a // indirect
+	google.golang.org/protobuf v1.35.1 // indirect
+)
diff --git a/services/firestore-to-bigquery/go.sum b/services/firestore-to-bigquery/go.sum
new file mode 100644
index 0000000..25a9bd0
--- /dev/null
+++ b/services/firestore-to-bigquery/go.sum
@@ -0,0 +1,228 @@
+cel.dev/expr v0.16.1 h1:NR0+oFYzR1CqLFhTAqg3ql59G9VfN8fKq1TCHJ6gq1g=
+cel.dev/expr v0.16.1/go.mod h1:AsGA5zb3WruAEQeQng1RZdGEXmBj0jvMWh6l5SnNuC8=
+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
+cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U=
+cloud.google.com/go/auth v0.10.0 h1:tWlkvFAh+wwTOzXIjrwM64karR1iTBZ/GRr0S/DULYo=
+cloud.google.com/go/auth v0.10.0/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI=
+cloud.google.com/go/auth/oauth2adapt v0.2.5 h1:2p29+dePqsCHPP1bqDJcKj4qxRyYCcbzKpFyKGt3MTk=
+cloud.google.com/go/auth/oauth2adapt v0.2.5/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8=
+cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo=
+cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k=
+cloud.google.com/go/iam v1.2.1 h1:QFct02HRb7H12J/3utj0qf5tobFh9V4vR6h9eX5EBRU=
+cloud.google.com/go/iam v1.2.1/go.mod h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g=
+cloud.google.com/go/logging v1.11.0 h1:v3ktVzXMV7CwHq1MBF65wcqLMA7i+z3YxbUsoK7mOKs=
+cloud.google.com/go/logging v1.11.0/go.mod h1:5LDiJC/RxTt+fHc1LAt20R9TKiUTReDg6RuuFOZ67+A=
+cloud.google.com/go/longrunning v0.6.1 h1:lOLTFxYpr8hcRtcwWir5ITh1PAKUD/sG2lKrTSYjyMc=
+cloud.google.com/go/longrunning v0.6.1/go.mod h1:nHISoOZpBcmlwbJmiVk5oDRz0qG/ZxPynEGs1iZ79s0=
+cloud.google.com/go/monitoring v1.21.1 h1:zWtbIoBMnU5LP9A/fz8LmWMGHpk4skdfeiaa66QdFGc=
+cloud.google.com/go/monitoring v1.21.1/go.mod h1:Rj++LKrlht9uBi8+Eb530dIrzG/cU/lB8mt+lbeFK1c=
+cloud.google.com/go/storage v1.46.0 h1:OTXISBpFd8KaA2ClT3K3oRk8UGOcTHtrZ1bW88xKiic=
+cloud.google.com/go/storage v1.46.0/go.mod h1:lM+gMAW91EfXIeMTBmixRsKL/XCxysytoAgduVikjMk=
+cloud.google.com/go/trace v1.11.1 h1:UNqdP+HYYtnm6lb91aNA5JQ0X14GnxkABGlfz2PzPew=
+cloud.google.com/go/trace v1.11.1/go.mod h1:IQKNQuBzH72EGaXEodKlNJrWykGZxet2zgjtS60OtjA=
+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/GoogleCloudPlatform/functions-framework-go v1.9.0 h1:Fq0sKuCyyFFVFm1r6fEQJ4TRnbbhXP9Q6MEUX+UAd/0=
+github.com/GoogleCloudPlatform/functions-framework-go v1.9.0/go.mod h1:8Ww7VHPCGKqCfZOCT9INIiakNgGQPGRfL4U4yy5F5Kc=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 h1:pB2F2JKCj1Znmp2rwxxt1J0Fg0wezTMgWYk5Mpbi1kg=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 h1:UQ0AhxogsIRZDkElkblfnwjc3IaltCm2HUMvezQaL7s=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1/go.mod h1:jyqM3eLpJ3IbIFDTKVz2rF9T/xWGW0rIriGwnz8l9Tk=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU=
+github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE=
+github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g=
+github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
+github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
+github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cloudevents/sdk-go/v2 v2.15.2 h1:54+I5xQEnI73RBhWHxbI1XJcqOFOVJN85vb41+8mHUc=
+github.com/cloudevents/sdk-go/v2 v2.15.2/go.mod h1:lL7kSWAE/V8VI4Wh0jbL2v/jvqsm6tjmaQBSvxcv4uE=
+github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8ETbOasdwEV+avkR75ZzsVV9WI=
+github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
+github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les=
+github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8=
+github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM=
+github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4=
+github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
+github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
+github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
+github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
+github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
+github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
+github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
+github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
+github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
+github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
+github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
+github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
+github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc=
+github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0=
+github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM=
+github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA=
+github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw=
+github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA=
+github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s=
+github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A=
+github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
+github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
+github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg=
+github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo=
+github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
+github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
+github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
+go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
+go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
+go.opentelemetry.io/contrib/detectors/gcp v1.29.0 h1:TiaiXB4DpGD3sdzNlYQxruQngn5Apwzi1X0DRhuGvDQ=
+go.opentelemetry.io/contrib/detectors/gcp v1.29.0/go.mod h1:GW2aWZNwR2ZxDLdv8OyC2G8zkRoQBuURgV7RPQgcPoU=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8=
+go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw=
+go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8=
+go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc=
+go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8=
+go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo=
+go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok=
+go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY=
+go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ=
+go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4=
+go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ=
+go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
+go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
+go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM=
+go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
+golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
+golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
+golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
+golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
+golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
+golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
+golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
+golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+google.golang.org/api v0.203.0 h1:SrEeuwU3S11Wlscsn+LA1kb/Y5xT8uggJSkIhD08NAU=
+google.golang.org/api v0.203.0/go.mod h1:BuOVyCSYEPwJb3npWvDnNmFI92f3GeRnHNkETneT3SI=
+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
+google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 h1:Df6WuGvthPzc+JiQ/G+m+sNX24kc0aTBqoDN/0yyykE=
+google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53/go.mod h1:fheguH3Am2dGp1LfXkrvwqC/KlFq8F0nLq3LryOMrrE=
+google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg=
+google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI=
+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
+google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
+google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
+google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
+google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a h1:UIpYSuWdWHSzjwcAFRLjKcPXFZVVLXGEM23W+NWqipw=
+google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a/go.mod h1:9i1T9n4ZinTUZGgzENMi8MDDgbGC5mqTS75JAv6xN3A=
+google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
+google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
+google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
+google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
+google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
+google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
+google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
diff --git a/services/firestore-to-bigquery/main.go b/services/firestore-to-bigquery/main.go
new file mode 100644
index 0000000..fc8c478
--- /dev/null
+++ b/services/firestore-to-bigquery/main.go
@@ -0,0 +1,94 @@
+package main
+
+import (
+	"context"
+	"fmt"
+	"log"
+	"os/exec"
+	"strings"
+
+	"github.com/GoogleCloudPlatform/functions-framework-go/functions"
+	"github.com/cloudevents/sdk-go/v2/event"
+
+	//"cloud.google.com/go/bigquery"
+	"cloud.google.com/go/storage"
+)
+
+var (
+	bucketName        = "myherodotus"
+	databaseName      = "l200"
+	collectionName    = "HerodotusDev"
+	subCollectionname = "Conversations"
+)
+
+func init() {
+	functions.CloudEvent("CollectData", collectData)
+}
+
+func main() {
+	collectData(context.Background(), event.New())
+}
+
+// collectData consumes a CloudEvent message and logs details about the changed object.
+func collectData(ctx context.Context, e event.Event) error {
+	defer func() {
+		if r := recover(); r != nil {
+			log.Printf("Error: %v", r)
+		}
+	}()
+
+	fmt.Println("Starting collection job")
+	ok, err := exportFromFirestore(bucketName, databaseName, collectionName, subCollectionname)
+	if err != nil {
+		log.Println(err)
+	}
+
+	if !ok {
+		log.Println("Export job failed.")
+	}
+
+	uri, err := getStorageURI(bucketName)
+	fmt.Printf("Export output location: %s", uri)
+
+	return nil
+}
+
+func getStorageURI(bucketName string) (string, error) {
+	ctx := context.Background()
+	client, err := storage.NewClient(ctx)
+	if err != nil {
+		return "", err
+	}
+	defer client.Close()
+
+	//bucket := client.Bucket(bucketName)
+
+	return "", nil
+}
+
+// exportFromFirestore calls the gcloud command to export collections from Firestore.
+// This function uses the `exec.Command()` method to invoke gcloud, which is probably
+// an anti-pattern.
+func exportFromFirestore(bucketName, databaseName string, collectionNames ...string) (bool, error) {
+
+	collectionString := strings.Join(collectionNames, ",")
+	cmd := exec.Command("gcloud", "firestore", "export", "gs://"+bucketName, "--database="+databaseName, "--collection-ids="+collectionString)
+
+	stdout, err := cmd.Output()
+	if err != nil {
+		return false, fmt.Errorf("%s", stdout)
+	}
+	// Parse stdout (as YAML?)
+
+	// Extract outputUriPrefix, name
+
+	// Create a new longrunning operations client
+
+	// Wait for the job to complete
+
+	// Return the outputUriPrefix
+
+	log.Println(string(stdout))
+
+	return true, nil
+}

From 3a5b7ad17ec4ccd75b95d3f9084ca9e3ada0d9a8 Mon Sep 17 00:00:00 2001
From: Eric Schmidt <erschmid@google.com>
Date: Sat, 16 Nov 2024 00:19:20 +0000
Subject: [PATCH 2/3] feat: implements data collection function; changes
 ConversationBit Created field to int64.

---
 docs/Instructions.md                          |  40 ++++
 docs/Services.md                              |  18 +-
 protos/buf.gen.yaml                           |  18 ++
 protos/buf.yaml                               |  10 +
 protos/conversation.proto                     |  14 ++
 server/conversation.pb.go                     | 189 ++++++++++++++++++
 server/db.go                                  |  24 +--
 server/go.mod                                 |   8 +-
 server/go.sum                                 |  28 ---
 server/main.go                                |   2 +-
 services/data-collection/conversation.pb.go   | 189 ++++++++++++++++++
 .../go.mod                                    |  41 ++--
 .../go.sum                                    |  84 ++++----
 services/data-collection/update_big_query.go  | 138 +++++++++++++
 .../data-collection/update_bigquery_test.go   |  52 +++++
 services/firestore-to-bigquery/main.go        |  94 ---------
 16 files changed, 746 insertions(+), 203 deletions(-)
 create mode 100644 protos/buf.gen.yaml
 create mode 100644 protos/buf.yaml
 create mode 100644 protos/conversation.proto
 create mode 100644 server/conversation.pb.go
 create mode 100644 services/data-collection/conversation.pb.go
 rename services/{firestore-to-bigquery => data-collection}/go.mod (58%)
 rename services/{firestore-to-bigquery => data-collection}/go.sum (80%)
 create mode 100644 services/data-collection/update_big_query.go
 create mode 100644 services/data-collection/update_bigquery_test.go
 delete mode 100644 services/firestore-to-bigquery/main.go

diff --git a/docs/Instructions.md b/docs/Instructions.md
index 4784d07..0673df6 100644
--- a/docs/Instructions.md
+++ b/docs/Instructions.md
@@ -45,3 +45,43 @@ $ docker build . -t myherodotus -f Dockerfile --build-arg BUILD_VER=Herodotus
 $ docker tag myherodotus us-west1-docker.pkg.dev/${PROJECT_ID}/my-herodotus/base-image:${SEMVER}
 $ docker push us-west1-docker.pkg.dev/${PROJECT_ID}/my-herodotus/base-image:${SEMVER}
 ```
+
+## Update protobuf files
+
+This project uses [protocol buffer][protobuf] files to define types shared between the
+different services and surfaces of the application. These files must be updated and the output
+files regenerated when new fields are added.
+
+**NOTE**: The tool registry used by `buf` has a rate limit of 10 unauthenticated requests
+per hour :/. If this quota is reached, use [protoc directly instead][#protoc] 
+
+1. Install the [`buf` CLI][buf].
+
+    ```sh
+    $ GO111MODULE=on go install github.com/bufbuild/buf/cmd/buf@v1.47.2
+    ```
+
+1. Check the installation.
+
+    ```sh
+    buf --version
+    ```
+
+1. Build the protos. From the `protos/` directory, run the following command.
+
+    ```sh
+    buf build
+    ```
+
+1. Generate the protos. From the `protos/` directory, run the following command.
+
+    ```sh
+    buf generate
+    ```
+
+### Generate with protoc-gen-go {#protoc}
+
+1. 
+
+[buf]:      https://buf.build/docs/tutorials/getting-started-with-buf-cli
+[protobuf]: https://protobuf.dev/getting-started/gotutorial/
\ No newline at end of file
diff --git a/docs/Services.md b/docs/Services.md
index 38dc0d5..959f146 100644
--- a/docs/Services.md
+++ b/docs/Services.md
@@ -5,7 +5,7 @@ with data collection, evaluation, and model tuning.
 
 ## Data collection
 
-The [Firestore-to-BigQuery](../services/firestore-to-bigquery/) service updates a
+The [Firestore-to-BigQuery](../services/data-collection/) service updates a
 BigQuery table with user data and responses from the MyHerodotus app. The service
 is triggered by a specific event: when a document is updated in the Firestore database.
 This event is used for data collection because it only occurs when a user has rated
@@ -23,9 +23,25 @@ $ gcloud firestore export gs://myherodotus --database=l200 --collection-ids=Hero
 
 ### Deploy the service to Cloud functions
 
+To deploy the `data-collection` function to Cloud Run, run the following command from the
+`data-collection/` directory. Be sure to set the project ID using `gcloud config set project`.
+
+```sh
+$ gcloud functions deploy data-collection \
+  --gen2 \
+  --runtime=go121 \
+  --region="us-west1" \
+  --trigger-location="us-west1" \
+  --source=. \
+  --entry-point=CollectData \
+  --trigger-event-filters="type=google.cloud.firestore.document.v1.updated" \
+  --trigger-event-filters="database=l200" \
+  --trigger-event-filters-path-pattern=document='Herodotus/{userId}/Conversations/{conversationId}'
+```
 
 ### Sources
 
++ https://cloud.google.com/functions/docs/calling/cloud-firestore
 + https://cloud.google.com/functions/docs/tutorials/storage
 + https://cloud.google.com/functions/docs/calling/eventarc
 + https://cloud.google.com/eventarc/docs/reference/supported-events#cloud-firestore
diff --git a/protos/buf.gen.yaml b/protos/buf.gen.yaml
new file mode 100644
index 0000000..31e6397
--- /dev/null
+++ b/protos/buf.gen.yaml
@@ -0,0 +1,18 @@
+version: v2
+managed:
+  enabled: false
+  #override:
+  #    - file_option: go_package_prefix
+  #      path: conversation.proto
+  #      value: myherodotus.com/datacollection
+plugins:
+  - remote: buf.build/protocolbuffers/go
+    out: ../server
+    opt:
+    - module=myherodotus.com/main
+  - remote: buf.build/protocolbuffers/go
+    out: ../services/data-collection
+    opt:
+    - module=myherodotus.com/datacollection
+inputs:
+  - directory: .
\ No newline at end of file
diff --git a/protos/buf.yaml b/protos/buf.yaml
new file mode 100644
index 0000000..e0035b8
--- /dev/null
+++ b/protos/buf.yaml
@@ -0,0 +1,10 @@
+# For details on buf.yaml configuration, visit https://buf.build/docs/configuration/v2/buf-yaml
+version: v2
+modules:
+    - path: .
+lint:
+  use:
+    - STANDARD
+breaking:
+  use:
+    - FILE
diff --git a/protos/conversation.proto b/protos/conversation.proto
new file mode 100644
index 0000000..57a7c0a
--- /dev/null
+++ b/protos/conversation.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+package myherodotus;
+
+//option go_package = "myherodotus.com/main"; 
+
+message ConversationBit {
+  string bot_response = 1;
+  string user_query = 2;
+  string model = 3;
+  string prompt = 4;
+  int64  created = 5;
+  int32  token_count = 6;
+  string rating = 7;
+}
diff --git a/server/conversation.pb.go b/server/conversation.pb.go
new file mode 100644
index 0000000..6c8827b
--- /dev/null
+++ b/server/conversation.pb.go
@@ -0,0 +1,189 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// 	protoc-gen-go v1.35.2
+// 	protoc        (unknown)
+// source: conversation.proto
+
+package main
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/known/timestamppb"
+	reflect "reflect"
+	sync "sync"
+)
+
+const (
+	// Verify that this generated code is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+	// Verify that runtime/protoimpl is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ConversationBit struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	BotResponse string `protobuf:"bytes,1,opt,name=bot_response,json=botResponse,proto3" json:"bot_response,omitempty"`
+	UserQuery   string `protobuf:"bytes,2,opt,name=user_query,json=userQuery,proto3" json:"user_query,omitempty"`
+	Model       string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
+	Prompt      string `protobuf:"bytes,4,opt,name=prompt,proto3" json:"prompt,omitempty"`
+	Created     int64  `protobuf:"varint,5,opt,name=created,proto3" json:"created,omitempty"`
+	TokenCount  int32  `protobuf:"varint,6,opt,name=token_count,json=tokenCount,proto3" json:"token_count,omitempty"`
+	Rating      string `protobuf:"bytes,7,opt,name=rating,proto3" json:"rating,omitempty"`
+}
+
+func (x *ConversationBit) Reset() {
+	*x = ConversationBit{}
+	mi := &file_conversation_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ConversationBit) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConversationBit) ProtoMessage() {}
+
+func (x *ConversationBit) ProtoReflect() protoreflect.Message {
+	mi := &file_conversation_proto_msgTypes[0]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConversationBit.ProtoReflect.Descriptor instead.
+func (*ConversationBit) Descriptor() ([]byte, []int) {
+	return file_conversation_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ConversationBit) GetBotResponse() string {
+	if x != nil {
+		return x.BotResponse
+	}
+	return ""
+}
+
+func (x *ConversationBit) GetUserQuery() string {
+	if x != nil {
+		return x.UserQuery
+	}
+	return ""
+}
+
+func (x *ConversationBit) GetModel() string {
+	if x != nil {
+		return x.Model
+	}
+	return ""
+}
+
+func (x *ConversationBit) GetPrompt() string {
+	if x != nil {
+		return x.Prompt
+	}
+	return ""
+}
+
+func (x *ConversationBit) GetCreated() int64 {
+	if x != nil {
+		return x.Created
+	}
+	return 0
+}
+
+func (x *ConversationBit) GetTokenCount() int32 {
+	if x != nil {
+		return x.TokenCount
+	}
+	return 0
+}
+
+func (x *ConversationBit) GetRating() string {
+	if x != nil {
+		return x.Rating
+	}
+	return ""
+}
+
+var File_conversation_proto protoreflect.FileDescriptor
+
+var file_conversation_proto_rawDesc = []byte{
+	0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x6d, 0x79, 0x68, 0x65, 0x72, 0x6f, 0x64, 0x6f, 0x74, 0x75,
+	0x73, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x22, 0xd4, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x42, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x74, 0x5f, 0x72, 0x65,
+	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6f,
+	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65,
+	0x72, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75,
+	0x73, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65,
+	0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x16,
+	0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+	0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
+	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
+	0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+	0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
+	0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x5a, 0x14, 0x6d, 0x79, 0x68,
+	0x65, 0x72, 0x6f, 0x64, 0x6f, 0x74, 0x75, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x61, 0x69,
+	0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+	file_conversation_proto_rawDescOnce sync.Once
+	file_conversation_proto_rawDescData = file_conversation_proto_rawDesc
+)
+
+func file_conversation_proto_rawDescGZIP() []byte {
+	file_conversation_proto_rawDescOnce.Do(func() {
+		file_conversation_proto_rawDescData = protoimpl.X.CompressGZIP(file_conversation_proto_rawDescData)
+	})
+	return file_conversation_proto_rawDescData
+}
+
+var file_conversation_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_conversation_proto_goTypes = []any{
+	(*ConversationBit)(nil), // 0: myherodotus.ConversationBit
+}
+var file_conversation_proto_depIdxs = []int32{
+	0, // [0:0] is the sub-list for method output_type
+	0, // [0:0] is the sub-list for method input_type
+	0, // [0:0] is the sub-list for extension type_name
+	0, // [0:0] is the sub-list for extension extendee
+	0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_conversation_proto_init() }
+func file_conversation_proto_init() {
+	if File_conversation_proto != nil {
+		return
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_conversation_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   1,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_conversation_proto_goTypes,
+		DependencyIndexes: file_conversation_proto_depIdxs,
+		MessageInfos:      file_conversation_proto_msgTypes,
+	}.Build()
+	File_conversation_proto = out.File
+	file_conversation_proto_rawDesc = nil
+	file_conversation_proto_goTypes = nil
+	file_conversation_proto_depIdxs = nil
+}
diff --git a/server/db.go b/server/db.go
index 1fda9f5..f49295f 100644
--- a/server/db.go
+++ b/server/db.go
@@ -31,7 +31,6 @@ import (
 	"context"
 	"fmt"
 	"os"
-	"time"
 
 	"cloud.google.com/go/firestore"
 	"google.golang.org/api/iterator"
@@ -44,15 +43,16 @@ const (
 
 var CollectionName string = "HerodotusDev"
 
-type ConversationBit struct {
-	BotResponse string
-	UserQuery   string
-	Model       string
-	Prompt      string
-	Created     time.Time
-	TokenCount  int32
-}
-
+/*
+	type ConversationBit struct {
+		BotResponse string
+		UserQuery   string
+		Model       string
+		Prompt      string
+		Created     time.Time
+		TokenCount  int32
+	}
+*/
 type ConversationHistory struct {
 	UserEmail     string
 	Conversations []ConversationBit
@@ -98,8 +98,8 @@ func updateConversation(documentId, userEmail, rating, projectID string) error {
 
 	docRef := client.Collection(CollectionName).Doc(userEmail).Collection(SubCollectionName).Doc(documentId)
 	docRef.Set(ctx, map[string]interface{}{
-		"rating": rating,
-	}, firestore.Merge(firestore.FieldPath{"rating"}))
+		"Rating": rating,
+	}, firestore.Merge(firestore.FieldPath{"Rating"}))
 
 	return nil
 }
diff --git a/server/go.mod b/server/go.mod
index 99bacdf..e521423 100644
--- a/server/go.mod
+++ b/server/go.mod
@@ -5,6 +5,7 @@ go 1.23.0
 toolchain go1.23.2
 
 require (
+	cloud.google.com/go/dlp v1.20.0
 	cloud.google.com/go/firestore v1.17.0
 	cloud.google.com/go/logging v1.12.0
 	cloud.google.com/go/monitoring v1.21.1
@@ -14,10 +15,7 @@ require (
 	github.com/hashicorp/go-retryablehttp v0.7.4
 )
 
-require (
-	cloud.google.com/go/dlp v1.20.0 // indirect
-	cloud.google.com/go/longrunning v0.6.1 // indirect
-)
+require cloud.google.com/go/longrunning v0.6.1 // indirect
 
 require (
 	cloud.google.com/go v0.116.0 // indirect
@@ -71,7 +69,7 @@ require (
 	google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 // indirect
 	google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9
 	google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect
-	google.golang.org/grpc v1.67.1
+	google.golang.org/grpc v1.67.1 // indirect
 	google.golang.org/protobuf v1.35.1
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 )
diff --git a/server/go.sum b/server/go.sum
index b20d3b2..39d00ea 100644
--- a/server/go.sum
+++ b/server/go.sum
@@ -1,18 +1,12 @@
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ=
-cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc=
 cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
 cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U=
 cloud.google.com/go/aiplatform v1.68.0 h1:EPPqgHDJpBZKRvv+OsB3cr0jYz3EL2pZ+802rBPcG8U=
 cloud.google.com/go/aiplatform v1.68.0/go.mod h1:105MFA3svHjC3Oazl7yjXAmIR89LKhRAeNdnDKJczME=
-cloud.google.com/go/auth v0.9.3 h1:VOEUIAADkkLtyfr3BLa3R8Ed/j6w1jTBmARx+wb5w5U=
-cloud.google.com/go/auth v0.9.3/go.mod h1:7z6VY+7h3KUdRov5F1i8NDP5ZzWKYmEPO842BgCsmTk=
 cloud.google.com/go/auth v0.9.9 h1:BmtbpNQozo8ZwW2t7QJjnrQtdganSdmqeIBxHxNkEZQ=
 cloud.google.com/go/auth v0.9.9/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI=
 cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY=
 cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc=
-cloud.google.com/go/compute/metadata v0.5.1 h1:NM6oZeZNlYjiwYje+sYFjEpP0Q0zCan1bmQW/KmIrGs=
-cloud.google.com/go/compute/metadata v0.5.1/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k=
 cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo=
 cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k=
 cloud.google.com/go/dlp v1.20.0 h1:Wwz1FoZp3pyrTNkS5fncaAccP/AbqzLQuN5WMi3aVYQ=
@@ -165,8 +159,6 @@ golang.org/x/arch v0.10.0 h1:S3huipmSclq3PJMNe76NGwkBR504WFkQ5dhzWzP8ZW8=
 golang.org/x/arch v0.10.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
-golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
 golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
 golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -179,8 +171,6 @@ golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73r
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
-golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
 golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
 golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -197,18 +187,12 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
-golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
 golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
-golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
 golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
 golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
-golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U=
-golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
 golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
 golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -217,8 +201,6 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/api v0.197.0 h1:x6CwqQLsFiA5JKAiGyGBjc2bNtHtLddhJCE2IKuhhcQ=
-google.golang.org/api v0.197.0/go.mod h1:AuOuo20GoQ331nq7DquGHlU6d+2wN2fZ8O0ta60nRNw=
 google.golang.org/api v0.203.0 h1:SrEeuwU3S11Wlscsn+LA1kb/Y5xT8uggJSkIhD08NAU=
 google.golang.org/api v0.203.0/go.mod h1:BuOVyCSYEPwJb3npWvDnNmFI92f3GeRnHNkETneT3SI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
@@ -226,16 +208,10 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 h1:BulPr26Jqjnd4eYDVe+YvyR7Yc2vJGkO5/0UxD0/jZU=
-google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:hL97c3SYopEHblzpxRL4lSs523++l8DYxGM1FQiYmb4=
 google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 h1:Df6WuGvthPzc+JiQ/G+m+sNX24kc0aTBqoDN/0yyykE=
 google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53/go.mod h1:fheguH3Am2dGp1LfXkrvwqC/KlFq8F0nLq3LryOMrrE=
-google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 h1:hjSy6tcFQZ171igDaN5QHOw2n6vx40juYbC/x67CEhc=
-google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I=
 google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 h1:T6rh4haD3GVYsgEfWExoCZA2o2FmbNyKpTuAxbEFPTg=
 google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:wp2WsuBYj6j8wUdo3ToZsdxxixbvQNAHqVJrTgi5E5M=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI=
 google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
@@ -243,8 +219,6 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac
 google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
 google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
 google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo=
-google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y=
 google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
 google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
@@ -256,8 +230,6 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
 google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
 google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
-google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
-google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
 google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
 google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
diff --git a/server/main.go b/server/main.go
index 271e6ea..2e98818 100644
--- a/server/main.go
+++ b/server/main.go
@@ -200,7 +200,7 @@ func updateDatabase(projectID, userMessage, modelName, promptTemplateName, botRe
 	convo := &ConversationBit{
 		UserQuery:   cleanMsg,
 		BotResponse: botResponse,
-		Created:     time.Now(),
+		Created:     time.Now().Unix(),
 		Model:       modelName,
 		Prompt:      promptTemplateName,
 		TokenCount:  botTokens + userTokens,
diff --git a/services/data-collection/conversation.pb.go b/services/data-collection/conversation.pb.go
new file mode 100644
index 0000000..2e7e035
--- /dev/null
+++ b/services/data-collection/conversation.pb.go
@@ -0,0 +1,189 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// 	protoc-gen-go v1.35.2
+// 	protoc        (unknown)
+// source: conversation.proto
+
+package datacollection
+
+import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	_ "google.golang.org/protobuf/types/known/timestamppb"
+	reflect "reflect"
+	sync "sync"
+)
+
+const (
+	// Verify that this generated code is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+	// Verify that runtime/protoimpl is sufficiently up-to-date.
+	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ConversationBit struct {
+	state         protoimpl.MessageState
+	sizeCache     protoimpl.SizeCache
+	unknownFields protoimpl.UnknownFields
+
+	BotResponse string `protobuf:"bytes,1,opt,name=bot_response,json=botResponse,proto3" json:"bot_response,omitempty"`
+	UserQuery   string `protobuf:"bytes,2,opt,name=user_query,json=userQuery,proto3" json:"user_query,omitempty"`
+	Model       string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
+	Prompt      string `protobuf:"bytes,4,opt,name=prompt,proto3" json:"prompt,omitempty"`
+	Created     int64  `protobuf:"varint,5,opt,name=created,proto3" json:"created,omitempty"`
+	TokenCount  int32  `protobuf:"varint,6,opt,name=token_count,json=tokenCount,proto3" json:"token_count,omitempty"`
+	Rating      string `protobuf:"bytes,7,opt,name=rating,proto3" json:"rating,omitempty"`
+}
+
+func (x *ConversationBit) Reset() {
+	*x = ConversationBit{}
+	mi := &file_conversation_proto_msgTypes[0]
+	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+	ms.StoreMessageInfo(mi)
+}
+
+func (x *ConversationBit) String() string {
+	return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConversationBit) ProtoMessage() {}
+
+func (x *ConversationBit) ProtoReflect() protoreflect.Message {
+	mi := &file_conversation_proto_msgTypes[0]
+	if x != nil {
+		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+		if ms.LoadMessageInfo() == nil {
+			ms.StoreMessageInfo(mi)
+		}
+		return ms
+	}
+	return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConversationBit.ProtoReflect.Descriptor instead.
+func (*ConversationBit) Descriptor() ([]byte, []int) {
+	return file_conversation_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ConversationBit) GetBotResponse() string {
+	if x != nil {
+		return x.BotResponse
+	}
+	return ""
+}
+
+func (x *ConversationBit) GetUserQuery() string {
+	if x != nil {
+		return x.UserQuery
+	}
+	return ""
+}
+
+func (x *ConversationBit) GetModel() string {
+	if x != nil {
+		return x.Model
+	}
+	return ""
+}
+
+func (x *ConversationBit) GetPrompt() string {
+	if x != nil {
+		return x.Prompt
+	}
+	return ""
+}
+
+func (x *ConversationBit) GetCreated() int64 {
+	if x != nil {
+		return x.Created
+	}
+	return 0
+}
+
+func (x *ConversationBit) GetTokenCount() int32 {
+	if x != nil {
+		return x.TokenCount
+	}
+	return 0
+}
+
+func (x *ConversationBit) GetRating() string {
+	if x != nil {
+		return x.Rating
+	}
+	return ""
+}
+
+var File_conversation_proto protoreflect.FileDescriptor
+
+var file_conversation_proto_rawDesc = []byte{
+	0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x6d, 0x79, 0x68, 0x65, 0x72, 0x6f, 0x64, 0x6f, 0x74, 0x75,
+	0x73, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+	0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x22, 0xd4, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74,
+	0x69, 0x6f, 0x6e, 0x42, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x74, 0x5f, 0x72, 0x65,
+	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6f,
+	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65,
+	0x72, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75,
+	0x73, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65,
+	0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x16,
+	0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
+	0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
+	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
+	0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+	0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
+	0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x16, 0x5a, 0x14, 0x6d, 0x79, 0x68,
+	0x65, 0x72, 0x6f, 0x64, 0x6f, 0x74, 0x75, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x61, 0x69,
+	0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+	file_conversation_proto_rawDescOnce sync.Once
+	file_conversation_proto_rawDescData = file_conversation_proto_rawDesc
+)
+
+func file_conversation_proto_rawDescGZIP() []byte {
+	file_conversation_proto_rawDescOnce.Do(func() {
+		file_conversation_proto_rawDescData = protoimpl.X.CompressGZIP(file_conversation_proto_rawDescData)
+	})
+	return file_conversation_proto_rawDescData
+}
+
+var file_conversation_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_conversation_proto_goTypes = []any{
+	(*ConversationBit)(nil), // 0: myherodotus.ConversationBit
+}
+var file_conversation_proto_depIdxs = []int32{
+	0, // [0:0] is the sub-list for method output_type
+	0, // [0:0] is the sub-list for method input_type
+	0, // [0:0] is the sub-list for extension type_name
+	0, // [0:0] is the sub-list for extension extendee
+	0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_conversation_proto_init() }
+func file_conversation_proto_init() {
+	if File_conversation_proto != nil {
+		return
+	}
+	type x struct{}
+	out := protoimpl.TypeBuilder{
+		File: protoimpl.DescBuilder{
+			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+			RawDescriptor: file_conversation_proto_rawDesc,
+			NumEnums:      0,
+			NumMessages:   1,
+			NumExtensions: 0,
+			NumServices:   0,
+		},
+		GoTypes:           file_conversation_proto_goTypes,
+		DependencyIndexes: file_conversation_proto_depIdxs,
+		MessageInfos:      file_conversation_proto_msgTypes,
+	}.Build()
+	File_conversation_proto = out.File
+	file_conversation_proto_rawDesc = nil
+	file_conversation_proto_goTypes = nil
+	file_conversation_proto_depIdxs = nil
+}
diff --git a/services/firestore-to-bigquery/go.mod b/services/data-collection/go.mod
similarity index 58%
rename from services/firestore-to-bigquery/go.mod
rename to services/data-collection/go.mod
index 1103914..889847c 100644
--- a/services/firestore-to-bigquery/go.mod
+++ b/services/data-collection/go.mod
@@ -1,65 +1,64 @@
-module myherodotus.com/firestore-to-bigquery
+module myherodotus.com/data-collection
 
 go 1.23.2
 
 require (
-	cloud.google.com/go/storage v1.46.0
+	cloud.google.com/go/bigquery v1.63.1
+	cloud.google.com/go/firestore v1.17.0
 	github.com/GoogleCloudPlatform/functions-framework-go v1.9.0
 	github.com/cloudevents/sdk-go/v2 v2.15.2
+	github.com/googleapis/google-cloudevents-go v0.9.0
+	google.golang.org/protobuf v1.35.1
 )
 
 require (
-	cel.dev/expr v0.16.1 // indirect
 	cloud.google.com/go v0.116.0 // indirect
 	cloud.google.com/go/auth v0.10.0 // indirect
 	cloud.google.com/go/auth/oauth2adapt v0.2.5 // indirect
 	cloud.google.com/go/compute/metadata v0.5.2 // indirect
 	cloud.google.com/go/iam v1.2.1 // indirect
-	cloud.google.com/go/monitoring v1.21.1 // indirect
-	github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 // indirect
-	github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 // indirect
-	github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 // indirect
-	github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect
-	github.com/cespare/xxhash/v2 v2.3.0 // indirect
-	github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 // indirect
-	github.com/envoyproxy/go-control-plane v0.13.0 // indirect
-	github.com/envoyproxy/protoc-gen-validate v1.1.0 // indirect
+	cloud.google.com/go/longrunning v0.6.1 // indirect
+	github.com/apache/arrow/go/v15 v15.0.2 // indirect
 	github.com/felixge/httpsnoop v1.0.4 // indirect
 	github.com/go-logr/logr v1.4.2 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
+	github.com/goccy/go-json v0.10.2 // indirect
 	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
+	github.com/google/flatbuffers v23.5.26+incompatible // indirect
 	github.com/google/s2a-go v0.1.8 // indirect
 	github.com/google/uuid v1.6.0 // indirect
 	github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
 	github.com/googleapis/gax-go/v2 v2.13.0 // indirect
-	github.com/json-iterator/go v1.1.10 // indirect
-	github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect
-	github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 // indirect
-	github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
+	github.com/json-iterator/go v1.1.12 // indirect
+	github.com/klauspost/compress v1.16.7 // indirect
+	github.com/klauspost/cpuid/v2 v2.2.5 // indirect
+	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
+	github.com/modern-go/reflect2 v1.0.2 // indirect
+	github.com/pierrec/lz4/v4 v4.1.18 // indirect
+	github.com/zeebo/xxh3 v1.0.2 // indirect
 	go.opencensus.io v0.24.0 // indirect
-	go.opentelemetry.io/contrib/detectors/gcp v1.29.0 // indirect
 	go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect
 	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
 	go.opentelemetry.io/otel v1.29.0 // indirect
 	go.opentelemetry.io/otel/metric v1.29.0 // indirect
-	go.opentelemetry.io/otel/sdk v1.29.0 // indirect
-	go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect
 	go.opentelemetry.io/otel/trace v1.29.0 // indirect
 	go.uber.org/atomic v1.4.0 // indirect
 	go.uber.org/multierr v1.1.0 // indirect
 	go.uber.org/zap v1.10.0 // indirect
 	golang.org/x/crypto v0.28.0 // indirect
+	golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
+	golang.org/x/mod v0.20.0 // indirect
 	golang.org/x/net v0.30.0 // indirect
 	golang.org/x/oauth2 v0.23.0 // indirect
 	golang.org/x/sync v0.8.0 // indirect
 	golang.org/x/sys v0.26.0 // indirect
 	golang.org/x/text v0.19.0 // indirect
 	golang.org/x/time v0.7.0 // indirect
+	golang.org/x/tools v0.24.0 // indirect
+	golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
 	google.golang.org/api v0.203.0 // indirect
 	google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 // indirect
 	google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect
 	google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect
 	google.golang.org/grpc v1.67.1 // indirect
-	google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a // indirect
-	google.golang.org/protobuf v1.35.1 // indirect
 )
diff --git a/services/firestore-to-bigquery/go.sum b/services/data-collection/go.sum
similarity index 80%
rename from services/firestore-to-bigquery/go.sum
rename to services/data-collection/go.sum
index 25a9bd0..8fc0c27 100644
--- a/services/firestore-to-bigquery/go.sum
+++ b/services/data-collection/go.sum
@@ -1,5 +1,3 @@
-cel.dev/expr v0.16.1 h1:NR0+oFYzR1CqLFhTAqg3ql59G9VfN8fKq1TCHJ6gq1g=
-cel.dev/expr v0.16.1/go.mod h1:AsGA5zb3WruAEQeQng1RZdGEXmBj0jvMWh6l5SnNuC8=
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
 cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U=
@@ -7,53 +5,37 @@ cloud.google.com/go/auth v0.10.0 h1:tWlkvFAh+wwTOzXIjrwM64karR1iTBZ/GRr0S/DULYo=
 cloud.google.com/go/auth v0.10.0/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI=
 cloud.google.com/go/auth/oauth2adapt v0.2.5 h1:2p29+dePqsCHPP1bqDJcKj4qxRyYCcbzKpFyKGt3MTk=
 cloud.google.com/go/auth/oauth2adapt v0.2.5/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8=
+cloud.google.com/go/bigquery v1.63.1 h1:/6syiWrSpardKNxdvldS5CUTRJX1iIkSPXCjLjiGL+g=
+cloud.google.com/go/bigquery v1.63.1/go.mod h1:ufaITfroCk17WTqBhMpi8CRjsfHjMX07pDrQaRKKX2o=
 cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo=
 cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k=
+cloud.google.com/go/datacatalog v1.22.1 h1:i0DyKb/o7j+0vgaFtimcRFjYsD6wFw1jpnODYUyiYRs=
+cloud.google.com/go/datacatalog v1.22.1/go.mod h1:MscnJl9B2lpYlFoxRjicw19kFTwEke8ReKL5Y/6TWg8=
+cloud.google.com/go/firestore v1.17.0 h1:iEd1LBbkDZTFsLw3sTH50eyg4qe8eoG6CjocmEXO9aQ=
+cloud.google.com/go/firestore v1.17.0/go.mod h1:69uPx1papBsY8ZETooc71fOhoKkD70Q1DwMrtKuOT/Y=
 cloud.google.com/go/iam v1.2.1 h1:QFct02HRb7H12J/3utj0qf5tobFh9V4vR6h9eX5EBRU=
 cloud.google.com/go/iam v1.2.1/go.mod h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g=
-cloud.google.com/go/logging v1.11.0 h1:v3ktVzXMV7CwHq1MBF65wcqLMA7i+z3YxbUsoK7mOKs=
-cloud.google.com/go/logging v1.11.0/go.mod h1:5LDiJC/RxTt+fHc1LAt20R9TKiUTReDg6RuuFOZ67+A=
 cloud.google.com/go/longrunning v0.6.1 h1:lOLTFxYpr8hcRtcwWir5ITh1PAKUD/sG2lKrTSYjyMc=
 cloud.google.com/go/longrunning v0.6.1/go.mod h1:nHISoOZpBcmlwbJmiVk5oDRz0qG/ZxPynEGs1iZ79s0=
-cloud.google.com/go/monitoring v1.21.1 h1:zWtbIoBMnU5LP9A/fz8LmWMGHpk4skdfeiaa66QdFGc=
-cloud.google.com/go/monitoring v1.21.1/go.mod h1:Rj++LKrlht9uBi8+Eb530dIrzG/cU/lB8mt+lbeFK1c=
-cloud.google.com/go/storage v1.46.0 h1:OTXISBpFd8KaA2ClT3K3oRk8UGOcTHtrZ1bW88xKiic=
-cloud.google.com/go/storage v1.46.0/go.mod h1:lM+gMAW91EfXIeMTBmixRsKL/XCxysytoAgduVikjMk=
-cloud.google.com/go/trace v1.11.1 h1:UNqdP+HYYtnm6lb91aNA5JQ0X14GnxkABGlfz2PzPew=
-cloud.google.com/go/trace v1.11.1/go.mod h1:IQKNQuBzH72EGaXEodKlNJrWykGZxet2zgjtS60OtjA=
+cloud.google.com/go/storage v1.43.0 h1:CcxnSohZwizt4LCzQHWvBf1/kvtHUn7gk9QERXPyXFs=
+cloud.google.com/go/storage v1.43.0/go.mod h1:ajvxEa7WmZS1PxvKRq4bq0tFT3vMd502JwstCcYv0Q0=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/GoogleCloudPlatform/functions-framework-go v1.9.0 h1:Fq0sKuCyyFFVFm1r6fEQJ4TRnbbhXP9Q6MEUX+UAd/0=
 github.com/GoogleCloudPlatform/functions-framework-go v1.9.0/go.mod h1:8Ww7VHPCGKqCfZOCT9INIiakNgGQPGRfL4U4yy5F5Kc=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1 h1:pB2F2JKCj1Znmp2rwxxt1J0Fg0wezTMgWYk5Mpbi1kg=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.1/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1 h1:UQ0AhxogsIRZDkElkblfnwjc3IaltCm2HUMvezQaL7s=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.48.1/go.mod h1:jyqM3eLpJ3IbIFDTKVz2rF9T/xWGW0rIriGwnz8l9Tk=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1 h1:oTX4vsorBZo/Zdum6OKPA4o7544hm6smoRv1QjpTwGo=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.48.1/go.mod h1:0wEl7vrAD8mehJyohS9HZy+WyEOaQO2mJx86Cvh93kM=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1 h1:8nn+rsCvTq9axyEh382S0PFLBeaFwNsT43IrPWzctRU=
-github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.48.1/go.mod h1:viRWSEhtMZqz1rhwmOVKkWl6SwmVowfL9O2YR5gI2PE=
+github.com/apache/arrow/go/v15 v15.0.2 h1:60IliRbiyTWCWjERBCkO1W4Qun9svcYoZrSLcyOsMLE=
+github.com/apache/arrow/go/v15 v15.0.2/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g=
-github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw=
-github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
-github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 github.com/cloudevents/sdk-go/v2 v2.15.2 h1:54+I5xQEnI73RBhWHxbI1XJcqOFOVJN85vb41+8mHUc=
 github.com/cloudevents/sdk-go/v2 v2.15.2/go.mod h1:lL7kSWAE/V8VI4Wh0jbL2v/jvqsm6tjmaQBSvxcv4uE=
 github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
-github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8ETbOasdwEV+avkR75ZzsVV9WI=
-github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
 github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les=
-github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM=
-github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4=
 github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@@ -61,6 +43,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
 github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
+github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
 github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
 github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
@@ -77,6 +61,8 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
 github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
 github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
 github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
+github.com/google/flatbuffers v23.5.26+incompatible h1:M9dgRyhJemaM4Sw8+66GHBu8ioaQmyPLg1b8VwK5WJg=
+github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -97,16 +83,23 @@ github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gT
 github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA=
 github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s=
 github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A=
-github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
-github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
-github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
+github.com/googleapis/google-cloudevents-go v0.9.0 h1:UqGCqRrCbeC4Ym63k0MHap7h1WdEy8yw87v3FnK3Slk=
+github.com/googleapis/google-cloudevents-go v0.9.0/go.mod h1:woGVpSSP+QfWwE54QrQx/Kcb/r20N2a4LQ0m/DIgO28=
+github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
+github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
+github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
+github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
+github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
+github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg=
-github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
+github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
+github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
+github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
+github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ=
+github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo=
-github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -121,10 +114,12 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT
 github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
 github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
+github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
+github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
+github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
+github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
 go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
-go.opentelemetry.io/contrib/detectors/gcp v1.29.0 h1:TiaiXB4DpGD3sdzNlYQxruQngn5Apwzi1X0DRhuGvDQ=
-go.opentelemetry.io/contrib/detectors/gcp v1.29.0/go.mod h1:GW2aWZNwR2ZxDLdv8OyC2G8zkRoQBuURgV7RPQgcPoU=
 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc=
 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI=
 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=
@@ -135,8 +130,6 @@ go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2
 go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8=
 go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo=
 go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok=
-go.opentelemetry.io/otel/sdk/metric v1.29.0 h1:K2CfmJohnRgvZ9UAj2/FhIf/okdWcNdBwe1m8xFXiSY=
-go.opentelemetry.io/otel/sdk/metric v1.29.0/go.mod h1:6zZLdCl2fkauYoZIOn/soQIDSWFmNSRcICarHfuhNJQ=
 go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4=
 go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ=
 go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
@@ -150,9 +143,13 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
 golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
 golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
+golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
+golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -173,6 +170,7 @@ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5h
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
 golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -186,7 +184,13 @@ golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGm
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
+golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY=
+golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
+gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o=
+gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY=
 google.golang.org/api v0.203.0 h1:SrEeuwU3S11Wlscsn+LA1kb/Y5xT8uggJSkIhD08NAU=
 google.golang.org/api v0.203.0/go.mod h1:BuOVyCSYEPwJb3npWvDnNmFI92f3GeRnHNkETneT3SI=
 google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
@@ -207,8 +211,6 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
 google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
 google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
 google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
-google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a h1:UIpYSuWdWHSzjwcAFRLjKcPXFZVVLXGEM23W+NWqipw=
-google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a/go.mod h1:9i1T9n4ZinTUZGgzENMi8MDDgbGC5mqTS75JAv6xN3A=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
 google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
diff --git a/services/data-collection/update_big_query.go b/services/data-collection/update_big_query.go
new file mode 100644
index 0000000..949842a
--- /dev/null
+++ b/services/data-collection/update_big_query.go
@@ -0,0 +1,138 @@
+package datacollection
+
+import (
+	"context"
+	"fmt"
+	"log"
+	"os"
+	"strings"
+
+	"github.com/GoogleCloudPlatform/functions-framework-go/functions"
+	"github.com/cloudevents/sdk-go/v2/event"
+	"google.golang.org/protobuf/encoding/protojson"
+
+	"cloud.google.com/go/bigquery"
+	"cloud.google.com/go/firestore"
+	"github.com/googleapis/google-cloudevents-go/cloud/firestoredata"
+)
+
+var (
+	projectID      = ""
+	datasetName    = ""             // Pass in as env var
+	collectionName = "HerodotusDev" // Pass in as env var
+)
+
+const (
+	databaseID        = "l200"
+	tableName         = "conversations"
+	subCollectionname = "Conversations"
+)
+
+func init() {
+	functions.CloudEvent("CollectData", collectData)
+}
+
+// collectData consumes a CloudEvent message and logs details about the changed object.
+func collectData(ctx context.Context, e event.Event) error {
+	defer func() {
+		if r := recover(); r != nil {
+			log.Printf("Error: %v", r)
+		}
+	}()
+
+	projectID = os.Getenv("PROJECT_ID")
+	datasetName = os.Getenv("DATASET_NAME")
+	collectionName = os.Getenv("BUILD_VER")
+
+	var data firestoredata.DocumentEventData
+	options := protojson.UnmarshalOptions{
+		DiscardUnknown: true,
+	}
+	if err := options.Unmarshal(e.Data(), &data); err != nil {
+		log.Fatalf("protojson.Unmarshal: %v", err)
+		return err
+	}
+
+	documentName := data.GetValue().Name
+
+	fmt.Println("Starting collection job")
+	docSnap, err := retrieveDocument(documentName)
+	if err != nil {
+		log.Fatalf("retrieve Firestore doc: %v", err)
+		return err
+	}
+
+	ok, err := updateBigQuery(docSnap)
+	if err != nil {
+		log.Fatalf("update BigQuery: %v", err)
+		return err
+	}
+
+	if !ok {
+		log.Printf("update transaction failed: see if Rating is populated: %s", documentName)
+		return nil
+	}
+
+	return nil
+}
+
+func updateBigQuery(docSnap *firestore.DocumentSnapshot) (bool, error) {
+	var convo ConversationBit
+	err := docSnap.DataTo(&convo)
+	if err != nil {
+		return false, err
+	}
+
+	// Don't update if there is no user rating.
+	if convo.GetRating() == "" {
+		return false, nil
+	}
+
+	ctx := context.Background()
+	client, err := bigquery.NewClient(ctx, projectID)
+	if err != nil {
+		return false, err
+	}
+	defer client.Close()
+
+	// Update the appropriate row in BigQuery
+	ins := client.Dataset(datasetName).Table(tableName).Inserter()
+	ins.IgnoreUnknownValues = true
+	ins.SkipInvalidRows = true
+
+	err = ins.Put(ctx, &convo)
+	if err != nil {
+		return false, err
+	}
+
+	return true, nil
+}
+
+// retrieveDocument gets a DocumentSnapshot from Firestore by the Document's fully-qualified name.
+func retrieveDocument(documentName string) (doc *firestore.DocumentSnapshot, err error) {
+	ctx := context.Background()
+	client, err := firestore.NewClientWithDatabase(ctx, projectID, databaseID)
+	if err != nil {
+		return nil, err
+	}
+	defer client.Close()
+
+	// The format of the document name returned from EventArc is
+	// projects/{proj}/databses/{db}/documents/{document_path}
+	paths := strings.Split(documentName, "documents/")
+	if len(paths) != 2 {
+		return nil, fmt.Errorf("bad document resource name received: %s", documentName)
+	}
+
+	documentPath := paths[len(paths)-1]
+
+	// Get the document from Firestore
+	docRef := client.Doc(documentPath)
+
+	doc, err = docRef.Get(ctx)
+	if !doc.Exists() {
+		return nil, fmt.Errorf("document doesn't exist")
+	}
+
+	return doc, nil
+}
diff --git a/services/data-collection/update_bigquery_test.go b/services/data-collection/update_bigquery_test.go
new file mode 100644
index 0000000..34c6ec4
--- /dev/null
+++ b/services/data-collection/update_bigquery_test.go
@@ -0,0 +1,52 @@
+package datacollection
+
+import (
+	"context"
+	"fmt"
+	"os"
+	"testing"
+
+	"github.com/cloudevents/sdk-go/v2/event"
+	"github.com/googleapis/google-cloudevents-go/cloud/firestoredata"
+	"google.golang.org/protobuf/encoding/protojson"
+)
+
+var (
+	testProjectID  = ""
+	testDatabaseID = "l200"
+)
+
+const (
+	testResource = "/HerodotusDev/34ec0862ba25c6705faa0084193cb2f5ded5709569998cda5ba518b15710647a/Conversations/6QJ1lQNpf9YUBERWtwR5"
+)
+
+func TestMain(m *testing.M) {
+	testProjectID = os.Getenv("PROJECT_ID")
+	m.Run()
+}
+
+func TestCollectData(t *testing.T) {
+	resourceName := fmt.Sprintf("projects/%s/databases/%s/documents", testProjectID, testDatabaseID)
+	documentName := fmt.Sprintf("%s%s", resourceName, testResource)
+	ctx := context.Background()
+	evt := event.New()
+	data := &firestoredata.DocumentEventData{
+		Value: &firestoredata.Document{
+			Name: documentName,
+		},
+	}
+	options := protojson.MarshalOptions{
+		AllowPartial: true,
+	}
+	encodedData, err := options.Marshal(data)
+	if err != nil {
+		t.Fatal(err)
+	}
+
+	evt.SetData(*event.StringOfApplicationJSON(), encodedData)
+
+	err = collectData(ctx, evt)
+	if err != nil {
+		t.Fatal(err)
+	}
+}
diff --git a/services/firestore-to-bigquery/main.go b/services/firestore-to-bigquery/main.go
deleted file mode 100644
index fc8c478..0000000
--- a/services/firestore-to-bigquery/main.go
+++ /dev/null
@@ -1,94 +0,0 @@
-package main
-
-import (
-	"context"
-	"fmt"
-	"log"
-	"os/exec"
-	"strings"
-
-	"github.com/GoogleCloudPlatform/functions-framework-go/functions"
-	"github.com/cloudevents/sdk-go/v2/event"
-
-	//"cloud.google.com/go/bigquery"
-	"cloud.google.com/go/storage"
-)
-
-var (
-	bucketName        = "myherodotus"
-	databaseName      = "l200"
-	collectionName    = "HerodotusDev"
-	subCollectionname = "Conversations"
-)
-
-func init() {
-	functions.CloudEvent("CollectData", collectData)
-}
-
-func main() {
-	collectData(context.Background(), event.New())
-}
-
-// collectData consumes a CloudEvent message and logs details about the changed object.
-func collectData(ctx context.Context, e event.Event) error {
-	defer func() {
-		if r := recover(); r != nil {
-			log.Printf("Error: %v", r)
-		}
-	}()
-
-	fmt.Println("Starting collection job")
-	ok, err := exportFromFirestore(bucketName, databaseName, collectionName, subCollectionname)
-	if err != nil {
-		log.Println(err)
-	}
-
-	if !ok {
-		log.Println("Export job failed.")
-	}
-
-	uri, err := getStorageURI(bucketName)
-	fmt.Printf("Export output location: %s", uri)
-
-	return nil
-}
-
-func getStorageURI(bucketName string) (string, error) {
-	ctx := context.Background()
-	client, err := storage.NewClient(ctx)
-	if err != nil {
-		return "", err
-	}
-	defer client.Close()
-
-	//bucket := client.Bucket(bucketName)
-
-	return "", nil
-}
-
-// exportFromFirestore calls the gcloud command to export collections from Firestore.
-// This function uses the `exec.Command()` method to invoke gcloud, which is probably
-// an anti-pattern.
-func exportFromFirestore(bucketName, databaseName string, collectionNames ...string) (bool, error) {
-
-	collectionString := strings.Join(collectionNames, ",")
-	cmd := exec.Command("gcloud", "firestore", "export", "gs://"+bucketName, "--database="+databaseName, "--collection-ids="+collectionString)
-
-	stdout, err := cmd.Output()
-	if err != nil {
-		return false, fmt.Errorf("%s", stdout)
-	}
-	// Parse stdout (as YAML?)
-
-	// Extract outputUriPrefix, name
-
-	// Create a new longrunning operations client
-
-	// Wait for the job to complete
-
-	// Return the outputUriPrefix
-
-	log.Println(string(stdout))
-
-	return true, nil
-}

From e924ff3851d1fcd2cb466f35a6029fcdd68bb9b7 Mon Sep 17 00:00:00 2001
From: Eric Schmidt <erschmid@google.com>
Date: Sat, 16 Nov 2024 02:09:43 +0000
Subject: [PATCH 3/3] chore: some bug fixes, better JS error handling

---
 .github/workflows/go.yml                     |  16 +++++++++++++++-
 docs/Services.md                             |   4 ++++
 docs/architecture.png                        | Bin 82495 -> 91012 bytes
 server/main.go                               |   9 +++++++--
 services/data-collection/update_big_query.go |  11 ++++++-----
 site/html/index.html                         |   2 ++
 site/js/index.js                             |  15 ++++++++++++++-
 7 files changed, 48 insertions(+), 9 deletions(-)

diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index ec076d8..385269e 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -11,7 +11,7 @@ on:
 
 jobs:
 
-  build:
+  build_server:
     runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v4
@@ -24,3 +24,17 @@ jobs:
     - name: Build
       working-directory: ./server
       run: go build -v ./...
+
+  build_service:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v4
+
+    - name: Set up Go
+      uses: actions/setup-go@v4
+      with:
+        go-version: '1.23.1'
+
+    - name: Build data collection
+      working-directory: ./services/data-collection
+      run: go build -v .
diff --git a/docs/Services.md b/docs/Services.md
index 959f146..df2bc1e 100644
--- a/docs/Services.md
+++ b/docs/Services.md
@@ -26,6 +26,9 @@ $ gcloud firestore export gs://myherodotus --database=l200 --collection-ids=Hero
 To deploy the `data-collection` function to Cloud Run, run the following command from the
 `data-collection/` directory. Be sure to set the project ID using `gcloud config set project`.
 
+**IMPORTANT**: Make sure that `$PROJECT_ID` and `$DATASET_NAME` env vars are set before deploying
+the function!
+
 ```sh
 $ gcloud functions deploy data-collection \
   --gen2 \
@@ -34,6 +37,7 @@ $ gcloud functions deploy data-collection \
   --trigger-location="us-west1" \
   --source=. \
   --entry-point=CollectData \
+  --set-env-vars PROJECT_ID=${PROJECT_ID},DATASET_NAME=${DATASET_NAME},BUILD_VER=Herodotus \
   --trigger-event-filters="type=google.cloud.firestore.document.v1.updated" \
   --trigger-event-filters="database=l200" \
   --trigger-event-filters-path-pattern=document='Herodotus/{userId}/Conversations/{conversationId}'
diff --git a/docs/architecture.png b/docs/architecture.png
index 0d93f5d18a683f87b8dc77d97327bb7523862a0e..de143b7da18e3c6102951127401a8f57db7213c2 100644
GIT binary patch
literal 91012
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%0AZ|w(@7nQaHszzePd3=Q!r5oFYF*
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
LcXDq(dhve%vr~-4

literal 82495
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
GdjB6b1w4}g

diff --git a/server/main.go b/server/main.go
index 2e98818..5234733 100644
--- a/server/main.go
+++ b/server/main.go
@@ -41,6 +41,11 @@ type UserMessage struct {
 }
 
 func main() {
+	defer func() {
+		if r := recover(); r != nil {
+			LogError(fmt.Sprintf("Error: %v", r))
+		}
+	}()
 
 	projectID = os.Getenv("PROJECT_ID")
 	if _loggerName, ok := os.LookupEnv("LOGGER_NAME"); ok {
@@ -132,7 +137,7 @@ func respondToUser(c *gin.Context) {
 	var promptTemplateName string
 	err := c.BindJSON(&userMsg)
 	if err != nil {
-		responseMsg := fmt.Sprintf("couldn't parse client message: %v\n", err)
+		responseMsg := fmt.Sprintf("could not parse client message: %v\n", err)
 		LogError(responseMsg)
 		c.JSON(http.StatusBadRequest, gin.H{
 			"Message": responseMsg,
@@ -252,7 +257,7 @@ func rateResponse(c *gin.Context) {
 		return
 	}
 
-	err = updateConversation(userRating.DocumentID, userEmail, userRating.UserRating, projectID)
+	err = updateConversation(userRating.DocumentID, encryptedEmail, userRating.UserRating, projectID)
 	if err != nil {
 		LogError(err.Error())
 		c.JSON(http.StatusBadRequest, gin.H{
diff --git a/services/data-collection/update_big_query.go b/services/data-collection/update_big_query.go
index 949842a..3de20bc 100644
--- a/services/data-collection/update_big_query.go
+++ b/services/data-collection/update_big_query.go
@@ -9,7 +9,7 @@ import (
 
 	"github.com/GoogleCloudPlatform/functions-framework-go/functions"
 	"github.com/cloudevents/sdk-go/v2/event"
-	"google.golang.org/protobuf/encoding/protojson"
+	"google.golang.org/protobuf/proto"
 
 	"cloud.google.com/go/bigquery"
 	"cloud.google.com/go/firestore"
@@ -18,8 +18,8 @@ import (
 
 var (
 	projectID      = ""
-	datasetName    = ""             // Pass in as env var
-	collectionName = "HerodotusDev" // Pass in as env var
+	datasetName    = "" // Pass in as env var
+	collectionName = "" // Pass in as env var
 )
 
 const (
@@ -45,11 +45,11 @@ func collectData(ctx context.Context, e event.Event) error {
 	collectionName = os.Getenv("BUILD_VER")
 
 	var data firestoredata.DocumentEventData
-	options := protojson.UnmarshalOptions{
+	options := proto.UnmarshalOptions{
 		DiscardUnknown: true,
 	}
 	if err := options.Unmarshal(e.Data(), &data); err != nil {
-		log.Fatalf("protojson.Unmarshal: %v", err)
+		log.Fatalf("proto.Unmarshal: %v", err)
 		return err
 	}
 
@@ -73,6 +73,7 @@ func collectData(ctx context.Context, e event.Event) error {
 		return nil
 	}
 
+	log.Println("data collection complete!")
 	return nil
 }
 
diff --git a/site/html/index.html b/site/html/index.html
index 5174c2f..022dc3d 100644
--- a/site/html/index.html
+++ b/site/html/index.html
@@ -9,6 +9,8 @@
   <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&icon_names=send,thumb_down,thumb_up"/>
   <link rel="stylesheet" href="css/index.css"/>
   <link rel="icon" type="image/x-icon" href="/favicon.ico" />
+  <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
+  <script src="https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.2.0/purify.min.js"></script>
 
 </head>
 <body>
diff --git a/site/js/index.js b/site/js/index.js
index 1df3d9d..bcaf2a4 100644
--- a/site/js/index.js
+++ b/site/js/index.js
@@ -61,6 +61,10 @@ function processRating(e) {
             toast.classList.toggle("toast-hide");
             toast.classList.toggle("toast");
         }, 5000);
+    })
+    .catch(e => {
+        console.log(`error: ${e}`);
+        alert(e);
     });
 }
 
@@ -104,12 +108,21 @@ function processForm(e) {
         console.log(data);
         const response = data.Message.Message;
         const botMessage = document.querySelector(".message-actual")
-        botMessage.textContent = response;
+        botMessage.innerHTML = convertMDtoHTML(response);
         botMessage.dataset.document = data.Message.DocumentID;
 
         // Toggle visibility
         const evt = new Event("msg");
         document.dispatchEvent(evt);
     })
+    .catch(e => {
+        console.log(`error: ${e}`);
+        alert(e);
+    });
     return true;
 }
+
+function convertMDtoHTML(markdown) {
+    const rawHTML = marked.parse(markdown);
+    return DOMPurify.sanitize(rawHTML);
+}
\ No newline at end of file