8 puntos por GN⁺ 2024-07-25 | 1 comentarios | Compartir por WhatsApp
  • Agrega extensiones a Notion + Jupyter
    • Programación de cuadernos, conversión a dashboards y apps, consultas SQL que devuelven resultados como data frames, etc.
  • Resuelve los problemas de los cuadernos existentes
    • Dificultad para compartir: se necesita instalar Docker + Python para ver el trabajo del equipo de datos
    • Los cuadernos son demasiado complejos: hay demasiados bloques de código, lo que reduce la legibilidad y dificulta que personas no técnicas los entiendan
    • Incluso tareas simples como consultar bases de datos, llamar APIs o crear gráficos resultan complejas
  • La solución de Briefer
    • Resolver el problema de compartir
      • Lleva los cuadernos a la nube para poder programarlos
      • Usa CRDTs y Yjs para gestionar el estado y reflejar la edición en tiempo real
    • Organizar los cuadernos
      • Diseño limpio y posibilidad de ordenar agrupando bloques
      • Se pueden agrupar bloques en pestañas y elegir cuáles mostrar en la versión pública
      • Incluye funciones para crear dashboards
    • Simplificar tareas sencillas
      • Creación de gráficos con clics y generación de código de gráficos complejos con un asistente de IA
      • Convierte automáticamente los resultados de consultas SQL en data frames, y permite consultar archivos usando DuckDB

Funciones principales

  • Árbol de archivos
    • El árbol de archivos es donde se pueden gestionar y explorar los cuadernos
    • Igual que en Notion, puedes elegir un ícono para cada cuaderno, cambiar su orden o poner uno dentro de otro
    • Al eliminar un cuaderno, se guarda una copia en la papelera para poder restaurarlo si hace falta
  • Bloques y pestañas: los cuadernos de Briefer están compuestos por distintos tipos de bloques
    • Bloques de texto: para agregar contexto al cuaderno
    • Bloques de consulta: para recopilar datos desde archivos o fuentes de datos conectadas como Postgres, BigQuery, Redshift, Athena, etc.
    • Bloques de carga de archivos: para agregar CSV, XLS u otros archivos al cuaderno cuando los datos no están en una fuente conectada
    • Bloques de Python: para escribir código Python con el fin de manipular datos, crear visualizaciones o realizar cualquier otra tarea
    • Bloques de entrada: para agregar elementos interactivos como campos de texto o menús desplegables al cuaderno
    • Bloques de visualización: para crear visualizaciones sin escribir código
    • Después de agregar bloques al cuaderno, se pueden agrupar en pestañas para facilitar su organización y navegación
  • Archivos y bases de datos
    • Se pueden consultar datos de archivos y bases de datos usando bloques de consulta sin escribir wrappers ni conectores
    • Si los datos están en una base de datos, puedes escribir una consulta SQL en un bloque de consulta y traer la información necesaria
    • Si los datos están en archivos (CSV, XLSX, Parquet, etc.), puedes subirlos y consultarlos con SQL normal
    • También se pueden consultar data frames con SQL normal usando bloques de consulta
  • Data frames automáticos
    • Todos los bloques de consulta crean automáticamente un data frame de Pandas con los resultados
    • Esto permite usar esos datos en bloques adicionales de Python
    • Por defecto, el data frame recibe un nombre como query_1, pero se puede cambiar por uno más significativo
  • Asistente de IA
    • Los bloques de SQL y Python incluyen un asistente de IA
    • Cada vez que necesites ayuda del asistente, puedes hacer clic en "Editar con IA" y decirle qué quieres hacer
    • Luego el asistente genera una sugerencia y muestra un diff que puedes probar, aceptar o rechazar
    • En los bloques de Python, el asistente reconoce los data frames y columnas existentes
    • En los bloques de SQL, el asistente ya conoce las tablas y columnas de la base de datos, por lo que puede ofrecer mejores sugerencias y ayudar a escribir correctamente consultas complejas
    • Cada vez que ocurra un error, puedes hacer clic en "Corregir con IA" para que el asistente intente solucionarlo
  • Programación
    • Se pueden programar cuadernos para que se ejecuten en intervalos específicos, como cada hora, cada día, cada semana o cada mes
    • Al crear una programación, también puedes configurar notificaciones para recibir un correo electrónico o un mensaje de Slack cuando la ejecución sea exitosa o falle. En caso de éxito, también recibirás un PDF con la salida del cuaderno
  • Snapshots y control de versiones
    • Cada vez que publicas un cuaderno, se guarda automáticamente su estado para poder ver los cambios a lo largo del tiempo y volver a una versión anterior si hace falta
    • Esto permite rastrear cambios en el cuaderno y regresar a una versión previa si surge algún problema
    • Además, cada ejecución programada exitosa genera un snapshot del estado del cuaderno en ese momento
    • Los snapshots son útiles para ver cómo cambiaron los resultados con el tiempo o comparar la salida de distintas ejecuciones
  • Cuaderno a dashboard
    • Se pueden crear dashboards usando la salida del cuaderno
    • Esto permite compartir resultados con otras personas sin incluir código o explicaciones innecesarias, por ejemplo cuando se necesita hacer mucho data wrangling antes de generar gráficos
    • La vista de dashboard también es útil al crear apps de datos en las que quieres que los usuarios interactúen con entradas y menús desplegables, pero sin mostrar el código interno

