26 may 2025
·
Raúl López
Cómo ahorramos decenas de horas al mes creando un asistente de IA para generar presupuestos
En esta serie, vamos a profundizar en cómo estamos automatizando nuestra agencia. Hoy, estamos automatizando la creación de presupuestos para nuevos clientes, multiplicando por 4 la cantidad de presupuestos que podemos generar.
Este año comenzamos con un reto: queremos escalar 5 veces manteniendo el mismo equipo pequeño y ágil que tenemos ahora. Esto significa que necesitamos automatizar gran parte del trabajo que hacemos, para poder usar ese tiempo en cosas más productivas.
Una de las tareas que más tiempo nos estaba consumiendo en las últimas semanas era la creación de ofertas para potenciales clientes. Dedicábamos mucho tiempo a construir la oferta, preparar una presentación en PowerPoint atractiva y revisarla con el equipo. En promedio, pasábamos unas 3 horas por oferta (después de todas las reuniones con los posibles clientes).
Esto tenía que cambiar, y tenía que cambiar rápido, porque estamos recibiendo bastantes proyectos potenciales y no hay tiempo físico para encargarse de todas las ofertas a tiempo. Como buen desarrollador, invertí esas 3 horas en crear una pequeña herramienta que nos permite iterar las ofertas junto con todo el equipo:
¿Cómo funciona?
Es bastante simple. Lo dividiré en 3 partes distintas:
Interfaz de usuario
Para la interfaz de usuario, estamos usando Laravel y Filament (que utiliza Livewire por detrás). Esto nos permitió crear un prototipo rápidamente y validarlo con un presupuesto real. Además, lo integramos dentro de Borah Studio, nuestro software interno para los empleados.
En el lado izquierdo, hay una pequeña interfaz de chat. Podemos adjuntar archivos (por ejemplo, documentos con los requisitos del proyecto enviados por el cliente) y esperar la respuesta de la IA. En el lado derecho, hay una vista previa de la propuesta que se actualiza cuando la IA realiza cambios.
La propuesta
La propuesta en sí es simplemente HTML con un estilo cuidado usando TailwindCSS. Para esta primera versión, solo creamos dos tipos de diapositivas: una diapositiva de texto y una diapositiva de portada.

El presupuesto es accesible públicamente a través de una URL firmada, de modo que solo las personas con el enlace pueden acceder al documento.
¿Cómo generamos una presentación usando un LLM?
Para este prototipo, estamos utilizando la API de ChatGPT. Diseñamos un system prompt amplio con toda la información relevante sobre nuestra empresa, nuestros valores y los servicios que ofrecemos. También se alimenta con la lista de empleados y sus tarifas. El LLM tiene acceso a una serie de herramientas:
Crear una diapositiva
Editar una diapositiva
Eliminar una diapositiva
Mover una diapositiva
Con estas 4 herramientas, el LLM puede decidir qué hacer en función del historial del chat, los documentos adjuntos y la información proporcionada por el usuario. Después de hacer la llamada a la API del LLM, transformamos la propuesta y la actualizamos en la vista previa del lado derecho.
Ahora bien, esto es lo que más me gusta de la automatización: te libera para hacer más cosas. Ahora podemos hacer 4 veces más ofertas en el mismo tiempo, y hemos aumentado la autonomía del equipo para crear e iterar nuevas propuestas.