Configuración de PostHog en Codebuff

En este artículo revisamos la configuración de PostHog en la base de código de Codebuff y explicamos cómo se integran los eventos de analítica en el flujo de la aplicación.
Qué es PostHog: PostHog es una plataforma unificada para equipos que construyen productos. Permite a los ingenieros de producto capturar eventos, entender el comportamiento de los usuarios y disponer de herramientas para experimentación y análisis sin depender de múltiples soluciones. PostHog agrupa funcionalidades que van desde el seguimiento de eventos hasta la autocaptura de excepciones y análisis de funnels.
Contexto en Codebuff: en el archivo analytics.ts se define una función trackEvent que es llamada desde recreateShell en run-command.ts cuando se recrea un proceso persistente. La llamada tiene esta estructura conceptual: recreateShell invoca trackEvent con AnalyticsEvent.SHELL_RECREATED y pasa persistentProcess como propiedad del evento.
Definición y flujo de trackEvent: la función trackEvent comprueba primero si existe un distinctId derivado de currentUserId y, si no existe, abandona el envío. A continuación valida que exista client, que es la instancia de PostHog inicializada. Si client no está definido y el entorno es prod se lanza un error para indicar que el cliente de analítica no fue inicializado. En entornos distintos de prod se evita el envío real de eventos: si la variable DEBUG_DEV_EVENTS está activada se hace un log en consola indicando que un evento de analítica fue enviado, y luego se retorna sin llamar a client.capture. Finalmente, en producción, client.capture se invoca con distinctId, event y properties.
Inicialización del cliente: client se crea en initAnalytics mediante new PostHog usando las variables de entorno NEXT_PUBLIC_POSTHOG_API_KEY y NEXT_PUBLIC_POSTHOG_HOST_URL. Además se configura enableExceptionAutocapture en true solo cuando NEXT_PUBLIC_CB_ENVIRONMENT es prod, lo que habilita la autocaptura de excepciones en producción.
Implicaciones y recomendaciones: el enfoque evita enviar datos a PostHog desde entornos de desarrollo, lo cual protege datos y reduce ruido. Sin embargo es importante asegurar que las variables de entorno estén correctamente definidas en producción para evitar errores y que se anonimicen o minimicen propiedades sensibles antes de enviarlas. También es recomendable contemplar entornos de staging con reglas específicas y usar flags para pruebas controladas de eventos. Verificar que currentUserId exista antes de llamar a trackEvent o instrumentar un fallback mejora la robustez.
En Q2BSTUDIO combinamos experiencia en desarrollo para ofrecer soluciones que van más allá de la instrumentación: desarrollamos aplicaciones a medida y software a medida integrando buenas prácticas de analítica, privacidad y escalabilidad. También aplicamos técnicas de inteligencia artificial para empresas y agentes IA que permiten sacar mayor valor de los datos y mejorar productos digitales, conoce más sobre nuestros servicios de inteligencia artificial.
Servicios y palabras clave: ofrecemos desarrollo de software a medida, aplicaciones a medida, inteligencia artificial, ciberseguridad y pentesting, servicios cloud aws y azure, servicios de inteligencia de negocio y Power BI, ia para empresas y agentes IA. Si tu proyecto necesita integración de analítica como PostHog, pipelines en la nube, o automatización y visualización con Power BI podemos ayudarte a diseñar e implementar la solución adecuada.
Contacto y cierre: si te interesa que revisemos la integración de analítica en tu producto o que despleguemos una solución completa con buenas prácticas de privacidad y observabilidad, en Q2BSTUDIO estamos listos para apoyar desde la arquitectura hasta la implementación y operación.
Comentarios