Skip to content
View pierrebrunelle's full-sized avatar
📹
Working on @pixeltable
📹
Working on @pixeltable

Organizations

@noteable-io @pixeltable

Block or report pierrebrunelle

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
pierrebrunelle/README.md

What I'm Building

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.24  ·  ⭐ 1,659 stars  ·  🍴 235 forks  ·  🧪 49 runnable example apps


Featured Systems, Galleries & Agent Skills

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 →

Latest Runnable Pixeltable Apps

Auto-synced from pierrebrunelle/awesome-pixeltable-apps (49 apps total, newest first):

App Architecture & Features Launch
Youth Soccer Match Recordings
2026-11-06
Ingest youth soccer match videos on a schedule with timezone-aware kickoffs and highlight clips
Computed columns & UDFs · B-tree indexes · Media (images)
Codespaces
Ski-Lift Pass Gates
2026-11-05
A command-line tool for ski-lift turnstiles: passes and gate scans as Pixeltable tables with a computed gate verdict, a per-zone view built with list_iterator, OpenTelemetry span traces of every command, and the same commands against a Pixeltable Cloud database
pxt CLI & dashboard · Media (images) · Computed columns & UDFs · Pixeltable Cloud · B-tree indexes
Codespaces
Coral Reef Survey Photos
2026-11-04
Segment coral-reef survey photos, send the model's boxes to Label Studio as pre-annotations, re-import the reviewed labels and diff them against the model, with COCO and LanceDB exports, all as Pixeltable tables and computed columns
Computed columns & UDFs · Media (images) · B-tree indexes
Codespaces
Wildlife Camera Traps
2026-11-03
Split trail-camera recordings into trigger events at their own motion-sensor times, grab the middle frame of each event and name what triggered the camera with YOLOX object detection, all as Pixeltable computed columns and views
Media (images) · Computed columns & UDFs · B-tree indexes
Codespaces
Vintage Poster Catalog
2026-11-02
A searchable vintage poster catalog where the images, the metadata, the sales and two CLIP vector indexes live in Pixeltable tables: text-to-image, image-to-image and filtered vector search plus joins, with no S3 bucket, metadata database or vector store to keep in sync
Computed columns & UDFs · B-tree indexes · Media (images)
Codespaces

Deep Dives

⚡ 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:

  1. State the problem and a measurable falsifier first. Separate true requirements from inherited assumptions before writing code.
  2. Delete unnecessary work before adding abstractions. Run a behavior-preserving deletion pass across the whole ensemble (callers, state, and tests) before introducing new layers.
  3. 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.
  4. 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.

Pinned Loading

  1. pixeltable/pixeltable pixeltable/pixeltable Public

    The backend agents build with - Multimodal database, orchestration, and serving in one file

    Python 1.7k 235

  2. awesome-pixeltable-apps awesome-pixeltable-apps Public

    A curated gallery of runnable example apps built with Pixeltable: FastAPI serving, computed columns, UDFs, indexes, media, secrets and Pixeltable Cloud. Each one opens in GitHub Codespaces.

  3. infinite-memory-discord-bot infinite-memory-discord-bot Public

    A context-aware Discord bot with semantic search and conversational memory. Uses Pixeltable + OpenAI for human-like responses

    Python 1 1

  4. mcp-server-openai mcp-server-openai Public

    Query OpenAI models directly from Claude using MCP protocol.

    Python 84 21