Changelog
Acá documentamos todo lo que hacemos — features nuevos, mejoras y fixes. Sin notas de release que nadie lee.
Klaapy estrena cuatro landing pages de audiencia (creadores, agencias, emprendedores, freelancers) con SEO avanzado y esquemas FAQ para citaciones de IA. robots.ts fue reconfigurado para permitir el indexado por GPTBot, Claude y Gemini. El sitemap ahora incluye todas las páginas de herramientas y audiencia. Las herramientas gratuitas reemplazan los emojis por iconos profesionales. Se añade un aviso de errores de IA en Klee y en todas las herramientas.
Cuatro landing pages nuevas "Para quién" — /para-creadores, /para-agencias, /para-emprendedores y /para-freelancers — con pain points, features, FAQ y schema JSON-LD para featured snippets y citaciones de IA
Navegación: dropdown "Para quién" en desktop (grid 2 columnas) y sección colapsable en móvil — el menú móvil ahora es scrollable para contenido que supera el viewport
Footer: columnas reorganizadas — Herramientas (8 links) y Para quién (4 links) añadidas en el orden: Herramientas · Para quién · Producto · Legal
Aviso de IA: "La IA puede cometer errores. Verifica la información importante." añadido de forma permanente en Klee (widget público y panel del dashboard) y debajo del botón Generar en todas las herramientas gratuitas
GEO (Generative Engine Optimization): robots.ts reconfigurado para permitir explícitamente a GPTBot, OAI-SearchBot, anthropic-ai, ClaudeBot, Google-Extended y PerplexityBot — antes estaban bloqueados, lo que impedía que ChatGPT, Gemini y Perplexity indexaran e recomendaran Klaapy
Sitemap: ahora incluye las 8 páginas de herramientas (prioridad 0.7), las 4 páginas de audiencia (prioridad 0.8) y el hub /herramientas (prioridad 0.9) — 23 URLs en total
Herramientas gratuitas: emojis reemplazados por iconos lucide-react — Hash, TrendingUp, Link2, UserRound, PenLine, LayoutGrid, Video — con colores de acento por herramienta
Páginas de audiencia: tarjetas con el mismo estilo pastel (rounded-3xl, fondos #FFF7ED / #F5F3FF / #ECFEFF / #FFF1F2) y animaciones Framer Motion fade-up que las páginas de landing y funcionalidades
Emojis en prompts de herramientas IA: bio-ig, copy-ig, carrusel y stories ahora incluyen guías de emoji específicas por formato para resultados más naturales y con personalidad visual
Klee estrena dos nuevas capacidades: posts cortos tipo fact con CTA y la lectura de features del producto para variar los ángulos del contenido sin repetir enfoques. El selector de cuenta en el editor fue unificado y los posts ahora se pueden sincronizar individualmente desde Meta. Se corrigieron el CAFS promedio del dashboard, el horario en emails de notificación y los desfases de timezone en la programación.
Klee: posts cortos — 5 one-liners tipo fact con CTA accionable y hashtags seleccionados por contexto de marca. Se activan solo con "posts cortos", "frases cortas" o equivalentes
Perfiles de marca: nuevo campo "Features del producto / marca" — lista los diferenciadores y beneficios clave separados por coma. Klee los convierte en ángulos de contenido (dolor, aspiración, prueba social) y los rota entre sugerencias para que cada post tenga un enfoque distinto
Posts: botón Sync en cada tarjeta publicada — re-fetcha el post desde Meta Graph API y actualiza imagen y texto al instante sin necesidad de importar todo
Posts: selector unificado de cuenta — reemplaza los dos dropdowns separados (FB/IG). Si la cuenta no tiene una plataforma disponible, el botón se desactiva en gris. El toggle "También publicar en X" aparece solo cuando la cuenta tiene ambas plataformas
Posts: modal de confirmación de publicación muestra ambas plataformas con íconos superpuestos y botón "Publicar en ambas" cuando aplica
Klee: cuando el perfil tiene features configurados, las variantes mapean cada característica a lenguaje relevante para la audiencia — nunca lista los features literalmente, los traduce a beneficios percibidos
"Sincronizar con Meta" ahora actualiza copy e imagen de posts ya importados si cambiaron en Meta, además de traer posts nuevos. El resultado informa cuántos se importaron y cuántos se actualizaron
Klee: voz renovada — perspectivas rotativas (tú / nosotros / ellos), estructura POST (Hook → Tensión → Shift → Producto → Cierre), lista de palabras y metáforas prohibidas, registro neutro latinoamericano (nunca argentino)
Dashboard: la tarjeta de CAFS promedio mostraba 0 por dos bugs silenciosos combinados — el límite de 500 posts en la query y un campo de ordenamiento inexistente (executed_at). Corregido: ahora toma todos los posts del tenant
Emails de notificación: la fecha y hora aparecían en UTC. Ahora se muestran en la zona horaria local del servidor (America/Chicago)
Programación: los posts se guardaban con 1 hora de diferencia en algunos husos horarios — corregido enviando siempre UTC desde el frontend y parseando con timezone en el backend
Reprogramar y sincronizar ahora actualizan la tarjeta inmediatamente sin necesitar reload manual — el bail-out de re-render ahora incluye scheduled_at, thumbnail_url y copy
Klee AI estrena paleta índigo/violeta y una tercera variante de copy — Narrativa — para brand storytelling. El editor de posts ahora importa metadatos OG de URLs en tiempo real y muestra la tarjeta de artículo en la previsualización de Facebook. Al cerrar el editor con cambios pendientes, un diálogo pregunta si descartar o guardar como borrador.
Klee: variante "Narrativa" — copy en clave de brand storytelling que abre desde dentro de la historia de marca, no desde el producto
Posts: preview de enlace en tiempo real — al escribir una URL en el copy, se importan los metadatos OG (título, descripción, imagen) y aparece la tarjeta en la previsualización de Facebook
Posts: al cerrar el editor con cambios sin guardar aparece un diálogo de confirmación con dos opciones — Descartar o Guardar borrador
Klee: paleta de colores renovada de rosa/morado a índigo/violeta (#6366f1) — identidad más sobria aplicada tanto en el panel del dashboard como en el widget de landing pages
Posts: saltos de línea del copy respetados en las vistas previas de Facebook e Instagram
Posts: el campo de copy se expande automáticamente al abrir el modal en modo edición
Facebook: al publicar texto con URL se pasa el `link` como parámetro explícito para que Facebook adjunte la tarjeta de artículo automáticamente
Sync: posts programados directamente desde Facebook se importan a Klaapy automáticamente cada 4 horas vía Celery Beat
Klee en móvil: la tecla Enter ahora inserta un salto de línea en lugar de enviar el mensaje (comportamiento correcto en dispositivos táctiles)
Los planes Pro y Agencia ya son comprables directamente desde la app. Settings — Facturación fue completamente rediseñado con checkout real, toggle mensual/anual y portal de gestión. Se corrigen tres bugs críticos: CAFS Brief sin sugerencias para scores bajos, hora de timing incorrecta y páginas de Facebook no reconocidas en el modal de posts.
Facturación Stripe en producción — suscripciones Pro y Agencia con pago real, portal de cliente para gestionar métodos de pago y cancelas, webhooks que sincronizan el plan automáticamente
Settings — Facturación renovada: toggle mensual/anual, cards de checkout para Pro ($39 o $29 con anual) y Agencia ($109 o $82), botón "Gestionar suscripción" con acceso al portal Stripe para usuarios activos
Página de precios: Agencia estrena CTA propio "Comenzar Agencia" con botón de acción — eliminado "Hablar con ventas"
Content Brief — pill badge "Claude" (violeta) o "Modelo" (slate) indica qué sistema generó las sugerencias del brief
Circuit breaker para la API de Claude — si retorna error de créditos insuficientes, se deshabilita por 10 minutos para evitar llamadas fallidas en cascada
Ícono Sparkles eliminado de la interfaz — reemplazado por Activity en el badge CAFS, Clock en la sugerencia de horario y ArrowRight en el wizard de onboarding
CAFS Brief sin sugerencias para posts con score bajo — los contribuidores se leían de output en lugar de explanation; el heurístico ahora cubre posts de Facebook y garantiza siempre al menos 1 sugerencia
CAFS Preview mostraba hora incorrecta en la sugerencia de timing — el backend recibía la hora UTC del servidor en lugar de la hora local del usuario
Modal de crear/ver post no reconocía las páginas de Facebook conectadas — getStatus() devuelve estructura anidada {connections:[...]} y se esperaba {pages:[...]}; corregido usando getAccounts()
Klee AI deja de depender de localStorage — conversaciones y mensajes se persisten en base de datos por tenant. Se implementa control de cuotas por plan (Starter: 15 consultas/mes, sin imágenes). Settings estrena las secciones de Seguridad y Facturación.
Klee: conversaciones y mensajes guardados en base de datos — historial disponible entre sesiones y dispositivos
Klee: panel de historial con transición cross-fade suave — el panel no cambia de tamaño al abrir el historial
Klee: enforcement de cuotas por plan — Starter: 15 consultas/mes (solo texto), Pro: ilimitado + 3 imágenes, Agencia: ilimitado + 5 imágenes
Klee: barra de uso mensual visible para usuarios Starter — muestra cuántas consultas restan
Settings — Seguridad: método de autenticación (Magic Link), zona de peligro con botón "Eliminar mi cuenta"
Cuenta: eliminar cuenta permanentemente — requiere escribir el email para confirmar, borra todos los datos del tenant si el usuario es el único miembro
Settings — Facturación: muestra el plan actual con features incluidas y CTA de upgrade para usuarios Starter
Klee: íconos SVG propios en el panel (historial, reset, enviar, adjuntar, cerrar) — reemplaza emojis
Django Admin: gestión de Tenants con plan editable directamente en la lista, sin abrir cada tenant por separado
Django Admin: monitoreo de conversaciones Klee con mensajes inline y registro de uso mensual por tenant
Tenant dropdown en admin mostraba UUID en lugar del nombre — corregido con __str__ en el modelo
El panel Klee se encogía al abrir el historial — corregido con height fija + capas absolutas en lugar de maxHeight
Mensaje de usuario huérfano en DB si la llamada a Claude fallaba — ahora se elimina el mensaje guardado antes de retornar el error
El modelo CAFS fue recalibrado desde cero. Los borradores ahora son editables en su totalidad. Analytics deja de duplicar el Dashboard y muestra análisis de contenido propio con un Plan de Acción accionable.
Posts: modal Editar completo para borradores y programados — cambia imagen, copy, plataforma, formato y estado sin recrear el post
Posts: al editar, la imagen existente se muestra en la vista previa en tiempo real inmediatamente al abrir el modal
Posts: CAFS Preview en modo edición no se resetea al escribir — se actualiza solo al presionar "Actualizar" para no interrumpir el flujo
Vista de post: panel dividido en desktop — CAFS breakdown a la izquierda, sugerencias accionables a la derecha. En móvil: pestañas Análisis / Sugerencias / A/B Test
Analytics: completamente rediseñado — rendimiento por formato, rendimiento por horario, análisis de calidad del copy (CTA, preguntas, emojis, longitud) y comparativa FB vs IG
Analytics: Plan de Acción con recomendaciones expandibles basadas en tus datos reales — cada una incluye el problema con cifras concretas, por qué importa, pasos numerados y mejora esperada en pts CAFS
Configuración: sección Notificaciones operativa con 5 tipos de alerta configurables — publicación exitosa, error, anomalía CAFS, recordatorio pre-publicación y resumen semanal
CAFS v2.1: pesos normalizados a 1.00 — score máximo teórico es ahora 100 (antes era 85 por bug de calibración en la suma de pesos)
CAFS: expected_lift en sugerencias recalibrado con el peso real de cada factor — ya no promete mejoras de 30 pts cuando el modelo puede dar máximo 4 pts por cambio de copy
CAFS: al guardar un post editado, el score se recalcula automáticamente — el listado de posts refleja el valor actualizado sin necesitar refresh manual
Dashboard: CAFS Promedio corregido — fallback desde trendData cuando el endpoint retorna 0
Content Brief: el endpoint usaba la base de datos incorrecta y el nombre de modelo en minúsculas — el brief no se generaba para ningún post (fix silencioso)
Hashtags en CAFSPreview: eliminado el fallback de extracción de palabras clave del copy — cuando Claude no está disponible, no muestra nada en lugar de hashtags sin sentido
Endpoint PATCH /posts/{id} creado — antes no existía y las ediciones no se guardaban en el backend
La actualización más grande desde el lanzamiento. El calendario ahora es completamente interactivo y los posts se pueden gestionar en lote.
Calendario: arrastra cualquier post (draft/scheduled/approved) a otro día para reprogramarlo sin abrir el modal
Posts: selección múltiple con checkbox — publicá o eliminá varios posts a la vez desde la barra de acciones
Posts: botón Duplicar — crea una copia como borrador con un clic, manteniendo copy, canal y formato
Scheduling: chips de horario óptimo sugeridos por IA al seleccionar "Programar" (Instagram: 18–21h, Facebook: 12–14h y 18–20h)
Inbox: botón Sparkles genera 3 respuestas contextuales con IA — seleccionas la que mejor suena
Settings: sección Perfil y Equipo operativa — listado de miembros, roles e invitaciones por email
Analytics: exportación en CSV (antes era JSON) con fecha, score y distribución por rango
Growth Intelligence ahora usa el token real de Meta del tenant en lugar de un placeholder
Nuevo sistema visual basado en el gradiente #0f0a1e con capas radiales. Tipografía Syne para la marca. Login rediseñado con panel split.
Nuevo sistema de color global: fondo #0f0a1e + 3 capas radial-gradient (cyan, purple, pink)
Tipografía Syne aplicada a todos los headings y la marca Klaapy
Login: panel split con branding izquierdo + formulario derecho — sin títulos repetidos
Sidebar: logo + tagline con gradiente de texto
Cards y overlays con backdrop-blur y bordes rgba para aprovechar el fondo transparente
Ahora puedes generar una variante B del copy directamente desde el modal del post. El sistema calcula el CAFS Score de ambas versiones.
Generación de Variante B con Claude AI — ángulo diferente al original (emocional vs. informativo)
Panel ABTestPanel: score comparativo en tiempo real, selector de ganador
Content Brief: recomendaciones detalladas cuando el CAFS Score está por debajo de 60
Vista previa de post actualizada con soporte para Variant B en el modal
Los posts con ab_variant_copy ahora muestran ambas versiones en la vista detalle
Analizá hasta 5 cuentas de Instagram de tu competencia y recibí estrategias CONTENT, TIMING, HASHTAG y ENGAGEMENT personalizadas.
Análisis de hasta 5 competidores por sesión via Instagram Graph API
Estrategias generadas: mejores horarios, formatos, hashtags top y engagement patterns
Predicciones de crecimiento basadas en datos reales de los últimos 30 días
Audience DNA: actores activos por hora, día y tipo de contenido preferido
Dashboard unificado con tabs: Análisis · Estrategias · Predicciones · DNA
Primera versión pública. Conectá tu cuenta de Meta, creá posts con CAFS Score en tiempo real y gestioná tu inbox desde un solo lugar.
CAFS Score: 12 señales de contenido analizadas en tiempo real mientras escribís
Publicación directa a Facebook Pages e Instagram Business via Meta Graph API v22
Inbox unificado: todos los comentarios de FB + IG con filtros de estado y plataforma
Calendario visual con color-coding por rango de score
Audience Intelligence: score de calidad por seguidor y alertas de anomalías
Autenticación sin contraseña vía magic link
Multi-tenant: múltiples workspaces con control de roles (Owner, Admin, Editor, Viewer)