8 pontos por GN⁺ 2024-07-25 | 1 comentários | Compartilhar no WhatsApp
  • Estende Notion + Jupyter com recursos adicionais
    • Agendamento de notebooks, conversão em dashboards e apps, consultas SQL que retornam resultados como dataframes etc.
  • Resolve problemas dos notebooks existentes
    • Dificuldade para compartilhar: é preciso instalar Docker + Python para visualizar o trabalho da equipe de dados
    • Notebooks complexos demais: blocos de código em excesso reduzem a legibilidade e dificultam o entendimento por pessoas não técnicas
    • Até tarefas simples, como consultar bancos de dados, chamar APIs e criar gráficos, acabam sendo complexas
  • Como o Briefer resolve isso
    • Resolve o problema de compartilhamento
      • Move os notebooks para a nuvem, permitindo agendamento
      • Gerencia estado com CRDTs e Yjs, refletindo edições em tempo real
    • Organiza os notebooks
      • Design limpo e possibilidade de organizar blocos por agrupamento
      • Permite agrupar blocos em abas e escolher quais blocos mostrar na versão publicada
      • Oferece recursos para criar dashboards
    • Simplifica tarefas simples
      • Criação de gráficos com cliques e geração de código de gráficos complexos com assistente de IA
      • Converte automaticamente resultados de consultas SQL em dataframes e permite consultar arquivos com DuckDB

Principais recursos

  • Árvore de arquivos
    • A árvore de arquivos é onde você pode gerenciar e navegar pelos notebooks
    • Assim como no Notion, é possível escolher um ícone para cada notebook, reordená-los ou colocar um dentro de outro
    • Ao excluir um notebook, uma cópia é mantida na lixeira para restauração, se necessário
  • Blocos e abas: os notebooks do Briefer são compostos por vários tipos de blocos
    • Bloco de texto: para adicionar contexto ao notebook
    • Bloco de consulta: para coletar dados de arquivos ou de fontes de dados conectadas, como Postgres, BigQuery, Redshift e Athena
    • Bloco de upload de arquivo: para adicionar CSV, XLS ou outros arquivos ao notebook quando os dados não estiverem em uma fonte conectada
    • Bloco Python: para escrever código Python a fim de manipular dados, gerar visualizações ou fazer qualquer outra tarefa desejada
    • Bloco de entrada: para adicionar elementos interativos ao notebook, como entrada de texto ou menus suspensos
    • Bloco de visualização: para criar visualizações sem escrever código
    • Depois de adicionar blocos ao notebook, é possível agrupá-los em abas para facilitar a organização e a navegação
  • Arquivos e bancos de dados
    • É possível consultar dados de arquivos e bancos de dados usando blocos de consulta, sem escrever wrappers ou conectores
    • Se os dados estiverem em um banco de dados, você pode escrever consultas SQL em um bloco de consulta e buscar os dados necessários
    • Se os dados estiverem em arquivos (CSV, XLSX, Parquet etc.), basta fazer upload e consultá-los com SQL comum
    • Também é possível consultar dataframes com SQL comum usando blocos de consulta
  • Dataframes automáticos
    • Todos os blocos de consulta geram automaticamente um dataframe Pandas com os resultados da consulta
    • Isso permite usar esses dados em blocos Python adicionais
    • Por padrão, os dataframes recebem nomes como query_1, mas podem ser renomeados para algo mais significativo
  • Assistente de IA
    • Os blocos SQL e Python incluem um assistente de IA
    • Sempre que precisar de ajuda, você pode clicar em "Editar com IA" e dizer ao assistente o que deseja fazer
    • O assistente então gera uma sugestão e mostra um diff que você pode testar, aceitar ou rejeitar
    • No bloco Python, o assistente de IA reconhece os dataframes e colunas existentes
    • No bloco SQL, o assistente de IA já conhece as tabelas e colunas do banco de dados, o que permite sugestões melhores e ajuda a escrever consultas complexas corretamente
    • Sempre que ocorrer um erro, você pode clicar em "Corrigir com IA" para que o assistente tente fazer o ajuste
  • Agendamentos
    • É possível agendar a execução do notebook em intervalos específicos, como de hora em hora, diariamente, semanalmente ou mensalmente
    • Ao criar um agendamento, também é possível configurar notificações por e-mail ou Slack quando a execução for concluída com sucesso ou falhar. Em execuções bem-sucedidas, você também recebe um PDF com a saída do notebook
  • Snapshots e controle de versão
    • Sempre que um notebook é publicado, seu estado é salvo automaticamente, permitindo ver mudanças ao longo do tempo e fazer rollback para uma versão anterior, se necessário
    • Isso permite rastrear alterações no notebook e voltar para uma versão anterior caso surja algum problema
    • Além disso, toda execução agendada bem-sucedida cria um snapshot do estado do notebook naquele momento
    • Snapshots são úteis para ver como os resultados mudaram ao longo do tempo ou comparar saídas de execuções diferentes
  • Do notebook para o dashboard
    • É possível criar dashboards usando a saída do notebook
    • Isso permite compartilhar resultados com outras pessoas sem incluir código ou explicações desnecessárias, como quando é preciso fazer muita transformação de dados antes de gerar gráficos
    • A visualização em dashboard também é útil para criar apps de dados em que os usuários podem interagir com entradas e menus suspensos, sem que você precise mostrar o código interno

