---
title: "Three principles for building a vector platform at Thumbtack"
description: "Thumbtack describes a vector platform that lets ML engineers stand up production vector search without separately negotiating database access, building ETL, or writing a query service. The design uses an existing Aurora Postgres cluster with pgvector, while Airflow jobs generate embeddings into BigQuery and managed reverse-ETL syncs them into vector tables; a query API validates inputs and returns ranked results. Three principles guide the layers: reuse trusted infrastructure, treat embeddings as ordinary data flowing through established pipelines, and lower adoption costs for subsequent teams. Production examples include semantic customer-support escalation using cosine similarity and an internal knowledge assistant combining vector retrieval, often with keyword search, before a language model responds; planned directions include self-serve provisioning, vector-backed feature retrieval, and framework-neutral agent memory."
---

# Three principles for building a vector platform at Thumbtack

[Thumbtack](https://yomu.fyi/company/thumbtack) · John Zhu · Sep 10, 2026

**Type:** Explainer

## Summary

Thumbtack describes a vector platform that lets ML engineers stand up production vector search without separately negotiating database access, building ETL, or writing a query service. The design uses an existing Aurora Postgres cluster with pgvector, while Airflow jobs generate embeddings into BigQuery and managed reverse-ETL syncs them into vector tables; a query API validates inputs and returns ranked results. Three principles guide the layers: reuse trusted infrastructure, treat embeddings as ordinary data flowing through established pipelines, and lower adoption costs for subsequent teams. Production examples include semantic customer-support escalation using cosine similarity and an internal knowledge assistant combining vector retrieval, often with keyword search, before a language model responds; planned directions include self-serve provisioning, vector-backed feature retrieval, and framework-neutral agent memory.

## Context

Thumbtack wanted production vector search to be available without each ML team negotiating database access, building a custom ETL path, or implementing a query service. The platform also addresses the need to connect embedding generation, storage, ingestion, and consumer access using infrastructure and operational patterns the company already uses.

## Approach / What changed

The platform runs pgvector on an existing Aurora Postgres cluster, generates embeddings through Airflow jobs into BigQuery, and moves them with a managed reverse-ETL service. A query API hosted on the existing inference service owns the database connection, validates inputs, performs similarity searches, and returns ranked results. The design follows reuse, data-oriented pipelines, and lower adoption cost.

## Takeaways

- pgvector lets the platform use existing Postgres operational practices, including schema migrations, access roles, backups, replicas, monitoring, and query investigation.
- Embedding refreshes use Airflow, BigQuery, and managed reverse-ETL, inheriting established scheduling, retry, schema-mapping, alerting, and observability patterns.
- Current uses include semantic support escalation and knowledge retrieval; planned uses include vector-backed feature retrieval and framework-neutral memory for agentic workflows.

**Tags:** [Airflow](https://yomu.fyi/topic/airflow), [BigQuery](https://yomu.fyi/topic/bigquery), [pgvector](https://yomu.fyi/topic/pgvector), [Postgres](https://yomu.fyi/topic/postgres)

- Source: [Thumbtack](https://medium.com/thumbtack-engineering/three-principles-for-building-a-vector-platform-at-thumbtack-bca5a33dca16)
- Source URL: https://medium.com/thumbtack-engineering/three-principles-for-building-a-vector-platform-at-thumbtack-bca5a33dca16
- Ingested by Yomu: 2026-09-10T16:01:20.838Z

[Read original post](https://medium.com/thumbtack-engineering/three-principles-for-building-a-vector-platform-at-thumbtack-bca5a33dca16)