Opinión de GN⁺

  • Esta plataforma parece útil para trabajos de análisis y visualización de datos con estilo de cuaderno
  • Al estar basada en la nube, permite colaboración en tiempo real, y con su interfaz amigable y funciones de organización mejora la legibilidad y facilita que usuarios no técnicos vean los resultados del análisis, aumentando la eficiencia del trabajo colaborativo
  • El hecho de que el asistente de IA apoye la escritura de consultas SQL y código Python también podría aumentar la productividad del análisis de datos. Aun así, la precisión y utilidad reales de sus sugerencias habría que comprobarlas en uso
  • Las funciones de programación y control de versiones del cuaderno parecen útiles para análisis de datos repetitivos o trabajo colaborativo. Sin embargo, esto depende de contar con una infraestructura estable
  • También es una ventaja que la función de creación de dashboards permita compartir fácilmente resultados de análisis con personas no desarrolladoras. Sin embargo, todavía no está claro qué tanto libertad ofrecerá en layout y diseño
  • Entre las plataformas similares están Jupyter Notebook, Google Colab y Deepnote. Vale la pena pensar cuál sería la ventaja diferencial propia de Briefer frente a ellas, por ejemplo una usabilidad más simple o funciones de colaboración más potentes

1 comentarios

 
GN⁺ 2024-07-25
Comentarios de Hacker News
  • Los gerentes de producto intentan facilitar el trabajo configurando fórmulas simples de Excel y gráficos

    • Incluye tareas como tomar capturas de pantalla
  • Los ingenieros de datos realizan trabajos más técnicos usando soluciones open source como Superset y dbt

  • Las empresas a menudo intentan construir la UI final por su cuenta

    • Recuerdo algo que Pinterest liberó como open source
  • Entiendo profundamente lo difícil que es crear herramientas tipo notebook

    • Hay problemas de colaboración y de UX
  • Es difícil proponer funcionalidades por los datos en sí y por lo competido del mercado

    • Recuerdo que Popsql no logró despegar
  • Elogia el trabajo de Lucas y propone agregar CLI, conectores, cálculo simbólico, soporte offline y namespaces cifrados

    • Eso lo pondría por delante de otros competidores
    • Dice que seguramente estará ocupado, pero que le escriba si quiere hablarlo
  • Enseña mucho Python y ciencia de datos (pandas, Polars, scikit learn, XGBoost, etc. en Jupyter)

    • También enseña buenas prácticas de ingeniería de software
  • Comparte su experiencia de que muchas dificultades se resuelven con educación

    • Lo volvió a confirmar recientemente con un cliente
  • Cree que, en vez de enfocarse en escribir código amigable para principiantes, hay que escribir código de nivel experto

    • A los principiantes no les va a gustar ese código
  • Recibe críticas en redes sociales, pero también respuestas positivas de estudiantes y lectores

  • Tiene experiencia construyendo flujos de trabajo con notebooks, trabajos cron y uso de estado persistente

    • Le alegra ver un intento de resolver el problema de forma integral
  • Felicita el lanzamiento y menciona que el chrome estilo Mac Finder de los 90 en el GIF de ejemplo distrae

    • Sugiere ordenarlo tanto visual como semánticamente
  • Le parece interesante el soporte para Python/bloques de código

    • Los notebooks de Jupyter pueden ejecutarse en cualquier lugar
    • Pregunta si lo soportan retransmitiendo la conexión a una instalación local o a una instalación local de Python
    • Pregunta si todo el código Python debe ejecutarse en servidores en la nube y si eso impediría acceder a GPUs de alto rendimiento
  • Felicita el lanzamiento y siente curiosidad por cómo evolucionará frente a herramientas existentes como Hex

  • Menciona que también podrían venderlo como una herramienta de colaboración en línea para organizaciones no técnicas

    • Dice que mucha gente quiere una herramienta más conveniente que Microsoft Access
  • Menciona que podría ser una herramienta útil para construir un catálogo interno de consultas y dashboards

    • Pregunta si soporta selectores de campos dinámicos similares a las "variables" de Grafana
  • Menciona que el primer problema de los notebooks es que son difíciles de compartir

    • Comparte notebooks con PMs mediante enlaces de GitHub