Opinião do GN⁺

  • A plataforma parece útil para trabalhos de análise e visualização de dados no estilo notebook
  • Por ser baseada em nuvem, permite colaboração em tempo real e, com uma interface amigável e recursos de organização, melhora a legibilidade e facilita que usuários não técnicos visualizem os resultados da análise de dados, aumentando a eficiência da colaboração
  • O fato de o assistente de IA ajudar na escrita de consultas SQL e código Python também pode aumentar a produtividade em tarefas de análise de dados. Ainda assim, a precisão e a utilidade das sugestões da IA só podem ser avaliadas no uso prático
  • Os recursos de agendamento e controle de versão dos notebooks parecem úteis para análises de dados recorrentes ou trabalho colaborativo. No entanto, isso pressupõe uma operação de infraestrutura estável
  • A possibilidade de compartilhar facilmente os resultados da análise com pessoas não desenvolvedoras por meio da criação de dashboards também é uma vantagem. Porém, ainda não está claro qual será o grau de liberdade no layout e no design desses dashboards
  • Plataformas semelhantes incluem Jupyter Notebook, Google Colab e Deepnote. Vale refletir sobre quais seriam os diferenciais do Briefer em relação a elas, como maior facilidade de uso ou recursos de colaboração mais robustos

1 comentários

 
GN⁺ 2024-07-25
Comentários do Hacker News
  • Gerentes de produto tentam facilitar o trabalho configurando fórmulas simples de Excel e gráficos

    • Incluindo tarefas como tirar capturas de tela
  • Engenheiros de dados realizam trabalhos mais técnicos usando soluções open source como Superset e dbt

  • As empresas frequentemente tentam construir a UI final por conta própria

    • Lembro que o Pinterest abriu algo em open source
  • Entendo profundamente o quão difícil é criar ferramentas do tipo notebook

    • Há problemas de colaboração e UX
  • É difícil sugerir funcionalidades por causa dos próprios dados e do mercado altamente competitivo

    • Lembro que o Popsql não conseguiu prosperar
  • Elogia o trabalho do Lucas e sugere adicionar CLI, conectores, computação simbólica, suporte offline e namespaces criptografados

    • Isso o colocaria à frente de outros concorrentes
    • Diz para entrarem em contato se quiserem discutir, embora estejam ocupados
  • Ensina bastante Python e ciência de dados (pandas, Polars, scikit learn, XGBoost etc. no Jupyter)

    • Também ensina boas práticas de engenharia de software
  • Compartilha a experiência de que muitos problemas são resolvidos por meio de educação

    • Confirmou isso novamente recentemente com um cliente
  • Acha que, em vez de focar em escrever código amigável para iniciantes, deve-se escrever código em nível de especialista

    • Os iniciantes provavelmente não vão gostar desse código
  • Recebe críticas nas redes sociais, mas tem reações positivas de alunos e leitores

  • Tem experiência construindo fluxos de trabalho usando notebooks, jobs cron e persistência de estado

    • Fica feliz em ver uma tentativa de resolver o problema de forma abrangente
  • Parabeniza pelo lançamento e comenta que o chrome estilo Mac Finder dos anos 90 no GIF de exemplo distrai

    • Sugere organizar melhor visual e semanticamente
  • O suporte a blocos de Python/código parece interessante

    • Notebooks Jupyter podem ser executados em qualquer lugar
    • Pergunta se isso é suportado por meio de instalação local ou retransmitindo a conexão para uma instalação local de Python
    • Pergunta se todo o código Python precisa rodar em servidores na nuvem e se isso impede acesso a GPUs de alto desempenho
  • Parabeniza pelo lançamento e tem curiosidade sobre como isso vai evoluir em comparação com ferramentas existentes como Hex

  • Menciona que isso também poderia ser vendido como uma ferramenta de colaboração online para organizações não técnicas

    • Diz que muita gente quer uma ferramenta mais conveniente do que o Microsoft Access
  • Menciona que isso pode ser uma ferramenta útil para construir catálogos internos de consultas e dashboards

    • Pergunta se oferece suporte a seletores dinâmicos de campos semelhantes às "variáveis" do Grafana
  • Menciona que o primeiro problema dos notebooks é que eles são difíceis de compartilhar

    • Compartilha notebooks com PMs por meio de links do GitHub