00:00:00Hola,
00:00:01bienvenidos a la transmisión en vivo de la comunidad Purcell de esta semana.
00:00:22Soy Amy Egan.
00:00:23Formo parte del equipo de comunidad aquí en Purcell.
00:00:27Un recordatorio: esto se está transmitiendo en X y YouTube,
00:00:30pero si quieren unirse al chat,
00:00:31por favor,
00:00:32inicien sesión en la comunidad y hagan clic en 'Asistiré' en el evento.
00:00:35Verán el chat aparecer a un lado y me aseguraré de que veamos sus comentarios si tienen alguna pregunta.
00:00:42Siéntanse libres de hacer preguntas durante toda la sesión y las haremos todas al final.
00:00:47Y un recordatorio: si están en el chat,
00:00:49por favor,
00:00:50recuerden ser respetuosos y seguir nuestro código de conducta.
00:00:54Y con eso dicho,
00:00:55me gustaría dar la bienvenida a nuestros invitados al escenario.
00:00:58El mes pasado,
00:00:59mi compañero de equipo,
00:01:00Jacob,
00:01:00se unió al equipo de HubSpot para hablar sobre cómo integrar tu propio backend al programa de desarrolladores de HubSpot.
00:01:05Y este mes nos acompaña el equipo de HubSpot para hablar sobre cómo utilizan Purcell.
00:01:09Así que, bienvenida, Brooke.
00:01:12Muchas gracias, Amy.
00:01:13Hola a todos.
00:01:14Mi nombre es Brooke Bond y estoy emocionada de estar aquí en la comunidad Purcell.
00:01:20Así que tengo un par de preguntas que pueden responder de antemano en el chat,
00:01:25pero nos encantaría saber: ¿han usado HubSpot antes?
00:01:28¿Saben quiénes somos?
00:01:30¿Han desarrollado con nosotros?
00:01:31Y si lo han hecho, ¿qué han construido?
00:01:34Me encantaría leer todos esos comentarios en el chat.
00:01:38Sería genial, pero solo tenemos 30 minutos.
00:01:42Así que quiero asegurarme de que cubramos todo nuestro excelente contenido.
00:01:45Así que hoy vamos a repasar rápidamente: ¿qué es HubSpot?
00:01:49¿Quiénes somos como equipo de DevRel de HubSpot?
00:01:51¿Cómo podemos usar HubSpot y Purcell juntos?
00:01:54Y luego tenemos un par de ejemplos de cómo nuestro equipo de DevRel de HubSpot ha estado utilizando Purcell en los diferentes proyectos que realizamos en HubSpot.
00:02:02Y finalmente,
00:02:02dejaremos un poco de tiempo para preguntas y respuestas.
00:02:04Así que,
00:02:05como dijo Amy,
00:02:06si tienen alguna pregunta,
00:02:07por favor,
00:02:08pónganla en el chat y estaremos encantados de responderlas al final.
00:02:12Así que hoy me acompañarán dos de mis colegas,
00:02:16Dennis Edson y Chris Riley.
00:02:18Y estamos muy emocionados de estar aquí.
00:02:19Así que primero,
00:02:20establezcamos las reglas básicas,
00:02:22no las reglas básicas,
00:02:23sino definamos qué es HubSpot.
00:02:25HubSpot es un CRM inteligente para empresas.
00:02:29Tenemos un conjunto de softwares de marketing,
00:02:32ventas y servicio,
00:02:34y una plataforma unificada para desarrolladores para construir las integraciones.
00:02:39Y en eso se centra el equipo de DevRel: en ayudar a nuestros desarrolladores a entender cómo usar la plataforma de desarrollo.
00:02:47La imagen que ven aquí en la pantalla es una página de registro de contacto de CRM.
00:02:53Así que,
00:02:54con la plataforma de desarrolladores de HubSpot,
00:02:56todo el trabajo que creen se aloja dentro de un proyecto de HubSpot.
00:03:00Y en la plataforma de desarrolladores de HubSpot,
00:03:03pueden construir tanto aplicaciones estáticas internas como aplicaciones OAuth externas.
00:03:09Y si construyen una aplicación externa,
00:03:11pueden publicarla en nuestro marketplace de HubSpot,
00:03:15y luego cualquier persona con una cuenta de HubSpot puede ir al marketplace y descargar su aplicación.
00:03:21Así que,
00:03:21digamos que son Vercel y quieren construir una integración donde la gente pueda ver sus métricas de Vercel dentro de su cuenta de HubSpot.
00:03:29Podrían construir eso,
00:03:30crear el flujo de OAuth,
00:03:32hacer que la gente lo descargue en su cuenta,
00:03:35y luego podrían ver sus cosas de Vercel directamente dentro de HubSpot y viceversa.
00:03:40Ahora,
00:03:40la captura de pantalla que tengo aquí es la página de resumen de desarrollo.
00:03:46Así que tenemos una página de resumen de desarrollo dedicada para los desarrolladores cuando están en su cuenta,
00:03:51para que puedan ver todos los proyectos que están realizando.
00:03:54También tenemos herramientas de monitoreo para que la gente pueda ver el uso de la API y todo eso.
00:04:01Así que todo su material en un solo lugar,
00:04:03muy fácil para que simplemente entren.
00:04:05No tienen que preocuparse por el ruido de todo ese otro material que no forma parte de sus proyectos de HubSpot.
00:04:11Así que ahora solo quiero presentarnos rápidamente como equipo.
00:04:15Somos un grupo interdisciplinario de desarrolladores y gerentes que ayudan a nuestros desarrolladores a prosperar en el ecosistema de HubSpot,
00:04:23y ayudamos a la comunidad de desarrolladores construyendo soluciones,
00:04:27ayudándolos a aprender las mejores prácticas y creando integraciones que pueden usar.
00:04:32Organizamos eventos en vivo como este y en nuestros propios canales,
00:04:36asistimos y hablamos en conferencias,
00:04:38y también nos aseguramos de que los comentarios de los desarrolladores externos se tengan en cuenta al construir y lanzar nuevas funciones.
00:04:45Así que estamos muy cerca de nuestros colegas de ingeniería de desarrollo y les damos los comentarios de nuestra comunidad para ayudarnos a mejorar nuestros productos.
00:04:53Así que este es solo un pequeño gráfico que creé para mostrarles un poco más.
00:04:57Así que tenemos nuestros recursos de aprendizaje que incluyen nuestra documentación para desarrolladores,
00:05:03nuestro blog,
00:05:03nuestro YouTube y diferentes tutoriales que tenemos tanto en YouTube como en GitHub y otros lugares.
00:05:08Nuestra comunidad y conexión: tenemos un Slack para desarrolladores al que cualquiera puede unirse.
00:05:13También tenemos un foro,
00:05:15para que la gente pueda ir y hacer preguntas en los foros de la comunidad.
00:05:18Y realizamos eventos presenciales durante todo el año.
00:05:22También tenemos algunas herramientas de construcción y desarrollo.
00:05:25Así que tenemos nuestra evaluación de calidad de aplicaciones,
00:05:27ese es nuestro equipo de calidad del ecosistema.
00:05:29Revisan todas las aplicaciones que se publican en nuestro marketplace y se aseguran de que cumplan con nuestros estándares.
00:05:37Y luego también tenemos aplicaciones de ejemplo.
00:05:39Y finalmente, esto es nuevo, pero tenemos nuestro Dev MCP.
00:05:42Y trabajamos muy de cerca con los ingenieros que lo construyeron para que pudieran entender cómo podríamos hacer un producto MCP realmente excelente para nuestros desarrolladores.
00:05:51Y finalmente, exhibición y crecimiento.
00:05:53Tenemos una sección de casos de estudio donde tomamos excelentes programas para desarrolladores y destacamos cómo están usando HubSpot.
00:06:02También tenemos certificaciones de marketplace.
00:06:04Así que cuando publicas tu aplicación en nuestro marketplace,
00:06:07puedes obtener la certificación de marketplace,
00:06:10lo que significa que obtendrás una pequeña marca azul o un símbolo para que la gente sepa que tu calidad está asegurada.
00:06:16Y finalmente,
00:06:17ayudamos con la coordinación de GTM (Go-to-Market).
00:06:19Así que cuando tenemos grandes lanzamientos a lo largo del año,
00:06:22ayudamos con los materiales de marketing para eso,
00:06:25asegurándonos de hablar con nuestra audiencia de desarrolladores de la manera que sea mejor para ellos.
00:06:30Así que ahora que hemos hablado de quiénes somos y qué hacemos,
00:06:34hablemos de cómo usamos HubSpot y Vercel juntos.
00:06:37Así que,
00:06:38como dijo Amy,
00:06:39el mes pasado realizamos un seminario web sobre cómo traer tu propio backend.
00:06:43Así que este es uno de los principales casos de uso de los que voy a hablar aquí,
00:06:47que es utilizar Vercel como ese servicio de backend.
00:06:50Así que,
00:06:50en este caso,
00:06:51tienen su aplicación de HubSpot,
00:06:53que es nuestro frontend,
00:06:54y que tiene componentes de interfaz de usuario construidos con React que ustedes colocan en su página para poder renderizar eso para el frontend dentro de una cuenta de HubSpot.
00:07:03Y luego tienen su backend de Vercel,
00:07:05que contendrá su código.
00:07:06Y lo que harán es que,
00:07:07dentro de su código,
00:07:09usarán `hubspot.fetch` para llamar a su backend a través de la API que creen.
00:07:14Y luego eso va a devolver y manipular los datos y luego renderizar una respuesta al frontend.
00:07:20Así que para mostrar cómo se ve eso,
00:07:22voy a repasar rápidamente un ejemplo que construí,
00:07:26y este es un generador de archivos LLMS.txt.
00:07:30Intenten decir eso tres veces rápido.
00:07:32Lo que hace este generador de archivos LLMS.txt es una aplicación de HubSpot que toma una página web o una URL de mapa del sitio,
00:07:41analiza los datos de esa página para crear ese archivo.
00:07:45Y un archivo LLMS.txt es un archivo para rastreadores de búsqueda de IA para que no tengan todo ese HTML extra.
00:07:55Renderiza su información en formato de archivo Markdown para que puedan leerla muy rápidamente.
00:08:02Y esto utiliza `hubspot.fetch` para llamar al endpoint de la API de Vercel y la API de archivos de HubSpot para subir ese archivo a su cuenta de HubSpot.
00:08:11Así que la captura de pantalla que estoy mostrando aquí es mi código,
00:08:15y aquí es donde realmente estoy llamando a la API de Vercel.
00:08:18Y aquí,
00:08:19simplemente lo envolví en un `try-catch`,
00:08:23y luego envié el endpoint.
00:08:25Así que ahora que he hablado de eso, veamos cómo funciona.
00:08:28Así que voy a ir al frontend para que puedan ver.
00:08:31Así que esto está dentro de nuestra cuenta de HubSpot,
00:08:35y aquí tenemos el generador de DevRel Labs.
00:08:38Esto es lo que se conoce como una página de configuración de la aplicación,
00:08:41y la razón específica por la que elegí que se renderizara en una página de configuración de la aplicación es porque este es un tipo de trabajo muy administrativo que la gente haría para su sitio web.
00:08:51Así que no quería hacerlo accesible a cualquier persona dentro de su cuenta de HubSpot.
00:08:55Quería asegurarme de que solo las personas adecuadas tuvieran acceso a esto para que la gente no generara estos archivos y causara problemas con los rastreadores de búsqueda de IA.
00:09:04Así que aquí,
00:09:05pueden elegir su tipo,
00:09:06pueden introducir un mapa del sitio completo o pueden introducir una única URL.
00:09:10Obviamente,
00:09:11un mapa del sitio,
00:09:12si su sitio web es muy grande,
00:09:13tardará un tiempo.
00:09:15Así que la URL única será mucho más rápida.
00:09:17Así que luego pueden simplemente introducir su URL.
00:09:20Así que voy a poner developers.hubspot.com,
00:09:24y luego generará...
00:09:26Oh, tuve un error..
00:09:28De acuerdo.
00:09:29Bueno, eso es divertido.
00:09:30Esto es en vivo.
00:09:31Así que veamos.
00:09:32Vamos a mi configuración de Vercel y veamos si obtenemos un mensaje de error en...
00:09:36Bueno, no en los registros de compilación..
00:09:39Así que aquí en mi backend, podemos ver las cosas.
00:09:43Así que veamos los registros de tiempo de ejecución y veamos si podemos encontrar el error.
00:09:46Bueno,
00:09:47las cosas no están funcionando,
00:09:50pero si fuera una situación perfecta,
00:09:53ese archivo llms.txt se generaría y se subiría a su cuenta de HubSpot usando esa función serverless de Vercel que creé.
00:10:04Así que ahora voy a pasar la palabra al resto de mis compañeros de equipo para que hablen sobre cómo también usamos HubSpot de otras maneras,
00:10:12no solo trayendo Vercel como backend a HubSpot,
00:10:15sino también para diferentes cosas que estamos haciendo.
00:10:18Así que se lo voy a pasar a Chris.
00:10:20Gracias.
00:10:22Una cosa que me encanta de las demostraciones que no terminan funcionando al 100% perfectamente es que ciertamente nos permite tener empatía por todos los desarrolladores que están viendo y por nuestra comunidad,
00:10:36y así sucesivamente.
00:10:37Si pudiéramos volver rápidamente a las diapositivas en la máquina de Brooke.
00:10:43Perfecto.
00:10:44Gracias.
00:10:45Así que,
00:10:46por supuesto,
00:10:47nos encantaría que todos ustedes tomen su creatividad e ideas y las lleven a los clientes de HubSpot a través de una integración usando nuestras APIs.
00:10:57Pero,
00:10:57¿cómo usamos también Vercel dentro de DevRel para experimentar,
00:11:03ejecutar pruebas muy rápidas y construir prototipos muy rápidos para poder probar ideas que tenemos como equipo y llevarlas al resto de la organización?
00:11:15Así que tenemos algo llamado DevRel Labs,
00:11:18y DevRel Labs es un conjunto de reglas,
00:11:21es un conjunto de procesos que se extiende por todas las relaciones con desarrolladores,
00:11:27y nos da la oportunidad de tener una forma estándar de experimentar,
00:11:32tomar esos experimentos,
00:11:34validarlos o invalidarlos,
00:11:36como sucede a veces,
00:11:38y luego graduarlos.
00:11:39Quizás se convierta en un producto o en una solución más pulida después.
00:11:46Y de lo que vamos a hablar ahora son dos experimentos que he estado liderando,
00:11:52y luego pasaremos a Dennis para que hable sobre el que él ha estado trabajando.
00:11:58Pero todos estos experimentos tienen un proceso claro y un objetivo definido.
00:12:03Y uno de ellos es que nosotros,
00:12:05como muchas organizaciones,
00:12:06tenemos una comunidad de Slack para desarrolladores externos.
00:12:10Este es un lugar donde las personas que están construyendo soluciones sobre HubSpot pueden venir,
00:12:18interactuar,
00:12:19aprender y ayudarse mutuamente.
00:12:21Porque,
00:12:22en realidad,
00:12:22la mejor comunidad es una comunidad que tiene interacción entre pares.
00:12:27Y entonces pensamos,
00:12:29¿qué podemos hacer para llevar soluciones y recursos más rápidamente a estos miembros de la comunidad?
00:12:38Y una de las soluciones obvias,
00:12:40estoy seguro de que han interactuado con varios bots de Slack por ahí,
00:12:44era construir un bot de Slack.
00:12:45Pero cuando pensamos en un bot de Slack,
00:12:47no era algo que quisiéramos que dominara la conversación.
00:12:51Queríamos tenerlo ahí para la interacción.
00:12:53Así que no debía ser demasiado intrusivo.
00:12:57Y queríamos tenerlo ahí para obtener recursos rápidos en tiempo real para nuestra comunidad externa.
00:13:05Y así lo construimos en Vercel.
00:13:08Porque eso nos permite crear un prototipo muy rápidamente,
00:13:13luego evaluar su calidad y,
00:13:15a partir de ahí,
00:13:17decidir qué haremos a continuación con esto.
00:13:21Y ahora mismo,
00:13:21estamos en la etapa de experimentación y validación.
00:13:25Así que,
00:13:25trabajando en conjunto con el resto de nuestro equipo de comunidad en DevRel,
00:13:29decidiremos a dónde va a continuación.
00:13:31Así que quería mostrar rápidamente en mi pantalla los bots,
00:13:34y lo que ven aquí que tenemos,
00:13:36en realidad me gusta mucho esta pantalla de inicio porque es divertida,
00:13:41ya saben,
00:13:41los gráficos y los números siempre son muy divertidos.
00:13:45Pero tenemos una pantalla sencilla que nos da algunos datos sobre la adopción del bot.
00:13:51Pero hay dos formas de interactuar con el bot.
00:13:53Puedo hacerlo a través de mensaje directo,
00:13:55o tenemos algunos canales donde el bot responderá automáticamente a preguntas relacionadas con soporte.
00:14:01Así que voy a enviar una pregunta muy sencilla: ¿cómo empiezo con el HubSpot Dev MCP?
00:14:08Y lo que quería mostrar,
00:14:09porque estoy un poco limitado en lo que realmente puedo mostrar de nuestro backend,
00:14:15es el registro en tiempo real que obtenemos de esto en Vercel.
00:14:19Así que esto me permite,
00:14:22voy a decir que este de aquí es probablemente el chat en tiempo real que acabo de enviar.
00:14:33Y sucedió rápidamente, lo cual es una buena noticia.
00:14:35Cambia rápidamente a un mensaje de 'pensando'.
00:14:39Va a OpenAI para obtener una respuesta.
00:14:43Vuelve a través de una herramienta para ver si hay recursos adicionales seleccionados por el equipo de DevRel,
00:14:50que podría darle a este usuario para ayudarlo a avanzar.
00:14:53Eso podría ser YouTube,
00:14:55podría ser documentación,
00:14:56podrían ser todo tipo de recursos.
00:14:58Y luego dará una respuesta.
00:15:00Y supongo que esta es la respuesta, lo es.
00:15:06Así que ahora, si vuelvo a esto, y vemos que todo es 200.
00:15:10Así que ese es el mejor escenario, ¿verdad?
00:15:13Y lo hizo.
00:15:14Así que no solo me dio una respuesta,
00:15:18me dio artículos para consultar.
00:15:21Me dijo que me uniera al Dev Slack, ya estoy aquí.
00:15:24Pero también me dio tutoriales y otra información que recomienda que estaría relacionada con la pregunta que estaba presentando aquí.
00:15:35Y me dio la respuesta correcta,
00:15:37que es configurar tu entorno de desarrollo,
00:15:40instalar la CLI,
00:15:41instalar el servidor MCP,
00:15:42y listo.
00:15:43E incluso dio algunas ideas sobre cómo empezar.
00:15:47Y como pueden ver,
00:15:48esa fue una forma muy sencilla para nosotros de construir pruebas y los registros son muy importantes aquí.
00:15:56Probar una solución usando un bot de Slack personalizado,
00:15:59donde nosotros en DevRel,
00:16:01nuestra responsabilidad principal no es construir soluciones,
00:16:05como todos somos desarrolladores,
00:16:07pero no construimos día a día.
00:16:09Así que lo que sea que construyamos necesita no interponerse en nuestro camino y ser muy fluido.
00:16:15Ahora, esto nos preparó para algo que me sorprendió un poco.
00:16:18Si volvemos a las diapositivas,
00:16:22les contaré cómo esto llevó a otro experimento más.
00:16:27Perdón,
00:16:28antes de eso,
00:16:29puedes volver,
00:16:31Brooke,
00:16:32a la diapositiva con el...
00:16:35Así que primero quería decir,
00:16:37¿qué cosas de Vercel me entusiasmaron mucho?
00:16:39Uno: registros fáciles de leer,
00:16:41como mostré,
00:16:41y lo tenía configurado en vivo.
00:16:43Así que vieron el registro transmitiéndose en tiempo real.
00:16:46Los inicios, estamos tratando con un entorno sin servidor.
00:16:49Los inicios han sido sorprendentemente rápidos.
00:16:52Eso es importante para Slack.
00:16:53Si alguna vez han construido una integración de Slack o cualquier otra herramienta de terceros con la que se estén integrando,
00:16:59que también es serverless,
00:17:01querrán inicios rápidos.
00:17:02Y en cada nivel dentro de Vercel, hay inicios rápidos.
00:17:06Me encanta la CLI por poder desplegar antes de hacer un commit o una pull request para asegurarme de que si pongo algún código defectuoso,
00:17:15pueda detectar los problemas más rápido antes de desplegar y,
00:17:19por supuesto,
00:17:20desplegar en varios entornos.
00:17:22Y luego,
00:17:22también,
00:17:23al igual que tenemos un marketplace,
00:17:25tienen conexiones a servicios como Neon y Upstash para Redis y Postgres,
00:17:29lo que hace que sea muy,
00:17:31muy rápido tener una base de datos backend funcionando.
00:17:35Y eso era importante.
00:17:37Hablando de bases de datos backend,
00:17:39eso es lo que llevó a lo que venía después.
00:17:41Así que ahora tenemos todas estas interacciones en nuestro Dev Slack.
00:17:48Y resulta ser una fuente de información realmente rica.
00:17:52Obviamente, podríamos intuir esto.
00:17:54Pero una de las cosas que me sorprendió fue darme cuenta de que probablemente podría crear otra interfaz de frontend para estos datos,
00:18:02de tal manera que pudiéramos usarla para volver a lo que Brooke dijo antes: educar e informar nuestro proceso de retroalimentación,
00:18:10cómo recibimos información,
00:18:12cómo llevamos esa información de vuelta al producto para mejorar la experiencia del desarrollador.
00:18:18Y así pasamos de construir un Slackbot a,
00:18:22de repente,
00:18:23cambiar a V0 en un nuevo proyecto,
00:18:26tomando esos datos,
00:18:27creando un frontend muy simple protegido con contraseña para exponer: ¿sobre qué están preguntando las personas?
00:18:37¿Qué tipos de recursos mostramos?
00:18:40Así que tenemos muchas conversaciones sobre webhooks,
00:18:43tenemos muchas conversaciones sobre autenticación.
00:18:46Nos permitió mostrar el impacto de los experimentos que estábamos haciendo,
00:18:51lo cual es realmente genial porque tenemos que llevar este Slackbot a algún lugar.
00:18:57No queríamos simplemente construirlo y dejarlo ir.
00:18:59Tenemos que llevarlo al siguiente paso.
00:19:01Y la mejor manera de hacerlo,
00:19:03si han estado en reuniones con alguien de la dirección,
00:19:06es mostrar un gráfico o poner algún tipo de presentación allí.
00:19:10Y esto nos ayudará a tomar decisiones con el equipo de la comunidad dentro de DevRel para decir: ¿qué vamos a hacer?
00:19:18¿Lo vamos a mantener?
00:19:19¿Lo vamos a avanzar?
00:19:21Si lo avanzamos,
00:19:23entonces la infraestructura en el backend del bot va a cambiar.
00:19:28Pero no había mejor manera para nosotros de empezar que construirlo en una plataforma muy fácil de usar como Vercel,
00:19:37tener algunas visualizaciones,
00:19:39y ahora podemos decidir qué hacer a continuación.
00:19:43Así que ahora vamos a ver lo que construyó Dennis,
00:19:46que es incluso más avanzado de lo que yo construí y me atrevo a decir que mejor,
00:19:51pero también otro experimento dentro de DevRel Labs.
00:19:55Y entonces, Dennis, es tu turno.
00:19:57Gracias, Chris.
00:19:59Y gracias por decir que es mejor.
00:20:01Dios mío, espero que todos estén escuchando eso.
00:20:04Así que antes de trabajar en HubSpot,
00:20:06trabajé en una agencia.
00:20:08Y cuando Chris me habló de estas cosas de DevRel Labs que estamos haciendo,
00:20:13tuve un problema muy específico que encontré en la agencia,
00:20:17y era que construía algo,
00:20:19una de estas tres cosas.
00:20:21O construía algo,
00:20:22lo terminaba,
00:20:22y quedaba en modo de mantenimiento.
00:20:24Solo lo estoy observando de vez en cuando.
00:20:25Se rompería más tarde porque me perdí algo que estaba sucediendo en el ecosistema de HubSpot.
00:20:31O heredé un montón de proyectos y no tenía idea de lo que hacían.
00:20:37Y así,
00:20:38eventualmente,
00:20:38uno de ellos encontraría algún tipo de cambio disruptivo y se rompería,
00:20:42y yo tendría que averiguar dónde,
00:20:43por qué y cómo.
00:20:44Y lo último,
00:20:44y este es probablemente mi mayor problema,
00:20:46es que hay tantas cosas malditas a las que prestar atención,
00:20:49que a menudo simplemente perdía el rumbo de lo que estaba haciendo.
00:20:52No presto atención a ninguno de los registros de cambios,
00:20:55y algo se rompe.
00:20:56¿Y adivinen qué?
00:20:57En ese momento, los clientes te están gritando.
00:20:59Así que lo que decidí fue que voy a construir,
00:21:01siguiente diapositiva,
00:21:02una herramienta de monitoreo de registros de cambios para desarrolladores de HubSpot,
00:21:07también conocida como nombre en clave Sprocky change dust.
00:21:10Lo que hace esta herramienta es monitorear activamente el registro de cambios de HubSpot que utiliza IA para analizar esas entradas del registro de cambios y decidir qué tipo de cambio es.
00:21:19¿Es un cambio disruptivo?
00:21:21¿Es una mejora?
00:21:22¿Afecta al CMS?
00:21:23¿Afecta al CRM?
00:21:24¿Afecta a ambos?
00:21:26Y luego les permite usar repositorios alojados en GitHub para verificar esos registros de cambios contra su repositorio,
00:21:33permitiéndoles,
00:21:34básicamente,
00:21:35tener un asistente que revise el registro de cambios por ustedes.
00:21:39¿Entonces, cómo lo hicimos?
00:21:40El conjunto de herramientas que usamos aquí será un framework de React construido con Vercel,
00:21:45obviamente Next.js,
00:21:46porque,
00:21:47ya saben,
00:21:47mantequilla de maní y jalea,
00:21:49Supabase para nuestra base de datos,
00:21:51y luego tuvimos que construir una aplicación de GitHub que nos permitiera conectarnos a esos repositorios allí.
00:21:56Y luego,
00:21:57a través de algunas funciones serverless en Vercel y OpenAI,
00:22:01pude recuperar datos de muy buena calidad para que el usuario actuara.
00:22:06¿Por qué elegí Vercel?
00:22:07Honestamente, es súper fácil de configurar.
00:22:11No tuve que preocuparme mucho por el frontend.
00:22:13Tuve una aplicación funcionando en menos de media hora fácilmente.
00:22:18Con las funciones serverless,
00:22:20pude reducir realmente el costo de ejecutar ese servidor.
00:22:23Solo está encendido cuando lo necesito.
00:22:25Estoy enviando estas colas por lotes a OpenAI para que lo haga,
00:22:28y lo trae de vuelta,
00:22:30lo hace rápidamente.
00:22:31Ahorré muchísimo dinero haciendo eso.
00:22:32Y luego también el hecho de que puedo estar probando yo solo y luego crecer a miles de personas usando esta aplicación,
00:22:39Vercel simplemente está ahí,
00:22:41escala conmigo.
00:22:42Todo el proceso fue genial.
00:22:44Así que,
00:22:45pasando a la siguiente diapositiva,
00:22:46pueden ver que este es básicamente el frontend que construí con Next.js.
00:22:50Verán que traemos todas nuestras entradas del registro de cambios.
00:22:53Aquí mismo,
00:22:53pueden ver una descripción de lo que es ese registro de cambios.
00:22:57Si lo saben ahora mismo,
00:22:58ya pueden crear una incidencia en un repositorio específico de GitHub que hayan adjuntado,
00:23:03lo que nos lleva a la siguiente diapositiva,
00:23:05tenemos que conectarlo a GitHub.
00:23:07Esto les permite conectar tantos repositorios como quieran.
00:23:11En el primer escaneo,
00:23:12va a realizar un escaneo programático solo para ver si cree que es relevante para HubSpot.
00:23:18Recuerden,
00:23:18es posible que hayan heredado repositorios,
00:23:21como 50 repositorios.
00:23:22No tienen idea de lo que hacen.
00:23:23Los arrojan aquí.
00:23:24Va a hacer un escaneo inicial.
00:23:26Va a encontrar cualquier cosa,
00:23:28patrones de archivos que pueda encontrar para decir,
00:23:30oh sí,
00:23:31esto podría estar relacionado con HubSpot,
00:23:33en cuyo punto pueden ir a la siguiente diapositiva y verán que pueden hacer clic en el botón de HubSpot allí,
00:23:39lo que significa que lo enviará a OpenAI en un lote.
00:23:42Va a monitorear,
00:23:43está usando un sistema RAG para enviar solo los detalles importantes que cree que están relacionados con su repositorio y HubSpot.
00:23:49Va a tomar un poco de tiempo,
00:23:51y una vez que termine,
00:23:53volverá y les mostrará todos los posibles aciertos.
00:23:56Reciben un correo electrónico de notificación,
00:23:58también estoy trabajando en una notificación de Slack,
00:24:01que dice: 'Oye,
00:24:02será mejor que revises esto'.
00:24:03Luego tienen la opción de decir: 'Okay,
00:24:05esto es legítimo,
00:24:05crearé una incidencia al respecto y empezaremos a trabajar en ello',
00:24:09o puedo descartarlo porque realmente no se relaciona con esto.
00:24:12Una vez que lo descartan,
00:24:13somos lo suficientemente inteligentes como para empezar a darnos cuenta de que,
00:24:17okay,
00:24:17esto podría no ser lo que queremos monitorear para este repositorio en particular,
00:24:21así que actualizaremos el gráfico de uso.
00:24:23Después de eso,
00:24:24vamos a monitorear continuamente cada repositorio,
00:24:27así que si están haciendo cambios en cualquiera de los repositorios,
00:24:31lo estamos observando.
00:24:32Si hacen un cambio importante,
00:24:34vamos a proceder a volver a escanear todos los registros de cambios contra este nuevo cambio que agregaron para asegurarnos de que no hicieron algo que no sabían que era un problema.
00:24:43También nos permite seguir adelante y olvidé lo que iba a decir.
00:24:50Nos permite verificar cada vez que llega un nuevo registro de cambios,
00:24:54nos permite revisar cada repositorio conectado que tienen para ver si ese registro de cambios es específico para ustedes.
00:25:01Esto les permite no tener que depender de sus ojos para ir al registro de cambios y averiguar si esto está relacionado con ustedes o no.
00:25:08Permite que el registro de cambios llegue a su bandeja de entrada y ustedes pueden tomar medidas según lo necesiten.
00:25:14Dicho esto,
00:25:15creo que estamos en el momento de preguntas y respuestas.
00:25:17Intenté apresurarme lo más rápido posible para que podamos tener algunas preguntas y respuestas si es necesario.
00:25:22Hiciste un buen trabajo, Dennis.
00:25:23Sí, excelente trabajo, Dennis.
00:25:25Rápido, fuego rápido.
00:25:26Muy rápido.
00:25:27Muy bien, tenemos unos minutos aquí.
00:25:31Así que tengo una pregunta para empezar.
00:25:34Sé que hoy vimos que las demostraciones no siempre salen perfectamente cuando son en vivo.
00:25:39Y aunque Vercel facilita las cosas a la gente,
00:25:42siempre hay algo que podemos mejorar.
00:25:45Nadie es perfecto.
00:25:46Entonces,
00:25:46¿tienen alguna solicitud de función que les gustaría que compartiera con el equipo de ingeniería?
00:25:51¿Hay algo que les gustaría ver diferente o que simplemente falta por completo?
00:25:55No sé si falta algo todavía.
00:26:00Pero honestamente,
00:26:01hay algunas características que acaban de lanzar recientemente,
00:26:04extendiendo el tiempo de trabajo de una función serverless,
00:26:07creo.
00:26:07No recuerdo el nombre de la que acaban de lanzar y que me interesa mucho,
00:26:12porque cuando opero con OpenAI,
00:26:14esperar un resultado podría superar la duración de la función serverless.
00:26:19Tenían un nombre para ello y lo siento, pero lo olvidé.
00:26:21Pero estoy muy emocionado de empezar a usar eso,
00:26:24así como su SDK de IA que acaban de presentar también.
00:26:28Estas no son solicitudes de funciones,
00:26:30soy yo disfrutando de las funciones que están lanzando.
00:26:34Tengo otra.
00:26:35En realidad,
00:26:36he estado usando la,
00:26:38se me olvida el nombre de la API para despliegues porque no he,
00:26:43ha sido un poco molesto pasar de la aplicación frontend que construí a,
00:26:50¿fue exitoso el despliegue?
00:26:53Y entonces tienen una API para obtener el estado del despliegue.
00:26:56Así que no tengo que hacer eso.
00:26:58Puedo esperar hasta que esté listo antes de,
00:27:00porque en realidad no quiero mirar la interfaz hasta que haya un problema.
00:27:05Y si tengo un despliegue fallido,
00:27:06ese es el problema más frustrante con el que me encuentro.
00:27:09Pero por lo demás,
00:27:11tener múltiples proyectos y creo que algunas de las interfaces,
00:27:15siempre hay lugares para mejorar en términos de experiencia,
00:27:19pero no ha habido como una cosa que haya notado.
00:27:23Sí,
00:27:23tengo un posible 'gotcha' que podría ser por mi parte y no de Vercel.
00:27:28Así que si es una solicitud de función, genial.
00:27:30Si soy yo, ya saben, qué vergüenza.
00:27:33Hice un montón de pruebas localmente con todas mis cosas y las funciones no mueren localmente.
00:27:38Al menos no para mí.
00:27:40Así que todo parecía ir como la seda,
00:27:42ya saben,
00:27:42fue increíble.
00:27:43Todo está funcionando.
00:27:44Funcionó en mi máquina.
00:27:45Sí.
00:27:46Funcionó en mi máquina.
00:27:47Exacto.
00:27:48Clásico.
00:27:49Así que si haces un,
00:27:50ya sabes,
00:27:51un Vercel y,
00:27:51ya sabes,
00:27:52las funciones mueren eventualmente,
00:27:54yo,
00:27:54de nuevo,
00:27:55esto podría ser algo mío donde solo necesito,
00:27:57ya sabes,
00:27:58limitar mis,
00:27:59poner un gobernador básicamente en mis funciones para que solo puedan ejecutarse por un período de tiempo.
00:28:04Pero si Vercel pudiera ofrecer eso de forma predeterminada,
00:28:07sería bastante increíble.
00:28:08Es como un tiempo de ejecución más largo.
00:28:10Sí.
00:28:11No, no.
00:28:12Como,
00:28:12bueno,
00:28:13quiero decir,
00:28:13tiempos de ejecución que coincidan con los de producción.
00:28:17Localmente.
00:28:18Sí.
00:28:19De acuerdo.
00:28:20Sí.
00:28:21También me he encontrado con algo de eso.
00:28:22Bueno saberlo.
00:28:23¿Tienes algo?
00:28:24Eso es genial.
00:28:25Lo sé.
00:28:26He pasado por eso toda mi vida,
00:28:29golpear a mi lado me ayuda a recordar.
00:28:32No tengo ninguna solicitud específica,
00:28:35no,
00:28:36pero sí quería mencionar que si son nuevos en HubSpot,
00:28:40pero les gustó lo que vieron y quieren probarnos.
00:28:43Siempre pueden unirse a nuestro Slack de desarrolladores.
00:28:45Hablamos de eso y podemos,
00:28:47también pueden ir y consultar nuestra documentación para desarrolladores para que puedan probar algunas cosas por sí mismos.
00:28:55En efecto.
00:28:56Genial.
00:28:57Veamos.
00:28:58Tengo una pregunta más que me gusta hacer y es,
00:29:02sé que han cubierto mucho.
00:29:05Así que,
00:29:05si hay alguna conclusión clave,
00:29:07alguna mejor práctica o simplemente un consejo clave que quieran asegurarse de que la gente recuerde al terminar esto?
00:29:14Tengo uno y no lo seguí y todavía no lo sigo y estoy enojado con mi,
00:29:20estoy muy enojado conmigo mismo.
00:29:23Usen entornos y configúrenlos temprano.
00:29:27No intenten adaptarlo después porque es muy doloroso.
00:29:32Así que,
00:29:33tener su entorno desde el principio,
00:29:35eso es algo que en la interfaz es muy fácil tener sus variables de entorno vinculadas a un entorno.
00:29:43Como configurar entornos, úsenlos temprano.
00:29:48No esperen porque hacerlo después es muy, muy doloroso.
00:29:51Y sé que todos queremos construir funcionalidades y verlas funcionando lo más rápido posible.
00:29:57Y así,
00:29:57tener un entorno de prueba puede ser un poco molesto,
00:30:01pero sí,
00:30:01eso es lo que yo recomendaría.
00:30:03Yo le daría un 'más uno' a eso.
00:30:04Estaba recibiendo un error y le preguntaba al cursor por qué mi error,
00:30:09por qué no funcionaba cuando estaba en mi entorno de desarrollo y era porque no había activado el uso de mi entorno,
00:30:17mi clave secreta de entorno dentro de mi entorno de desarrollo.
00:30:22Así que era como si no pudiera encontrar la clave.
00:30:24Así que eso fue un poco tonto.
00:30:26Pero sí,
00:30:26veo esa pregunta sobre ¿cómo están usando la IA en sus flujos de trabajo?
00:30:30Así que,
00:30:31específicamente conmigo,
00:30:32me gusta usar nuestro MCP para desarrolladores.
00:30:35Creo que es un producto realmente bueno y siempre estamos tratando de obtener comentarios sobre cómo podemos mejorar ese MCP para los desarrolladores de HubSpot.
00:30:43Pero me encanta porque cuando le pregunto al cursor,
00:30:46como,
00:30:47'Oh,
00:30:47quiero hacer algo'.
00:30:48Lo que hará es buscar en nuestra documentación en tiempo real.
00:30:51Así que siempre obtendrán la información más actualizada.
00:30:55No estará desactualizada cuando le hagan una pregunta al MCP y este vaya a ejecutar esa búsqueda en la documentación.
00:31:04Mi adición es ser, uso la IA con escepticismo.
00:31:07Cuestiono todo lo que me devuelve porque a menudo,
00:31:10ya saben,
00:31:11todavía no es perfecto.
00:31:12No, es tan fácil.
00:31:14Es como un caramelo.
00:31:15Ya sabes,
00:31:16puedes simplemente darle a aceptar,
00:31:18ir,
00:31:18ir,
00:31:19ir,
00:31:19ir,
00:31:20ir.
00:31:19Estás 17 commits adentro.
00:31:21Y luego,
00:31:22ya sabes,
00:31:22ese tercer commit en realidad va a romper todo.
00:31:26Así que usen Vercel o usen Vercel,
00:31:28usen la IA de una manera escéptica.
00:31:31Muy críticos con ella.
00:31:33Siempre,
00:31:34siempre,
00:31:34siempre creen nuevas ramas cuando estén haciendo algo nuevo.
00:31:38De esa manera, pueden deshacerse de ello si es necesario.
00:31:40Aprovechen Vercel y su entorno de vista previa,
00:31:45ya saben,
00:31:46para hacer eso y sí,
00:31:47no confíen demasiado en ello.
00:31:50Todo buen consejo.
00:31:51Sé que estamos sobre la hora y todos ustedes están muy ocupados y probablemente tienen otros compromisos justo después de esto.
00:31:58Así que muchas gracias por tomarse el tiempo.
00:32:00Voy a dejarlos ir para que puedan volver a su día.
00:32:03Lo aprecio.
00:32:04Gracias.
00:32:05Gracias a Vercel y a todos los que vinieron.
00:32:09Genial.
00:32:11Solo un recordatorio rápido.
00:32:12Tenemos otra sesión la próxima semana.
00:32:14Hablaremos sobre Python en Vercel.
00:32:18Y siempre pueden consultar el calendario de eventos en community.vercel.com/events para ver todo lo que viene.
00:32:24Gracias a todos.
00:32:25Que tengan una buena semana.