Skip to content

robertwhiffin/ai-slide-generator

Repository files navigation

Databricks tellr

Turn hours of slide work into minutes. Generate presentation-ready slides from your enterprise data through natural conversation — while respecting Unity Catalog permissions.


The Problem

Your teams spend hours every week building slides from enterprise data. They pull numbers from dashboards, copy-paste charts, write narratives, and fight with formatting.

AI slide generators exist — but they can't touch your governed data without breaking security controls.

The Solution

tellr is an agentic application that generates data-driven presentations from your Databricks environment:

  • Connected to your data — Queries your Genie spaces for live, governed data
  • Respects permissions — Uses Unity Catalog security out of the box
  • Conversational editing — Refine slides through natural language ("add a comparison to Q3", "make the EMEA section more prominent")
  • Prompt-only mode — Works without Genie for general-purpose slide generation
  • Agent-ready — Call tellr from other Databricks Apps or MCP-compatible agents (Claude Code, Cursor) via a Model Context Protocol server. Programmatically generated decks are attributed to the end user and appear alongside UI-created ones. See the MCP Integration Guide.

tellr is the third pillar in Databricks' AI/BI suite, completing the story alongside Genie and Dashboards: conversational analytics, conversational dashboards, and now conversational presentations.


Getting Started

Prerequisites

  • Databricks workspace with Apps enabled
  • Permission to create a Lakebase (or create a schema in an existing one)
  • Genie space with your data (optional — tellr works in prompt-only mode without Genie)

Install

From a Databricks notebook:

%pip install --upgrade databricks-tellr databricks-sdk==0.96.0
dbutils.library.restartPython()
import databricks_tellr as tellr

# Deploy tellr to your workspace
tellr.create(
    lakebase_name="tellr-db",
    schema_name="app_data",
    app_name="tellr",
    app_file_workspace_path="/Workspace/Users/you@example.com/.apps/tellr"
)

That's it. Open your Databricks Apps to find tellr running.

Optional — MLflow traces in Unity Catalog: For production, you can route GenAI traces to UC Delta tables (recommended for some Apps deployments). Configure mlflow_tracing in config/deployment.yaml, set TELLR_DEPLOY_MLFLOW_* env vars at deploy time, or pass mlflow_tracing={...} to tellr.create / tellr.update. See docs/technical/mlflow-uc-tracing.md.

Update or Delete

# Update an existing deployment
tellr.update(
    app_name="tellr",
    app_file_workspace_path="/Workspace/Users/you@example.com/.apps/tellr",
    lakebase_name="tellr-db",
    schema_name="app_data",
)

# Delete (optionally reset database)
tellr.delete(
    app_name="tellr",
    lakebase_name="tellr-db",
    schema_name="app_data",
    reset_database=True,
)

User Guide

Step-by-step instructions with screenshots:

Guide Description
Generating Slides Create presentations through conversation
Creating Profiles Configure data sources, styles, and templates
Advanced Configuration Customize deck prompts and slide styles

Quick start:

  1. Select or create a profile (bundles your Genie space, slide style, and deck prompt)
  2. Go to Generator
  3. Describe the presentation you want
  4. Send — watch slides stream in
  5. Refine through conversation

How It Works

┌─────────────────────────────────────────────────────────────────────┐
│  You: "Create a 10-slide presentation about Q3 revenue trends"     │
└──────────────────────────┬──────────────────────────────────────────┘
                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  tellr Agent (LangChain)                                            │
│  ├─ Queries Genie for live data (respects Unity Catalog perms)     │
│  ├─ Analyzes patterns, generates insights                          │
│  └─ Produces HTML slides with Chart.js visualizations              │
└──────────────────────────┬──────────────────────────────────────────┘
                           ▼
┌─────────────────────────────────────────────────────────────────────┐
│  Interactive slide deck you can edit, reorder, and export          │
└─────────────────────────────────────────────────────────────────────┘

Documentation

Technical Docs

Document Description
Local Development Run tellr locally for development
Backend Overview FastAPI, agent lifecycle, API contracts
Frontend Overview React components, state management
Databricks Deployment Deployment CLI, environments
MCP Integration Guide How-to: wire tellr into your Databricks App or into an MCP client like Claude Code
MCP Server Reference Protocol, tool schemas, response payloads
Database Config PostgreSQL/Lakebase schema

More Technical Docs

Document Description
Real-Time Streaming SSE events, conversation persistence
Slide Parser HTML parsing, CSS merging
Slide Editing Deck preservation, validation
Save Points Version snapshots, preview/restore
Google Slides OAuth2 flow, encrypted credentials, LLM export

Status

tellr is open source and in early-stage development (equivalent to private preview). We're actively developing new features and welcome feedback.

Questions? Reach out to your Databricks account team.


License

Apache 2.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors