Construyendo Software: Lecciones del Backend

Backend que detecta blasfemias en GitHub con Postgres como control y ClickHouse como almacén de hechos, utilizando normalización de texto, detección de idioma, consentimiento y observabilidad. Guía de arquitectura y servicios de Q2BSTUDIO.

18 sept 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Pequeña advertencia: este artículo trata sobre el uso de palabrotas en el código y sobre el desarrollo de un backend que las detecta en contextos humorísticos. En los últimos meses construimos SW, un servicio backend que ingiere eventos de GitHub, extrae texto escrito por humanos y detecta blasfemias irónicas. La intención fue siempre analítica ligera y no moderación, con mecanismos de consentimiento integrados desde el diseño.

Al principio elegimos Postgres por familiaridad, seguridad y garantías ACID. Funcionó bien durante un tiempo, pero al escalar surgieron fricciones: vistas materializadas frágiles y costosas de refrescar, inserciones de alto volumen que provocaban deadlocks, ajustes de VACUUM y problemas habituales de índices y WAL. La solución fue dividir responsabilidades: Postgres como plano de control para contabilidad de ingestión, metadatos y recibos de consentimiento, y ClickHouse como almacén de hechos para hits y utterances con tablas optimizadas para recortes y rollups económicos. Esa separación nos liberó de pelear con un único motor de almacenamiento.

El procesamiento de texto fue otra batalla. Las blasfemias no se escriben de forma uniforme: leetspeak, homoglifos, espacios de ancho cero y normalizaciones complejas. Si se normaliza en exceso aparecen falsos positivos ridículos. Diseñamos una canalizacion de normalizacion que repara UTF8, aplica forma NFKC, case folding, elimina caracteres invisibles, mapea variantes leet y colapsa espacios. Con eso la deteccion se volvió mucho más robusta.

El concepto de drift en la deteccion nos obligo a versionar reglas. Pasamos de un rules.json plano a un formato rulepacker con plantillas, lemas, categorias y versionado. Cada hit lleva detector_version para que las re-ejecuciones comparen resultados antiguos y nuevos sin reescribir la historia. Esto permitio evolucionar la logica de deteccion sin reprocesar 14 anios de commits cada vez.

La deteccion de idioma es dificil y GitHub no provee siempre metadatos de lenguaje en mensajes de commit o issues. Probamos varias aproximaciones: un detector de script que cuenta rangos Unicode, integraciones con librerias en Postgres y finalmente funciones experimentales de ClickHouse para detectar lenguaje mixto. La realidad es que en muchos casos conviene caer en un fallback como lang_code un cuando no hay certeza.

La privacidad y el consentimiento fueron requisitos innegociables. Empezamos almacenando nombres de repos y usuarios, pero lo eliminamos para evitar doxxing. Convertimos identificadores a HIDs pseudonimizados, forzamos que cualquier informacion de identidad viva en Postgres con reglas estrictas para prevenir fugas accidentales. El flujo de consentimiento fue simple y verificable sin OAuth: opt-out mediante un archivo cero bytes en la raiz del repo, opt-in mediante un gist publico con un hash de desafio, recibos durables en Postgres y revocacion eliminando el archivo o gist. Las opt-outs prevalecen y las opt-ins permiten desenmascaramientos limitados. Esto hizo el proceso auditable y eticamente defendible.

Procesar quince anios de GH Archive implica reintentos y replays. Sin diseño determinista se generan duplicados o drift. Adoptamos IDs deterministas con UUIDv7 derivados de SHA256 y un sistema de leasing en Postgres para que un solo worker reclame una hora, la procese y marque el trabajo como completado. El resultado fue idempotencia y seguridad en replays.

En arquitectura del servicio aplicamos un enfoque ports-first. Definimos puertos y contratos para evitar dependencias ciclicas y facilitar pruebas. No renunciamos a decisiones practicas en el codigo por dogma: estructura clara de servicios, repositorios y modulos, y un paquete de wiring para alinear dependencias internas. Esto mantuvo las superficies modulares y mejoro la mantenibilidad.

Observabilidad fue imprescindible desde el primer dia. Logs estructurados con tiempos por operacion, telemetria de leases de ingest, metricas de Nightshift durante rollups y consultas que comparan tamaños comprimidos y no comprimidos en ClickHouse. Gracias a eso las operaciones dejaron de ser vigilacia constante y pasaron a ser respuestas basadas en datos cuando algo destaca.

La gestion de retencion de datos resolvio el problema del crecimiento exponencial. En lugar de conservar cada mensaje de commit y comentario para siempre, Nightshift consolida en resúmenes horarios y diarios con totales, categorias, top terms y desglose por idioma, y luego elimina las utterances y hits crudos. El ahorro de almacenamiento es enorme y mantiene el proyecto viable incluso para exploracion en un portatil domestico.

Lecciones clave: la division Postgres control-plane y ClickHouse fact-store fue la victoria. Normalizacion y rulepacker evitan reprocesos masivos. La deteccion de idioma es compleja y conviene fallback a un codigo neutro. Los flujos de consentimiento basados en primitivas de GitHub mantienen la etica del proyecto. Determinismo y leasing hacen los backfills repetibles. Un diseño ports-first evita deps ciclicas y la observabilidad integrada hace que la operacion sea aburrida, que en este contexto es buena señal.

En Q2BSTUDIO aplicamos estas mismas filosofias en proyectos reales de desarrollo de software a medida y aplicaciones a medida. Como empresa especializada en software a medida, inteligencia artificial y ciberseguridad diseñamos soluciones escalables que combinan buenas practicas de arquitectura con cumplimiento y privacidad. Si su empresa busca desarrollar una aplicacion robusta, podemos ayudarle con procesos de diseño, implementacion y despliegue en la nube, incluyendo servicios cloud aws y azure.

Ofrecemos desde modernizacion de backends y pipelines de datos hasta proyectos de servicios inteligencia de negocio y Power BI para explotacion analitica. Tambien trabajamos con agentes IA y soluciones de ia para empresas, creando integraciones seguras y eticas que respetan consentimiento y privacidad. Para conocer nuestras capacidades en desarrollo de aplicaciones puede visitar nuestro servicio de aplicaciones y software multiplataforma y para explorar servicios de inteligencia artificial visite nuestra pagina de inteligencia artificial.

Adicionalmente ofrecemos servicios de ciberseguridad y pentesting para proteger APIs, pipelines y datos sensibles, y contamos con experiencia en integraciones cloud seguras, despliegues automatizados y estrategias de retencion y privacidad que escalan con su negocio. Si le interesa una consultoria sobre arquitecturas híbridas Postgres y ClickHouse, deteccion de texto, o construir pipelines idempotentes y observables, en Q2BSTUDIO estamos listos para ayudar.

Palabras clave incorporadas de forma natural para mejorar posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Si desea conversar sobre un proyecto concreto o evaluar una prueba de concepto, nuestro equipo le orientara en los siguientes pasos y en como traducir ideas a software fiable y escalable.

Y si finalmente compartimos el repositorio de SW, espero que la parte del frontend sea menos dolorosa que el backend. Maldita sea, ahora tocar escribir interfaces tambien.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat