peepshow/sinks

Catalogue19 destinations

The peepshow sink catalogue

Nineteen places avideocanland.

Every peepshow run can fan out to any number of destinations at once. Pick what fits — databases, vector stores, object storage, chat, trackers, knowledge bases, the IDE. Each one is pure transform + thin CLI, fully tested.

Reel #01 · database

SQLite

One file, zero server, full SQL. Ships with auto-schema and upsert.

Local SQL archive
Reel #02 · database

Postgres

Write every run + frame into Postgres. Idempotent upserts, transactional, cloud-friendly.

Team SQL archive
Reel #03 · storage

S3-compatible storage

AWS · MinIO · Cloudflare R2 · DigitalOcean Spaces · Backblaze B2 · Wasabi · GCS.

Object storage
Reel #04 · integration

Webhook

The generic sink. If something speaks HTTP, this connects peepshow to it.

Generic HTTP
Reel #05 · chat

Slack

Incoming-webhook push. Title, thumbnail, deep link to the first frame.

Team chat
Reel #06 · chat

Discord

Discord webhook. Thumbnails in the embed, full frames as attachments.

Community chat
Reel #07 · integration

GraphQL

Typed ingestion into Hasura · Postgraphile · Apollo · Supabase · Contentful · anything.

Typed HTTP
Reel #08 · knowledge

Notion

Creates a page with metadata properties, embedded thumbnails, and the full frame gallery.

Knowledge base
Reel #09 · knowledge

Obsidian

File a note, embed every frame, backlink from an index, all inside a local vault.

Local knowledge
Reel #10 · integration

IDE attachments

Drop frames directly into Cursor · Windsurf · Zed · VS Code / Copilot attachments.

Editor integration
Reel #11 · tracker

Linear

GraphQL + uploads. One issue per run, with frames inline, team/label configurable.

Issue tracker
Reel #12 · tracker

GitHub Issues

REST v3. Repo / labels / assignees configurable. Frames attached via image URLs.

Issue tracker
Reel #13 · observability

Sentry

Frames as attachments, metadata as tags, peepshow run ID as fingerprint.

Observability
Reel #14 · vector

Chroma

Text embeddings over the metadata + caption. Frame paths as IDs.

Vector DB
Reel #15 · vector

Qdrant

Named vectors, payload metadata, filter-ready. Works with Qdrant Cloud or self-hosted.

Vector DB
Reel #16 · vector

Pinecone

Serverless. Auto-detects namespace. Embedding of metadata + caption per frame.

Vector DB
Reel #17 · vector

pgvector

Keep runs + frames + embeddings in one Postgres. One database, full SQL over vectors.

Vector-in-SQL
Reel #18 · database

MongoDB

One document per run, frames as a subdocument array. Works with Atlas or self-hosted.

Document store
Reel #19 · knowledge

MemPalace

Per-run markdown + frames into a directory MemPalace mines, optionally auto-mined on every run.

Local AI memory