Skip to content
Kwun Chen · Data Science
Kwun Chen

Data Science + Statistics at UC Berkeley. I build pipelines that make noisy data usable.

slack_the_tape.py
Electronic stock ticker boards showing bid, offer and last prices in red and green LEDs

Slack the Tape

In progress

An LLM assistant that lets anyone ask questions about market data in Slack

  • Python
  • DuckDB
  • SQL
  • MCP
  • Slack
  • Linux

The idea

Market data is a good example of loud data. There are thousands of 1-minute bars per ticker per day, and most people who want an answer from it can’t write the SQL to get one. Slack the Tape puts that data behind a Slack bot, so a question like "how did NVDA trade in the last hour?" gets a real answer instead of a guess.

How it works

  • Ingest. A Python ETL job pulls 1-minute equity bars and writes them to date-partitioned Parquet files. Re-running a day is idempotent, so a failed run can be retried without creating duplicate rows.
  • Validate. Each load goes through data checks before it’s written.
  • Schedule. cron runs the pipeline on Linux (WSL).
  • Query. DuckDB reads the Parquet files directly, so there’s no separate database to keep alive.
  • Ask. An MCP server gives the LLM a small set of guarded query and reporting tools. The Slack bot can only touch the data through those tools, which keeps it from running arbitrary SQL.

Status

The pipeline is being built now, and the MCP server and Slack bot are in design.