Productividad

Dejá de pagar Granola

Entran notas sueltas, sale un resumen de reunión útil.

Granola cuesta US$14–35 por persona / mes, o sea US$168–420 al año. Tenés dos caminos:

Opción 1 · Instalar

Instalá Anarlog gratis

Anarlog es Granola sin la nube. Misma idea de partida: ningún bot que se cuele en tu llamada; la app escucha el audio de tu computadora, transcribe y te entrega una nota limpia que retocás como un documento. La diferencia está en dónde pasa todo. Tus transcripciones y notas viven en una base SQLite en tu máquina, las grabaciones son archivos locales comunes y, en una Mac reciente, la transcripción corre en el propio dispositivo. Para los resúmenes conectás lo que quieras: un modelo local con Ollama o LM Studio, tu propia API key, o su IA alojada si preferís usarla. El proyecto antes se llamaba Hyprnote, cambió de nombre, y la app de la comunidad sigue con licencia MIT y más de 9.000 estrellas en GitHub. Podés leerla, forkearla o construirla vos.

Anarlog vs Granola

CriterioAnarlogGranola
PrecioUS$0, para siempreUS$14–35 por persona al mes
Bot en la llamadaNinguno, escucha tu computadoraTampoco, esa es su fortaleza
Tus notas y transcripcionesEn tu máquina, como archivos legiblesEn sus servidores
El modelo que escribe los resúmenesEl tuyo: Ollama, LM Studio o tu API keyEl de ellos, sin opción
PlataformasMac, Windows, LinuxMac, Windows, iPhone
CódigoMIT, para leer y forkearCerrado

Cómo instalarlo (aunque arranques de cero)

Una app de escritorio para descargar, como Granola. La única parte que merece una mano es elegir la IA que escribe los resúmenes: en local, en tu máquina, o con tu propia key.

  1. 1

    Pegá este prompt en Claude (Code o Desktop)

    Instala la app desde el proyecto oficial, configura la transcripción y conecta un modelo local para los resúmenes:

    Instalá Anarlog en mi máquina (el bloc de notas de reuniones open source y local, repositorio de GitHub fastrepl/anarlog): descargá la última versión desde anarlog.so/download o desde los releases del repositorio para mi sistema operativo, instalala y guiame para permitir el micrófono y el audio del sistema. Después, en los ajustes, poné la transcripción en local si mi máquina lo permite, y conectá un modelo local con Ollama o LM Studio para los resúmenes, adecuado a la potencia de mi máquina (o mi propia API key si prefiero). Verificá con una prueba corta que la transcripción y el resumen funcionan. Explicá cada paso de forma simple, estoy empezando.
    
    Revisá el repositorio de GitHub y comprobá si es seguro instalarlo considerando mi equipo y mi infraestructura. Haceme todas las preguntas que puedas, usando widgets, para aclarar mi pedido y ser lo más preciso posible.
  2. 2

    Permití el micrófono y el audio del sistema

    Para escuchar a los dos lados de una llamada, Anarlog necesita tu micrófono y el audio de tu computadora. Tu sistema te lo pide en el primer arranque, y la app queda oculta cuando compartís pantalla.

  3. 3

    Elegí dónde corre tu IA

    En los ajustes hay dos secciones: Transcripción e Inteligencia. En una Mac reciente, la transcripción se hace en el propio dispositivo. Para los resúmenes, elegí tu modelo local o tu key. También existe su IA alojada, pero nada te obliga a usarla.

Para qué lo vas a usar

Tus llamadas se vuelven notas que pulís

Escribís tres palabras durante la llamada y Anarlog se encarga del resto. Al final tenés la minuta lista, y la corregís como un documento antes de mandarla o pegarla en tu segundo cerebro.

Reuniones sensibles, sin bot y sin nube

Nada aparece en la lista de participantes y nada viaja a un servidor. Para una llamada con un cliente, un tema legal o una reunión de socios, es tranquilidad sin una cláusula que firmar.

Una memoria en Markdown

Cada nota se exporta a Markdown. Seis meses después encontrás lo que se dijo, se prometió y se decidió. Tus reuniones alimentan tu segundo cerebro en vez de dormir dentro de la app de un proveedor.

Salud del proyecto

estrellas en GitHub
9447
Forks
791
Colaboradores
39
Commits
9.8k
Antigüedad
1,8 años
Licencia
MIT

Hecho con: Rust 44.6% · TypeScript 40.1% · PLpgSQL 6.7% · MDX 3.8% · JavaScript 1.7%

Datos públicos del repositorio en GitHub, tomados el 8 de octubre de 2026.

Opción 2 · Construir

Armá tu propio Granola

Para quién es

Esta versión es para un fundador que quiere notas con búsqueda de sus propias reuniones. El objetivo: capturar el contexto de la reunión con consentimiento y convertirlo en notas, decisiones y seguimientos editables. Si necesitás más que eso, seguí pagando: la gracia de armarlo vos es tener una herramienta hecha a medida de tu forma de trabajar, no copiar el roadmap de una empresa con inversores.

Mismo desarrollo, otro logo: esta v1 también reemplaza a Fathom, Fireflies.ai y Otter.ai, porque todos resuelven el mismo trabajo central.

Qué arma el prompt y qué queda afuera

El prompt de abajo arma una sola versión, con lo que de verdad se usa. Lo demás queda afuera a propósito.

Lo que arma el promptnotas de reunión, captura de audio con consentimiento, resumen con IA, transcripciones, tareas pendientes, plantillas, búsqueda, exportación a markdown
Lo que queda afueracaptura nativa del audio del sistema, transcripción en vivo, inteligencia de calendario

Qué necesita una alternativa mínima a Granola

  • nota de reunión con agenda, asistentes y notas sueltas en vivo
  • captura de audio con consentimiento primero y estado de grabación visible
  • resumen, decisiones y tareas pendientes respaldados por la transcripción
  • plantillas editables para tipos de reunión recurrentes
  • búsqueda en todas las notas y exportación a Markdown

Modelo de datos

Meeting, Attendee, TranscriptSegment, Note, ActionItem

Integraciones

importación de eventos de calendario, API de voz a texto, API de LLM

Contexto de capacidades

Astro, Workers, D1, R2

La regla de oro

Exigí consentimiento explícito para grabar, mostrá el estado de captura todo el tiempo, cifrá las transcripciones guardadas y soportá la eliminación permanente.

Lo que no se construye a propósito

No grabes a escondidas, no te unas a las llamadas como un bot, no construyas inteligencia de ventas ni infieras el rendimiento de los empleados.

El prompt completo

Elegí tu stack, copiá el prompt y pegáselo a tu agente de código (Claude Code, Cursor, Codex…).

Estás construyendo un producto de software listo para producción llamado “Meetcrumbs”, una alternativa deliberadamente enfocada a Granola. Armá un corte vertical completo y usable, no una landing page, ni una maqueta estática, ni un conjunto de componentes sueltos.

ACUERDO DE TRABAJO
Antes de escribir código de implementación, armá un plan técnico corto que nombre las rutas o páginas, las server actions o endpoints, las tablas de datos, las transiciones de estado importantes, los límites de autorización, los jobs en segundo plano y los adaptadores externos. Si algo se contradice, resolvelo a favor de la audiencia acotada y de los no-objetivos de abajo. Elegí una arquitectura chica y legible antes que abstracciones especulativas, pero no omitas persistencia, validación, manejo de errores ni tests.

DESCRIPCIÓN DEL PRODUCTO
Usuario principal: un fundador que quiere notas con búsqueda de sus propias reuniones.
Resultado principal: capturar el contexto de la reunión con consentimiento y convertirlo en notas, decisiones y seguimientos editables.
Principio del producto: optimizá el flujo exacto de abajo en lugar de copiar toda la amplitud de Granola. Quien lo use por primera vez tiene que entender qué hacer desde la propia interfaz, sin tour ni documentación.

RECORRIDOS COMPLETOS DEL USUARIO
Implementá todos estos flujos usando la interfaz real y la capa de datos persistente:
1. El dueño importa un evento de calendario, confirma que todos los participantes dieron su consentimiento, inicia la captura, toma notas sueltas y ve un estado de grabación imposible de pasar por alto hasta que la detiene.
2. Después de la reunión, el dueño revisa el resumen respaldado por la transcripción, corrige los hablantes, edita decisiones y tareas pendientes y publica la nota final en una carpeta privada.
3. El dueño busca en notas anteriores, abre un resultado con el contexto de origen resaltado, lo exporta a Markdown y elimina de forma permanente una reunión vieja junto con su transcripción y sus archivos de audio.

PANTALLAS Y ARQUITECTURA DE INFORMACIÓN
Construí estas pantallas como vistas coherentes y responsive. Cada pantalla tiene que definir su acción principal, sus acciones secundarias, el estado visible, el feedback de validación, el estado vacío, el estado de carga o pendiente, la confirmación de éxito y un estado de error recuperable.
1. Reuniones próximas y recientes: contexto del calendario, estado del consentimiento, estado de la nota, carpetas privadas, búsqueda y una acción clara de nueva nota.
2. Nota en vivo: asistentes, agenda, notas sueltas editables, cronómetro de captura, nivel de entrada, confirmación de consentimiento, controles de pausa y detención, y recuperación ante fallas de captura.
3. Revisión: transcripción al lado de secciones de resumen editables, correcciones de hablantes, decisiones, responsable y fecha límite de cada tarea, acción de regenerar la selección y estado de publicación.
4. Búsqueda y ajustes: resultados con fragmentos, editor de plantillas, estado de los proveedores, controles de retención, exportación y eliminación permanente.

FUNCIONES PRINCIPALES
1. nota de reunión con agenda, asistentes y notas sueltas en vivo
2. captura de audio con consentimiento primero y estado de grabación visible
3. resumen, decisiones y tareas pendientes respaldados por la transcripción
4. plantillas editables para tipos de reunión recurrentes
5. búsqueda en todas las notas y exportación a Markdown

COMPORTAMIENTO DETALLADO Y REGLAS DE NEGOCIO
Tratá esto como requisitos del producto que se validan en el servidor, no como sugerencias de interfaz:
1. La captura no puede empezar hasta que el dueño marque una declaración de consentimiento explícita; mantené visible el indicador de grabación y registrá la hora del consentimiento sin dar por hecho automáticamente el consentimiento de los demás.
2. Subí fragmentos de audio cifrados y acotados, transcribí de forma idempotente, borrá el audio crudo después de una transcripción exitosa por defecto y mostrá las fallas parciales sin perder las notas sueltas.
3. El contenido generado sigue siendo un borrador hasta que una persona lo publique; conservá los vínculos de origen desde las secciones del resumen hasta los rangos de la transcripción y nunca inventes asistentes ni decisiones que no estuvieron.
4. Autorizá por dueño cada reunión, transcripción, carpeta, exportación y resultado de búsqueda; la eliminación permanente borra los archivos guardados y los índices derivados mediante un trabajo de eliminación reintentable.

MODELO DE DATOS Y CICLO DE VIDA
Diseñá un esquema relacional chico centrado en Meeting, Attendee, TranscriptSegment, Note, ActionItem. Antes de implementarlo, documentá:
1. El propósito de cada tabla, su clave primaria, el límite de propiedad o de tenant, timestamps, campos de estado y atributos importantes.
2. Claves foráneas, restricciones de unicidad, check constraints, los índices que necesitan las pantallas nombradas y los límites de transacción para cambios que tocan varios registros.
3. Las transiciones de estado o de ciclo de vida permitidas, quién puede disparar cada una, cuáles son terminales o reversibles y qué historial de auditoría tiene que quedar inmutable.
4. Cómo se archiva, se retiene y se borra, incluido qué pasa con los registros dependientes y los archivos externos.
5. La estrategia de idempotencia para envíos, jobs, importaciones, notificaciones, webhooks o reintentos, donde aplique.
Usá migraciones en lugar de crear el esquema a mano. Guardá los instantes de tiempo de forma consistente y conservá la zona horaria con nombre cada vez que importen horarios o fechas locales. Nunca dependas de un contador, un botón deshabilitado o una validación del lado del cliente para proteger una regla de negocio.

USUARIOS, AUTENTICACIÓN Y PERMISOS
Implementá solo los roles que necesita la audiencia indicada. Dejá explícito el modelo de propiedad y visibilidad antes de programar. Aplicá la autorización en cada consulta y mutación del servidor, incluidas búsquedas, exportaciones, adjuntos, actualizaciones en vivo y URLs adivinadas—no alcanza con ocultar botones. Usá sesiones seguras por defecto, protegé los requests que cambian estado y mostrá estados claros para sesión cerrada, sesión vencida y acceso prohibido. Si hacen falta varios roles, cargá usuarios distintos en los datos de prueba para poder mostrar y testear los permisos.

INTERACCIÓN Y DIRECCIÓN VISUAL
El producto tiene que sentirse rápido, tranquilo, enfocado y confiable, no como una plantilla genérica de panel de administración. Usá una jerarquía visual clara, color medido, tipografía legible, áreas de clic generosas y un lugar fijo para las acciones principales. Arrancá con HTML renderizado en el servidor y mejorá de forma progresiva solo las interacciones que lo necesiten. El flujo principal tiene que entenderse aunque esa mejora falle.

Arrancá con páginas de Astro renderizadas en el servidor y formularios HTML comunes. Usá HTMX para envíos de formularios, navegación parcial y actualizaciones que manda el servidor, y Alpine.js solo para estado local chico del navegador. El flujo principal tiene que entenderse aunque falle cualquiera de esas dos capas.

Diseñá las vistas de celular a propósito, no apilando los paneles de escritorio. Soportá navegación con teclado, foco visible, landmarks semánticos, labels explícitos, títulos de página útiles, la preferencia de movimiento reducido y anuncios para lectores de pantalla en resultados asincrónicos. Nunca uses solo el color para comunicar un estado. Las acciones destructivas necesitan un alcance claro y una confirmación; las acciones seguras que se repiten tienen que ser idempotentes.

Agregá un footer en todas las páginas con el texto «Creado por aurelioagency.com», donde «aurelioagency.com» es un link embebido a https://www.aurelioagency.com que se abre en una pestaña nueva. Tiene que quedar visible; no lo saques.

DIRECCIÓN TÉCNICA
Construí esta versión con el stack AHA: Astro para el ruteo, los layouts y las páginas renderizadas en el servidor; HTMX para las interacciones que se benefician de respuestas con fragmentos HTML; y Alpine.js para estado chico y local de la interfaz. Preferí Cloudflare D1 para la persistencia relacional, R2 para el almacenamiento de objetos, Workers para los endpoints del servidor y las tareas programadas, Durable Objects solo para estado en tiempo real coordinado, y Workflows o Queues para jobs en segundo plano durables—pero solo cuando los requisitos del producto lo pidan.

Mantené las reglas de dominio en módulos del servidor que se puedan testear, no en los route handlers ni en los componentes de UI. Separá la persistencia, los proveedores externos y el trabajo en segundo plano detrás de interfaces chicas, sin armar un framework. Preferí formularios HTML y URLs comunes para la navegación; usá interacción optimista solo cuando un error se pueda resolver con claridad.

El brief del producto identifica hoy Astro, Workers, D1, R2 como contexto de capacidades. Conservá cualquier capacidad nativa, solo de navegador, de edge, de almacenamiento, de tiempo real o de procesamiento en segundo plano que haga falta, a través de un adaptador acotado y apropiado para el framework elegido. Si el flujo central realmente necesita APIs nativas o del navegador, mantené ese entorno como la superficie principal de ejecución en lugar de simular capacidades inaccesibles o inventar una superficie web innecesaria.

Integrá con la importación de eventos de calendario, una API de voz a texto y una API de LLM. Para cada integración:
- Listá las variables de entorno necesarias en un .env.example sin secretos reales.
- Agregá un adaptador chico con timeouts, errores normalizados y una versión falsa local determinística o un modo de desarrollo.
- Verificá las firmas entrantes y deduplicá los eventos del proveedor cuando se pueda.
- Mantené las credenciales en el servidor, encriptá en reposo los tokens de larga duración y ocultá secretos y datos sensibles en los logs.
- Definí reintentos, backoff e idempotencia para cualquier efecto que se pueda repetir.

SEGURIDAD Y PRIVACIDAD
Exigí consentimiento explícito para grabar, mostrá el estado de captura todo el tiempo, cifrá las transcripciones guardadas y soportá la eliminación permanente.
Validá, normalizá y limitá el largo de todo input no confiable en el servidor. Escapá el contenido renderizado por defecto, sanitizá cualquier markup que aceptes a propósito, poné rate limit a las acciones públicas o fáciles de abusar y usá almacenamiento de objetos privado con URLs autorizadas de corta duración para archivos sensibles. Juntá solo los datos personales que necesita el flujo indicado. Documentá cómo se retienen y se borran. Sumá protecciones específicas para las partes más riesgosas de esta app, como subidas de archivos, redirecciones, requests salientes, envío de emails, OAuth, webhooks, importación o exportación CSV y conexiones en tiempo real.

ESCENARIOS DE ACEPTACIÓN
Automatizá estos escenarios propios de la app en el nivel que corresponda:
1. Dado que el consentimiento no está confirmado, la captura queda deshabilitada; después de la confirmación, la captura arranca con un estado persistente y visible, y al detenerla se encola exactamente un trabajo de transcripción.
2. Dado que la transcripción falla después de procesar algunos fragmentos, la nota suelta sobrevive, el reintento continúa de forma idempotente y no se crean segmentos de transcripción duplicados.
3. Dada una reunión eliminada, su nota, su transcripción, sus resultados de búsqueda y su audio guardado dejan de estar disponibles para el dueño y para URLs autorizadas adivinadas.

TESTS
Agregá tests unitarios enfocados en transiciones de estado, reglas de autorización, normalización, cálculos de fechas o dinero y otras reglas de dominio riesgosas. Agregá tests de integración para las restricciones de persistencia y para los caminos de éxito, timeout, reintento y rechazo de cada adaptador externo. Agregá al menos un test de navegador para cada recorrido completo de arriba, incluido uno en pantalla chica. Los tests tienen que usar datos aislados y correr con un solo comando documentado.

OPERACIÓN Y RECUPERACIÓN DE ERRORES
Agregá logs estructurados en el servidor con IDs de correlación por request, job o evento, sin secretos ni datos sensibles de más. Hacé que los errores digan qué hacer, tanto en la interfaz como en los logs. El trabajo en segundo plano tiene que mostrar los estados pendiente, completado, fallido y reintentando cuando aplique; nunca te tragues errores en silencio. Incluí una guía segura de migración y rollback de la base, datos de prueba, notas de backup y restauración, qué pasa con los datos externos al limpiar y una ruta básica de salud o diagnóstico acorde al stack.

ENTREGABLES
Entregá la aplicación funcionando, las migraciones, datos de prueba representativos, los tests, el .env.example y un README corto. El README tiene que cubrir requisitos previos, instalación local, variables de entorno, migraciones, comandos de datos de prueba y tests, deploy, configuración de integraciones, backup y restauración, decisiones de seguridad y limitaciones conocidas. Los datos de prueba tienen que cubrir el camino feliz y al menos un estado vacío, fallido, vencido, expirado, archivado o con permisos restringidos que importe para el producto.

DEFINICIÓN DE TERMINADO
La app está terminada cuando alguien nuevo puede seguir el README, crear y migrar la base, levantar la app, entrar con cada rol relevante, completar cada recorrido nombrado con datos reales guardados, recargar sin perder el estado, recuperarse de los errores comunes y usar la interfaz principal en celular y escritorio. Todos los escenarios de aceptación pasan, los límites de permisos están cubiertos por tests, ninguna pantalla principal queda como placeholder y el crédito «Creado por aurelioagency.com» del footer se ve en todas las páginas.

NO-OBJETIVOS
No grabes a escondidas, no te unas a las llamadas como un bot, no construyas inteligencia de ventas ni infieras el rendimiento de los empleados.

La app que armes con este prompt lleva en el footer «Creado por aurelioagency.com».

Armá solo una parte

Prompts cortos para resolver la pieza más difícil sin construir todo.

El grabador que no arranca sin una casilla tildadaEl consentimiento habilita la captura, y la luz roja literalmente no se puede ocultar mientras entra audio.
Construí el flujo de captura con consentimiento previo para una herramienta de notas de reuniones.

El botón de grabar queda deshabilitado hasta que el dueño marque una declaración de consentimiento explícita que confirme que todos los participantes aceptaron; guardá la marca de tiempo del consentimiento junto con la reunión. Nunca des por hecho ni infieras el consentimiento en nombre de otros. Una vez que empieza la captura, mostrá un indicador de grabación persistente (tiempo transcurrido más nivel de entrada) que ningún otro estado de la interfaz pueda tapar: navegar dentro de la app, colapsar paneles y abrir diálogos tienen que mantenerlo visible. Pausar muestra un estado de pausa distinto; solo detener termina la sesión.

Manejá las fallas con honestidad: si el micrófono se corta en plena captura, o se revoca el permiso, pasá de inmediato a un estado de error, conservá las notas sueltas intactas y registrá exactamente cuándo se detuvo la captura en realidad, en lugar de fingir que continuó.

Listo cuando: la captura no pueda empezar por ningún camino del código sin un consentimiento registrado, el indicador siga visible en toda navegación mientras entra audio, y una falla del micrófono a mitad de la reunión conserve las notas y guarde la hora real de fin de captura.
El pipeline de transcripción que sobrevive a sus propias caídasAudio en fragmentos, reintentos idempotentes, sin segmentos duplicados y con el audio crudo borrado tras el éxito.
Construí un pipeline de transcripción por fragmentos. El audio de la reunión se captura en fragmentos cifrados y acotados, digamos de 30 segundos cada uno, subidos a medida que se cierran, cada uno con un id determinista derivado del id de la reunión y el número de secuencia.

La transcripción tiene que ser idempotente: enviar el fragmento 12 dos veces, porque un worker se cayó después de transcribir pero antes de confirmar, produce un único conjunto de segmentos de transcripción, con clave por id de fragmento para que los reintentos hagan upsert en vez de agregar. Si el proveedor falla a mitad de una reunión, los fragmentos completados conservan sus transcripciones, los fallidos se encolan para reintentar y una reanudación procesa solo lo que falta. Las notas sueltas del dueño viven de forma independiente y las fallas del pipeline nunca las tocan.

Después de que un fragmento se transcribe con éxito, borrá su audio crudo por defecto y registrá ese borrado. Mostrá el estado del pipeline por reunión: cantidades de transcriptos, pendientes y fallidos.

Listo cuando: matar al worker en plena ejecución y reintentar dé cero segmentos duplicados, una reunión con falla parcial muestre exactamente qué tramos faltan, y los fragmentos de audio transcriptos con éxito ya no existan en el almacenamiento.
El resumen que muestra sus comprobantesCada oración escrita por IA enlaza al rango de la transcripción de donde salió.
Construí resúmenes anclados a su fuente para transcripciones de reuniones.

Al generar un resumen, decisiones y tareas pendientes a partir de segmentos de transcripción, exigí que el generador cite: cada sección del resumen guarda los rangos de segmentos de los que se derivó. Mostrá los resúmenes con anclas clickeables que desplacen la transcripción hasta el rango citado y lo resalten. Una sección sin ninguna cita que se pueda resolver se marca visualmente como no verificada en vez de mostrarse como un hecho; esa es tu defensa contra decisiones inventadas y asistentes que nunca estuvieron.

Soportá regenerar la selección: el dueño elige una sección del resumen, la regeneración vuelve a leer solo sus rangos citados más una pequeña ventana de contexto, y reemplaza esa sección sin tocar las demás. El contenido generado queda en estado de borrador hasta que una persona lo publique de forma explícita.

