The backend your coding agent stops rebuilding

Media, models, embeddings, and routes are one Python file. Claude Code, Cursor, and Codex reach a working app with less code, less glue, and fewer wrong turns.

npx skills add pixeltable/pixeltable-skill
Get a free database

Or let the agent run pxt new: one hosted database, no account. Claim it within 48 hours.

Setup guidesand 4 more

Same app, two backends

Six wrong turns, numbered on a real Celery task. Switch to the Pixeltable file for the same product.

worker/tasks/process_call.py
@celery_app.task(name="worker.tasks.process_call", ...)
def process_call(call_id: str) -> None:
db = SessionLocal()
try:
call = db.get(Call, uuid.UUID(call_id))
call.status = "transcribing"
db.commit()
diarized = transcribe_diarize(call.audio_path)
labeled = extract_segments(diarized)
for pos, seg in enumerate(labeled):
db.add(TranscriptSegment(call_id=call.id, pos=pos, ...))
client = OllamaClient()
result = client.enrich_call(transcript_text, ...)
call.summary = result.summary
# ... action items, sentiment, category, QA scorecard
embed_call_segments(db, call.id)
call.status = "completed"
db.commit()
except Exception as exc:
db.rollback()
call.status = "failed"
call.error_message = str(exc)

Six wrong turns in one task

Lines in the pipeline
668 · Celery stack
392 · Pixeltable
Files in the pipeline
14 · Celery stack
2 · Pixeltable

The same call-search product on two backends, from pixeltable/showcase-call-intelligence. Code abridged: ... marks what was cut. Counts are its pipeline code, measured on main.

Six habits the skill replaces

Each is a system the agent would build and you would keep running. The skill names the habit and the line that replaces it.

  • A framework for chunking and retrieval

    RecursiveCharacterTextSplitter + Chroma + RetrievalQA

    document_splitter

    Chunking is a view. Search is .similarity(). Tools are pxt.tools() and invoke_tools().

  • pandas as the working store

    df['summary'] = df['text'].apply(call_openai)

    summary = chat_completions(...)

    The table is the store. .collect().to_pandas() is for export.

  • A for-loop calling a model

    for row in df.iterrows(): client.chat.completions.create(...)

    t.recompute_columns('summary', errors_only=True)

    The call is an assignment on the model. Retries rerun only the rows that failed.

  • A second vector database

    index.upsert(ids, vectors)

    __indexes__ = [pxt.EmbeddingIndex(...)]

    The index lives on the column. Search with .similarity(string=query).

  • A while-loop agent

    while True: ...

    invoke_tools(tools, response)

    Insert a row. The model call, the tool calls, and the answer are columns that keep their state.

  • A model loaded on every row

    whisper.load_model('tiny.en')

    pxtf.whisper.transcribe(audio, model='tiny.en')

    The shipped wrappers cache the weights per process, so they load once.

And the small ones

python app.py
pxt schema update, then pxt service update
Drop and recreate tables to reset
Edit app.py, then pxt schema update
Chat history in Redis
A table
A hard-coded api_key=
The environment or config.toml

Every one, with the right code, in the skill

Skill, backend, Cloud

The agent installs the skill, applies one file, and ships the same file hosted. Start free at every step.

  1. 1Skill

    The agent pulls Pixeltable in.

    One install teaches it tables, computed columns, indexes, and routes, and replaces the six habits above.

    Any agent
    npx skills add pixeltable/pixeltable-skill
    Claude Code: add
    /plugin marketplace add pixeltable/pixeltable-skill
    Claude Code: install
    /plugin install pixeltable@pixeltable-skill
    Your agent’s setup
    Setup guides
    What it teaches
    Agent Skill
  2. 2Backend

    One file is the app’s state.

    Tables, computed columns, an embedding index, and routes live in app.py. Insert runs the models. Failures, versions, and recomputes stay in the tables, not in a chat scratchpad.

    Mark the project root
    pxt init
    Create the tables
    pxt schema update app.py my_app -f
    Serve HTTP
    pxt service update app.py my_app -f
    Read failures
    pxt errors my_app/docs
    The file, line by line
    Backend for AI agents
  3. 3Cloud

    The same file, hosted.

    Start free: pxt new makes one hosted database with no account and prints its URI; claim it within 48 hours. The next three commands apply the same file to that URI. Community is free; Pro is the paid step.

    Free database
    pxt new
    Provision it
    pxt db update pxt://trial-x7k2:main -f
    Create the tables
    pxt schema update app.py pxt://trial-x7k2:main -f
    Serve HTTP
    pxt service update app.py pxt://trial-x7k2:main -f
    What you get free
    Free database
    Plans
    Pricing

Setup guides for your agent

Install steps, MCP configuration, and prompts for each agent.

  • DevinCognition

    Autonomous AI software engineer. Plans, codes, debugs, and deploys independently.

  • Claude CodeAnthropic

    Agentic coding in your terminal. Understands your codebase, runs commands, and edits files.

  • CursorAnysphere

    The AI-first IDE. Agent mode edits across files, runs commands, and iterates on errors.

  • CodexOpenAI

    OpenAI's coding agent for the terminal and cloud. Reads and writes files, executes commands.

  • GitHub CopilotGitHub

    AI pair programmer with agent mode. The workspace agent understands your entire project.

  • WindsurfCodeium

    The agentic IDE. Cascade flows through multi-step coding tasks.

  • Gemini CLIGoogle

    Google's open-source terminal agent powered by Gemini.

  • OpenCodeSST

    Open-source, provider-agnostic coding agent for the terminal.

Agents read the same pages as markdown: add .md to any guide, or start at get-started.md, llms.txt, or agent.json.

Questions

What does the Pixeltable skill change for a coding agent?

It teaches the agent to declare tables, computed columns, an embedding index, and routes in one app.py, and it replaces six habits: a retrieval framework, pandas as the store, model calls in a loop, a second vector database, a while-loop agent, and a model loaded on every row.

Do I need an account to start?

No. Locally the agent runs pxt init, pxt schema update, and pxt service update with no account. For a hosted database, pxt new makes one with no account; claim it within 48 hours to keep it.

Which coding agents does it work with?

Any agent that loads skills: npx skills add pixeltable/pixeltable-skill installs it for Claude Code, Cursor, Codex, GitHub Copilot, Windsurf, Gemini CLI, OpenCode, and Devin. Each has a setup guide on this page.

What does Pixeltable Cloud cost?

Local Pixeltable is free and open source. On Cloud, Community is free and Pro is the paid plan; see the pricing page for what each includes.

Give your agent the backend before it builds one

One command for a hosted database with no account: pxt new. Or install the skill and start locally.