Briefer
Launched on the 23rd of July 2024

BrieferNotebooks

Beautiful notebooks that live on the cloud.They support SQL, Python, and include an AI assistant.

The file tree

The file tree is where you can manage your notebooks and navigate through them.

Like in Notion, you can choose icons for each notebook, reorder them, or put one inside another. That way, you can organize your notebooks in a way that makes sense to you and your team.

Additionally, whenever you delete a notebook, we keep a copy in the trash so you can restore it if needed.

the_file_tree.mp4

Blocks and tabs

Briefer notebooks are made of blocks of different types.

Each block has a specific purpose and performs different tasks.

  • Text blocks are for you to add context to your notebook.
  • Query blocks are for you to gather data from files or connected data sources, like Postgres, BigQuery, Redshift, Athena, and others.
  • File upload blocks are for you to add CSV, XLS, or other files to your notebook in case your data is not in a connected data source.
  • Python blocks are for you to write Python code to manipulate data, create visualizations, or do whatever else you want.
  • Input blocks are for you to add interactive elements to your notebook, like text inputs or dropdowns.
  • Visualization blocks are for you to create visualizations without writing any code.

After adding blocks to your notebook, you can group them into tabs to organize your notebook and make it easier to navigate through.

blocks_and_tabs.mp4

Files and databases

You can use query blocks to query data from files and databases without having to write wrappers or connectors.

If your data is in a database, you can use query blocks to write SQL queries and get the data you need.

In case your data is in a file (CSV, XLSX, Parquet, or others), you can upload that file and query it using regular SQL.

Briefer's query blocks also allow you to query dataframes using regular SQL.

files_and_databases.mp4

Automatic dataframes

Every query block automatically creates a Pandas dataframe containing the query's result.

This way, you can use this data in further Python blocks.

Let's say you want to plot your app's signups per month.

To do that, you can start by using a query block to fetch the signups from your database. This query block will automatically create a dataframe containing the query's results.

Then, you can use this dataframe in Python blocks to aggregate the data by month and create a plot using matplotlib or seaborn, for example.

By default, dataframes have names like query_1, but you can rename them to something more meaningful.

automatic_dataframes.mp4

AI Assistant

SQL and Python blocks include an AI assistant.

Whenever you want the AI assistant's help, you can click "edit with AI" and tell it what you want to do.

Then, the AI assistant will come up with a suggestion and show you a diff that you can try, accept, or reject.

In the Python block, the AI assistant is aware of the existing dataframes and its columns.

In the SQL block, the AI assistant already knows the tables and columns in your database, so it can give better suggestions and help you get complex queries right.

Whenever an error comes up, you can click "Fix with AI" to get the AI assistant to try to fix it for you.

ai_assistant.mp4

Schedules

You can schedule your notebooks to run at a specific interval, like every hour, every day, every week, or every month.

Let's say you're working on a notebook that fetches live data from a database and creates a detailed report with leads generated by your marketing campaigns.

In that case, you can schedule this notebook to run every day at 8:00 AM, so you have the report ready for your sales team when they start their day.

When creating schedules, you can also set up notifications to receive an email or Slack message when the schedule runs successfully or fails. In the case of successful runs you will also receive a PDF file with the notebook's outputs.

schedules.mp4

Snapshots and versioning

Whenever you publish a notebook, we automatically save the notebook's state so you can see the changes over time and roll back to previous versions if needed.

This way, you can keep track of the changes you make to your notebooks and revert to a previous version if something goes wrong.

Additionally, every successful scheduled run creates a snapshot of the notebook's state at that time.

Snapshots are useful when you want to see how results changed over time or compare the outputs of different runs.

snapshots_and_versioning.mp4

Comments and sharing

Each notebook has a comment section where you can leave comments and discuss the notebook with your team.

When you invite someone to your workspace, you can configure their access permissions, like read-only, read-write, or admin. This way, you can control who can view, edit, or invite others to your workspace.

In case you want to share documents with people outside your workspace, you can generate a publicly accessible link, like in Google Docs.

comments_and_sharing.mp4

Notebooks to dashboards

You can use your notebook's outputs to create dashboards.

This way, you can share results with others without including unnecessary code or explanations, like when you have to do a lot of data wrangling before plotting a chart.

Dashboard views are also useful for building data apps, where you want to allow users to interact with inputs and dropdowns but don't want them to see the code behind the scenes.

notebooks_to_dashboards.mp4
Get started now
notebooks work best on desktop btw