I'm Co-Founder & CEO of Pixeltable — open-source Python infrastructure that unifies multimodal storage, incremental computation, vector indexing, tool-calling agents, and FastAPI serving in a single declarative app.py.
📦 Latest release:
v0.7.18· ⭐ 1,640 stars · 🍴 228 forks · 🧪 29 runnable example apps
| Repository | What it does | Try / Install |
|---|---|---|
pixeltable/pixeltable |
The backend agents build with. Declarative tables (TableModel), incremental computed columns, hybrid vector search (EmbeddingIndex), media storage, and HTTP serving (FastAPIRouter) in one file. |
pip install 'pixeltable[serve]' |
awesome-pixeltable-apps |
Curated gallery of self-contained multimodal AI apps & REST APIs built with Pixeltable. Open any app in GitHub Codespaces or deploy to Pixeltable Cloud. | Browse Live Gallery → |
challenge-the-design |
Agent skill & plugin that reviews a PR or stack as an ensemble, separates requirements from assumptions, and runs a behavior-preserving deletion pass before checking implementation. | npx skills add pierrebrunelle/challenge-the-design |
marcel-review |
Agent skill that reviews a change the way Marcel Kornacker reviews it: crisp abstractions, ownership, failure paths, and what the change costs its future readers. | npx skills add pierrebrunelle/marcel-review |
mcp-server-openai & infinite-memory-discord-bot |
Model Context Protocol server bridging Claude & OpenAI models, plus a stateful Discord agent with durable semantic memory backed by Pixeltable. | Explore Repos → |
Auto-synced from pierrebrunelle/awesome-pixeltable-apps (29 apps total, newest first):
| App | Architecture & Features | Launch |
|---|---|---|
| Podcast Transcript Search 2026-10-17 |
Searchable podcast and meeting transcript archive: silence-aware audio chunking, Whisper API transcription, semantic search with mm:ss offsets, and cover-art tilesMedia (images) · B-tree indexes · AI model functions · Computed columns & UDFs |
|
| Solar Panel Inspection 2026-10-16 |
Labeling round-trip for solar panel inspection images: auto-detect hot spots, export the review queue to SQL, correct labels, re-import, diff and export COCOVersioning & snapshots · Computed columns & UDFs · B-tree indexes · Media (images) |
|
| Research Agent Memory 2026-10-15 |
Durable, searchable long-term memory for an AI research assistant: per-user semantic recall, retrieval_udf lookups, tool calling and memory consolidation with custom aggregatesAgents & tool calling · Computed columns & UDFs · B-tree indexes · Media (images) |
|
| Archery Range 2026-10-14 |
Migrate archery-range scoring sessions from legacy JSON into Pixeltable, score with date-aware computed columns, and run as an incremental scheduled pipelineComputed columns & UDFs · B-tree indexes |
|
| Apiary Advisor 2026-10-13 |
RAG + tool-calling beekeeping advisor: custom embedding index, table-as-UDF agent pipeline, expr_udf mite mathAgents & tool calling · Computed columns & UDFs · B-tree indexes |
⚡ 60-Second Quickstart: One-File Multimodal Backend (app.py)
With Pixeltable, your schema, computed columns, vector indexes, and HTTP routes live in a single declarative app.py — no separate vector DB, no for row in ...: model loops, and no imperative glue:
import pixeltable as pxt
import pixeltable.functions as pxtf
from pixeltable.functions.openai import embeddings
from pixeltable.serving import FastAPIRouter
TableModel = pxt.model_base()
@pxt.udf
def excerpt(text: str, n: int = 120) -> str:
return text if len(text) <= n else f'{text[:n]}...'
class Docs(TableModel, name='docs'):
id = pxt.Column(value=pxtf.uuid.uuid7(), primary_key=True)
title: pxt.String
body: pxt.String
image: pxt.Image | None
summary = excerpt(body)
__indexes__ = [
pxt.EmbeddingIndex(column=body, string_embed=embeddings.using(model='text-embedding-3-small'))
]
api = FastAPIRouter(name='ingest')
api.add_insert_route(Docs, path='/docs', inputs=[Docs.title, Docs.body, Docs.image], outputs=[Docs.id, Docs.summary])Run locally or deploy the exact same app.py to Pixeltable Cloud:
# Local
pip install 'pixeltable[serve]'
pxt init
pxt schema update app.py my_app
pxt service update app.py my_app -f
# Pixeltable Cloud
pxt login
pxt db update pxt://org:db -f
pxt schema update app.py pxt://org:db -f
pxt service update app.py pxt://org:db -f🧭 Engineering & Code Review Philosophy: Delete Before You Abstract
Whether designing multimodal infrastructure or reviewing pull requests with challenge-the-design and marcel-review, I optimize for a few non-negotiable invariants:
- State the problem and a measurable falsifier first. Separate true requirements from inherited assumptions before writing code.
- Delete unnecessary work before adding abstractions. Run a behavior-preserving deletion pass across the whole ensemble (callers, state, and tests) before introducing new layers.
- Every abstraction must earn its keep. A class or function should represent a crisp contract that can be stated in one sentence—and its docstring should state only what the signature does not.
- Declarative state over imperative glue. If progress and lineage live in rows and computed columns rather than ephemeral in-memory loops, retries, caching, and observability become properties of the table engine.
🏗️ Career Arc: Structural Engineering → Decision Science → AI Infrastructure
- Pixeltable — Co-Founder & CEO · Building open-source multimodal AI data infrastructure and Pixeltable Cloud (
pxt://). - Noteable (acquired by Confluent) — Co-Founder · Built the collaborative data notebook platform bridging Python, SQL, and interactive analytics, and pioneered early ChatGPT Code Interpreter / Notebook plugin workflows.
- Amazon & AWS — Decision Scientist & Product/Data Leader · Applied econometrics, optimization, and large-scale cloud data systems across AWS and Amazon consumer/infrastructure teams.
- Siemens & Structural Engineering — Started my career in structural engineering and industrial systems, where load paths, safety margins, and failure modes are calculated before anything is built.