Listo cuando: hacer clic en cualquier oración del resumen resalte texto real de la transcripción que la respalde, una sección que cita segmentos eliminados o inexistentes se marque en vez de mostrarse limpia, y regenerar una sección deje todas las demás idénticas byte por byte.
Un borrado que de verdad borraUn trabajo de limpieza reintentable que persigue todos los artefactos derivados de una reunión.
Construí la eliminación permanente para una app de notas de reuniones, donde una reunión genera artefactos por todos lados: la nota, los segmentos de transcripción, los fragmentos de audio en el almacenamiento de objetos, las entradas del índice de búsqueda y los archivos de exportación.

Eliminar es un trabajo, no una sentencia DELETE. Encolá un trabajo de eliminación que recorra cada clase de artefacto, lo borre y guarde puntos de control del progreso, de modo que una caída en plena limpieza continúe donde se detuvo en vez de empezar de nuevo o quedar a medias. Cada paso tiene que ser idempotente: borrar un objeto ya borrado es un éxito, no un error. Marcá la reunión como lápida de inmediato para que desaparezca de las listas y de los resultados de búsqueda aun mientras el trabajo corre, y rechazá las nuevas lecturas por id con la misma respuesta de no encontrado que recibiría un extraño.

El artefacto sutil que la gente olvida: los índices de búsqueda. Una frase de la transcripción eliminada tiene que dejar de coincidir.

Listo cuando: una vez completada la eliminación, las URLs adivinadas de la nota, la transcripción y el audio devuelvan no encontrado; buscar frases exactas de la reunión eliminada no devuelva nada; y matar el trabajo a la mitad y reintentar converja en una eliminación total.

Preguntas frecuentes

¿Cuánto cuesta Granola si sigo suscripto?

Granola cuesta US$14–35 por persona al mes en sus planes pagos públicos, o sea US$168–420 por año por cada persona de tu equipo. Un reemplazo propio y enfocado te cuesta el tiempo de armarlo más un hosting casi gratis.

¿Qué stack uso para armar una alternativa a Granola?

El prompt de construcción de esta página viene en cuatro versiones: el stack AHA (Astro, HTMX, Alpine.js), Next.js, Laravel y Ruby on Rails. El contexto de capacidades de este producto es Astro, Workers, D1, R2. Elegí el stack que ya conocés: importa más el alcance que el framework.

¿Qué funciones necesita un reemplazo mínimo de Granola?

Una v1 útil necesita: nota de reunión con agenda, asistentes y notas sueltas en vivo; captura de audio con consentimiento primero y estado de grabación visible; resumen, decisiones y tareas pendientes respaldados por la transcripción; plantillas editables para tipos de reunión recurrentes; búsqueda en todas las notas y exportación a Markdown. Todo lo demás es alcance de más hasta que lo extrañes en serio.

¿Qué no tengo que construir a propósito?

No grabes a escondidas, no te unas a las llamadas como un bot, no construyas inteligencia de ventas ni infieras el rendimiento de los empleados.

¿Este desarrollo también reemplaza a Fathom, Fireflies.ai y Otter.ai?

Sí. Granola, Fathom, Fireflies.ai y Otter.ai resuelven el mismo trabajo central: capturar el contexto de la reunión con consentimiento y convertirlo en notas, decisiones y seguimientos editables. La v1 acotada de esta página cubre lo que la mayoría usa de cualquiera de ellos, así que un solo desarrollo enfocado reemplaza al que pagues hoy.

¿En qué se diferencia de Granola?

Anarlog hace casi todo lo que hace Granola, sin suscripción, y tus datos se quedan con vos. La comparación punto por punto está en la página.

¿Mis datos son míos?

Sí. Con una herramienta open source instalada de tu lado, tus archivos quedan en tu equipo o en tu servidor. Nadie puede cerrarte la cuenta ni cambiarte el precio.

Ver las 22 apps →

¿Sin tiempo para hacerlo?

Lo armamos por vos.

Si preferís que alguien lo instale, lo conecte a tus herramientas y lo deje andando, en Aurelio hacemos exactamente eso.

Pedir una auditoría de automatización