Mostrar que categorias estan subiendo en las ultimas 3 horas vs promedio, detectar spikes de noticias
claude · 19-02-2026 21:04hs · Resuelta: 20-02-2026 00:21hsResumen automatico diario a las 21hs con top 5 noticias del dia, stats y comparacion con dia anterior
claude · 19-02-2026 21:04hs · Resuelta: 20-02-2026 00:21hsEnviar automaticamente al chat personal cuando una noticia supere score 8, con boton para ver detalle completo
claude · 19-02-2026 21:04hs · Resuelta: 20-02-2026 00:21hsAgregar un mini-grafico (sparkline SVG) al widget de integridad del dashboard que muestre la tendencia de editadas/borradas de los ultimos 7 dias. Permite ver si hay un patron de censura en ciertos dias/horarios.
Anonimo · 19-02-2026 19:02hs · Resuelta: 20-02-2026 00:21hsCuando una fuente RSS acumula 50+ errores consecutivos, desactivarla automaticamente (activa=0) y enviar alerta de desactivacion. Evita que el scraper pierda tiempo con fuentes permanentemente rotas.
Anonimo · 19-02-2026 19:02hs · Resuelta: 20-02-2026 00:21hsAgregar una linea separadora fina (unicode) entre bloques de categoria en el resumen Telegram para mejorar la legibilidad. Actualmente los bloques se pegan entre si.
Anonimo · 19-02-2026 19:02hs · Resuelta: 20-02-2026 00:21hsAgregar scheduler que envie la imagen resumen por Telegram automaticamente a las 23:00hs cada dia, sin necesidad de llamar al endpoint manualmente
Claude · 19-02-2026 17:15hs · Resuelta: 19-02-2026 14:21hsAgregar parametro ?formato=story que genere la imagen en formato vertical Instagram Stories (1080x1920) con layout adaptado y mas espacio para contenido
Claude · 19-02-2026 17:15hsDescargar y redimensionar thumbnails de las 3 noticias mas importantes para incluirlas como imagenes pequenas dentro de la card de resumen
Claude · 19-02-2026 17:15hsAgregar micro-barras horizontales en la seccion de categorias mostrando proporcion relativa de cada una, tipo sparkline visual
Claude · 19-02-2026 17:15hsMostrar variacion porcentual respecto al dia anterior (mas/menos noticias, nuevas categorias, etc) como indicadores delta junto al hero stat
Claude · 19-02-2026 17:15hsAgregar un slider temporal al heatmap que muestre la evolución de la densidad de noticias hora por hora. Permitiría ver patrones temporales de eventos noticiosos en el mapa.
Claude · 19-02-2026 15:48hsPermitir configurar alertas cuando se detecten N+ noticias en una zona específica del mapa en un período corto (ej: 3+ noticias policiales en Centro en 2 horas). Posible cluster detection.
Claude · 19-02-2026 15:48hsEndpoint /api/geo-noticias que retorne noticias con coordenadas en GeoJSON para integración con otros sistemas o mapas externos.
Claude · 19-02-2026 15:48hsOverlay de polígonos de barrios de MdP con estadísticas agregadas: total noticias, categoría predominante, tendencia (más/menos noticias que semana anterior).
Claude · 19-02-2026 15:48hsImplementar MarkerCluster de Leaflet para agrupar markers cercanos en clusters con número. Mejoraría la visualización cuando hay muchos markers en la misma zona.
Claude · 19-02-2026 15:48hs · Resuelta: 20-02-2026 00:21hsquiero ver de alguna forma grafica el avance del dia
Anonimo · 19-02-2026 14:33hsCuando se detecta que una nota esta por ser borrada (primer 404), tomar screenshot con Playwright y guardarlo como evidencia antes de que desaparezca del cache de Google.
Claude · 19-02-2026 13:41hs · Resuelta: 20-02-2026 00:22hsGenerar un reporte semanal con estadisticas: cuantas notas fueron editadas/borradas, que fuentes borran mas contenido, patrones temporales de edicion.
Claude · 19-02-2026 13:41hs · Resuelta: 20-02-2026 00:22hsPermitir configurar que fuentes monitorear mas intensamente (cada 2h en vez de 6h) y cuales ignorar. Ej: monitorear La Capital mas seguido que Google News.
Claude · 19-02-2026 13:41hs · Resuelta: 20-02-2026 00:22hsCuando se detecta una edicion, guardar tambien el texto anterior y el nuevo para mostrar un diff visual en el dashboard (que cambio exactamente en la nota).
Claude · 19-02-2026 13:41hs · Resuelta: 20-02-2026 00:22hsAgregar seccion en el dashboard web con tabla de noticias editadas/borradas, graficos de integridad, y filtros por fuente/estado. Endpoint /content-tracking ya tiene la API obtener_stats_tracking().
Claude · 19-02-2026 13:41hs · Resuelta: 19-02-2026 14:21hsGuardar metricas historicas del scraper (noticias/hora, errores/dia) para poder ver tendencias a lo largo del tiempo en un grafico.
Claude · 19-02-2026 11:44hs · Resuelta: 20-02-2026 00:21hsAgregar un mini-grafico circular o barra mostrando el porcentaje de ideas completadas vs pendientes en el PDF exportado.
Claude · 19-02-2026 11:44hsSi una fuente tiene 5+ errores consecutivos, enviar alerta al chat personal de Telegram automaticamente.
Claude · 19-02-2026 11:44hsGenerar y enviar automaticamente la imagen resumen a las 22:00hs por Telegram, lista para compartir en Instagram Stories.
Claude · 19-02-2026 11:44hs · Resuelta: 20-02-2026 00:21hsIncluir un logo o icono personalizado en la imagen generada para RRSS en lugar de solo texto. Podria ser un PNG transparente superpuesto.
Claude · 19-02-2026 11:44hstener info mas descriptiva del estado del scraper y poder reiniciarlo
Anonimo · 19-02-2026 08:40hs · Resuelta: 19-02-2026 hsbusca los datos en la web para corroborar sin son cuentas oficiales o verificadas por las rrss
Anonimo · 19-02-2026 00:01hsActualizar backfill_geo.py para usar geolocalizar_noticia_hibrido() en vez de solo regex. Aumentaría cobertura del 17.8% actual al ~25-30%.
Claude · 19-02-2026 23:07hsDespués de asignar coordenadas, verificar que estén dentro del bbox de MdP (-38.35 a -37.85 lat, -57.95 a -57.45 lon). Descartar si están fuera.
Claude · 19-02-2026 23:07hsWidget en /admin que muestre tasa de georef por categoría, distribución de certeza, y mapa de calor de ubicaciones más asignadas. Incluir botón para auditar noticias con certeza < 50.
Claude · 19-02-2026 23:07hsCuando se detecta un siniestro vial en DataHub, buscar automaticamente si hay noticia en el monitor sobre el mismo evento. Mostrar badge de cruce DataHub en la noticia y viceversa en el panel de siniestros.
Claude · 19-02-2026 20:16hsSi un servicio de transporte esta cancelado/demorado significativamente, generar alerta automatica en el dashboard y buscar si algun medio local ya reporto la demora.
Claude · 19-02-2026 20:16hsAgregar un pequeno mapa Leaflet en el panel de siniestros mostrando la ubicacion de los siniestros recientes cuando hay coordenadas disponibles.
Claude · 19-02-2026 20:16hsAgregar un mini grafico sparkline al lado de las cotizaciones del dolar mostrando la variacion de los ultimos 7 dias usando un endpoint de DataHub de historico.
Claude · 19-02-2026 20:16hsImportar automaticamente las publicaciones institucionales de DataHub como noticias del monitor, clasificandolas por categoria (ciencia, gobierno, educacion) para ampliar la cobertura.
Claude · 19-02-2026 20:16hsSigue habiendo errores de las horas , hay horas adelantadas , normaliza todo a gmt-3 horario de argentina
Anonimo · 18-02-2026 22:47hs · Resuelta: 19-02-2026 hsNo veo actualizado las publicaciones de todos los medios por horario, mejorarlo
Carlos · 18-02-2026 20:49hs · Resuelta: 26--2-19-0 11:35hsQuiero poder hacer click en las notas
Anonimo · 18-02-2026 18:16hsCambia la forma del proyecto, no quiero que sea solo para la capital , quiero que sea independiente, para poder preparar la venta del servicio por subscripcion
Carlos · 18-02-2026 18:13hsMejora el sistema de búsquedas de noticias del día para comparar con la previsión de ayer
Gdgd · 18-02-2026 18:12hs · Resuelta: 18-02-2026 18:40hsVerificando que el sistema de ideas funciona correctamente desde el bot
Carlos/Bot · 18-02-2026 17:53hs · Resuelta: 26--2-19-0 11:00hsGenerar una imagen PNG/JPG estilizada con el resumen del dia (top 5 noticias, estadisticas) lista para compartir en Instagram Stories o Twitter. Usar Pillow o html2image.
Claude · 18-02-2026 14:49hs · Resuelta: 19-02-2026 hsGrafico que compare el sentimiento promedio (positivo/negativo/neutro) de cada medio de comunicacion en los ultimos 7 dias. Util para detectar sesgos editoriales.
Claude · 18-02-2026 14:49hs · Resuelta: 26--2-19-0 11:35hsUsando Leaflet.js, mostrar un mapa de MdP con markers en la ubicacion aproximada de cada noticia. Geolocalizar automaticamente con IA analizando el texto de la noticia.
Claude · 18-02-2026 14:49hs · Resuelta: 26--2-19-0 11:35hsImplementar Web Push Notifications para alertas keyword y noticias de alto impacto, usando Service Workers. Permitiria recibir alertas sin Telegram.
Claude · 18-02-2026 14:49hsCrear una pagina /archivos en el dashboard web que muestre todos los archivos recibidos por Telegram, con preview de imagenes, filtro por tipo y fecha, y opcion de descargar.
Claude · 18-02-2026 14:49hs · Resuelta: 18-02-2026 18:40hsen la seccion fuentes verifica y muestra si son cuentas oficiales o validadas
carlos · 18-02-2026 14:27hsencontre que si la idea no tiene nombre sale el error en la pagina ,resuelvelo
cxc · 18-02-2026 14:13hs · Resuelta: 18-02-2026 17:45hsanaliza e invertiga si los keyword actuales son correctos
dg · 18-02-2026 14:12hs · Resuelta: 18-02-2026 18:40hsrevisa el merge de los medios con sus redes sociales o web, que se indiquen como uno solo, tambien
carlos · 18-02-2026 14:11hs · Resuelta: 18-02-2026 18:40hs## Investigación SaaS - Monitor de Noticias como Servicio ### Mercado - Global 2025: USD $5.4-6.3B, proyección 2032: $13-17B (CAGR 11-16%) - LATAM 2030: USD $810M (CAGR 10%) - Brecha clara: enterprise ($6,000+/año) vs nada para medios/PYMES locales ### Competencia directa: NINGUNA en este nicho - Meltwater/Cision: $6,000-100,000/año (enterprise) - Brand24/Mention: $49-199/mes (monitoreo de MARCA, no noticias locales) - LATAM (Ejes, Clipping HD): servicios manuales, caros, no SaaS ### Ventajas competitivas únicas - Previsiones IA (ningún competidor lo tiene) - Multi-fuente real (RSS+Twitter+IG+TikTok+Bluesky+Web) - Detección fake news + análisis de sesgo - Alertas Telegram (preferido en LATAM) - Stack liviano = costos bajos = pricing agresivo ### Pricing propuesto - Free: 5 fuentes, 1 usuario - Starter $29/mes: 20 fuentes, 2 usuarios - Pro $79/mes: 50 fuentes, previsiones IA, fake news - Agency $199/mes: 150 fuentes, white-label - Enterprise: custom ### Nombres globales (top 3) 1. Sentinews (Sentinel+News) 2. NewsHawk 3. Vigilo (del latín vigilare) ### Faltante para SaaS Multi-tenancy, auth/billing (Stripe+MercadoPago), onboarding wizard, migrar a PostgreSQL a mediano plazo. ### Primer año conservador: MRR $2,750 / ARR $33,000 ### Primer año optimista: MRR $15,000 / ARR $180,000
Claude · 18-02-2026 14:09hsajustar esta linea cuando cuando el user cambia el horario No hay previsiones generadas aun para manana. Se generan automaticamente a las 23:00hs.
ff · 18-02-2026 13:48hsPermitir configurar diferentes horarios de generación por categoría. Ej: deportes a las 20:00 (antes de partidos nocturnos), policiales a las 22:00. Cada categoría puede tener su propia ventana de análisis óptima.
Claude · 18-02-2026 13:44hsRegistrar en una tabla log_config cada cambio de configuración (quién, cuándo, qué campo, valor anterior, valor nuevo). Útil para auditoría y debugging cuando algo cambia de comportamiento inesperadamente.
Claude · 18-02-2026 13:44hs · Resuelta: 18-02-2026 19:13hsInvestigación de dominios y rebranding del proyecto: ## Nombres evaluados | Dominio | Puntuación | Notas | |---------|-----------|-------| | monitormdp.com.ar | Mejor opción | Corto, memorable, descriptivo | | radarmdp.com.ar | Muy buena | Metáfora perfecta para monitoreo | | monitornoticiasmdp.com.ar | Buena | Descriptivo pero largo (20 chars) | | pulsomdp.com.ar | Buena | Evoca dinamismo | | noticiasmdp.com | OCUPADO | Ya existe portal activo | ## Precios - .com.ar (NIC Argentina): $8.500 ARS/año - .com (Namecheap): ~$12.99 USD/año renovación ## Pendiente - Verificar disponibilidad real en nic.ar/verificar-dominio - Decidir nombre final - Reestructurar carpetas (eliminar "lucia" de paths) - Actualizar systemd service, git remote, etc. - Registrar .com.ar + .com como protección (~$25.000 ARS/año total) ## Registradores recomendados - .com.ar: NIC Argentina directo o DonWeb como intermediario - .com: Namecheap o Cloudflare (vende al costo)
Claude · 18-02-2026 13:31hsPágina dedicada /previsiones/precision con gráficos históricos de acierto por categoría, evolución semanal/mensual, comparativa de modelos IA (Groq vs Gemini). Útil para calibrar y mejorar los prompts de previsión.
Claude · 18-02-2026 13:15hs · Resuelta: 18-02-2026 19:13hsUsando los datos del panel de salud DB (#87), detectar automáticamente cuando una fuente deja de traer noticias (posible bloqueo o cambio de estructura) y alertar por Telegram con sugerencias de acción.
Claude · 18-02-2026 13:15hs · Resuelta: 18-02-2026 18:40hsPermitir ejecutar dos versiones de prompt en paralelo sobre las mismas noticias y comparar resultados (categorización, resumen, score). Útil para optimizar prompts sin afectar producción.
Claude · 18-02-2026 13:15hsBotón en /ideas para exportar todas las ideas (pendientes y completadas) como documento Markdown o PDF, con fecha de creación, solución y autor. Útil para documentación y reportes.
Claude · 18-02-2026 13:15hs · Resuelta: 19-02-2026 hsImplementar endpoint /api/csrf-token que devuelva token fresco. El frontend lo renueva automáticamente cada 30 minutos via JavaScript, eliminando por completo los errores CSRF por expiración sin importar cuánto tiempo la página esté abierta.
Claude · 18-02-2026 12:59hs · Resuelta: 18-02-2026 13:13hsCrear un decorador/wrapper reutilizable para todas las funciones de db.py que haga retry con backoff exponencial ante database is locked. Aplicar a todas las operaciones de escritura (no solo ideas) para prevenir errores de concurrencia en cualquier sección del sistema.
Claude · 18-02-2026 12:59hs · Resuelta: 18-02-2026 13:13hsDashboard en /config que muestre métricas de SQLite: locks activos, WAL size, queries lentas, contención de escritura. Alertar por Telegram si hay locks frecuentes o si la DB supera cierto tamaño. Útil para anticipar problemas de rendimiento.
Claude · 18-02-2026 12:59hs · Resuelta: 18-02-2026 13:13hs# Evaluación de migración a PostgreSQL ## Fecha: 18-02-2026 13:05hs (GMT-3) ## Estado: COMPLETADA --- ### 1. Análisis del uso actual de SQLite en el proyecto #### Arquitectura actual (db.py) - **1 archivo** de ~3700 líneas con **80+ funciones** públicas - Conexión thread-local con `threading.local()` (pool casero) - PRAGMAs configurados: WAL mode, foreign_keys, busy_timeout=5000ms, cache_size=4MB - Custom function: UNACCENT para búsquedas sin acentos - **12 tablas**: noticias, fuentes, config_runtime, embeddings, cuentas_rrss, newsletter_suscriptores, newsletter_envios, previsiones, ideas, alertas_keyword, events - Múltiples índices (fecha, enviada, categoria, fuente, grupo_id, sentimiento, tipo_fuente, alcance, autor) - Migraciones inline con ALTER TABLE + try/except #### Procesos concurrentes que escriben 1. **Flask web** (dashboard): lecturas mayoritarias, escrituras esporádicas (toggle fuente, CRUD ideas, etc.) 2. **Scraper de RSS/feeds**: inserta noticias nuevas cada N minutos 3. **Scraper de Twitter** (Playwright): inserta noticias de RRSS, actualiza métricas engagement 4. **Scraper Instagram/TikTok**: inserta noticias de RRSS 5. **Filtro IA** (Groq/Gemini): actualiza resumen, categoría, score, sentimiento por noticia 6. **Bot Telegram**: lee noticias, marca enviadas, toggle configuración 7. **Newsletter**: lee noticias para envío 8. **Embeddings**: genera/guarda vectores de embedding por noticia 9. **Previsiones IA**: genera/evalúa previsiones 10. **Limpieza**: elimina noticias viejas periódicamente #### Patrones de acceso identificados - **Escrituras**: INSERT noticias + UPDATE IA + UPDATE métricas (ráfagas cada 5-15 min) - **Lecturas**: Dashboard queries complejas con JOINs, GROUP BY, COALESCE (constante) - **Cache**: stats_dashboard con TTL 30s, stats fuentes con TTL 60s (mitiga lecturas pesadas) - **Transacciones**: Commits individuales por operación (no batching) --- ### 2. Pros y contras de migrar a PostgreSQL #### PROS | Beneficio | Impacto para este proyecto | |-----------|---------------------------| | MVCC real (escrituras concurrentes sin bloqueo) | **ALTO** - 10+ procesos escriben simultáneamente. WAL ayuda pero no elimina contención | | Connection pooling nativo (pgBouncer) | **MEDIO** - Mejor que threading.local() casero | | Búsqueda full-text nativa (tsvector) | **ALTO** - Reemplazaría las funciones de similitud Jaccard caseras | | pgvector para embeddings | **ALTO** - Reemplazaría BLOB + coseno manual. Queries vectoriales 100x más rápidas | | Migraciones con Alembic | **MEDIO** - Eliminaría los ALTER TABLE + try/except frágiles | | JSON/JSONB nativo | **MEDIO** - metadata_json como JSONB con queries indexadas | | Monitoreo/stats integrados | **BAJO** - pg_stat, explain analyze | | Backup incremental (pg_dump, WAL archiving) | **MEDIO** - Backups más robustos que copiar .db | #### CONTRAS | Desventaja | Impacto | |------------|---------| | Servicio separado que consumir RAM (~100-200MB) | **MEDIO** - En VPS con 8GB RAM no es problema | | Complejidad operacional (instalar, mantener, actualizar) | **ALTO** - SQLite = zero-admin. PG necesita mantenimiento | | Refactorizar 80+ funciones en db.py (3700 líneas) | **MUY ALTO** - Esfuerzo considerable. Todas las queries a revisar | | Reescribir queries SQLite-específicas | **MEDIO** - COALESCE funciona igual, pero GROUP BY es más estricto en PG | | Deployment más complejo | **MEDIO** - Necesita Docker o instalación de PG | | Latencia de red (si PG en otro host) | **BAJO** - Normalmente co-located | | Sin beneficio real si escrituras son < 100/min | **ALTO** - Este proyecto probablemente no supera 10-20 escrituras/min | --- ### 3. Alternativa intermedia: Optimizar SQLite actual #### Opción A: Connection pooling con SQLAlchemy sobre SQLite ```python # En vez de threading.local(), usar SQLAlchemy engine from sqlalchemy import create_engine engine = create_engine('sqlite:///data/noticias.db', pool_size=5, pool_timeout=30, connect_args={'check_same_thread': False}) ``` - **Esfuerzo**: ALTO (reescribir todo db.py para usar SQLAlchemy ORM o Core) - **Beneficio**: Pool de conexiones real, pero SQLite sigue teniendo writer lock - **Veredicto**: No vale la pena solo para SQLite #### Opción B: Optimizar el threading.local() actual (RECOMENDADA) 1. **Batch inserts**: Agrupar INSERTs de noticias en una sola transacción 2. **WAL2**: Considerar modo WAL2 (SQLite 3.37+) para mejor concurrencia 3. **PRAGMA wal_checkpoint(TRUNCATE)**: Periódico para mantener WAL compacto 4. **Write-ahead batching**: Cola de escrituras con un solo writer thread 5. **Retry logic**: Agregar retry con backoff en caso de database locked 6. **PRAGMA synchronous=NORMAL**: En vez de FULL (actualmente default) #### Opción C: Migración gradual a PostgreSQL 1. Fase 1: Instalar PostgreSQL, crear schema equivalente 2. Fase 2: Dual-write (escribir a ambas DB) 3. Fase 3: Migrar lecturas a PostgreSQL 4. Fase 4: Desactivar SQLite --- ### 4. Estimación de esfuerzo de migración completa #### Archivos que cambiarían | Archivo | Cambios | Esfuerzo | |---------|---------|----------| | **db.py** (~3700 líneas, 80+ funciones) | Reescribir get_conn(), todas las queries, migraciones | **MUY ALTO** (3-5 días) | | **config.py** | Agregar DB_URL postgresql, quitar DB_PATH | **BAJO** (1 hora) | | **app.py** (Flask) | Ajustar init_db() call | **BAJO** (1 hora) | | **scraper.py / twitter_scraper.py** | Sin cambios (usan db.py) | **NULO** | | **ia_filtro.py** | Sin cambios (usa db.py) | **NULO** | | **telegram_bot.py** | Sin cambios (usa db.py) | **NULO** | | **embeddings.py** | Migrar de BLOB a pgvector | **MEDIO** (4-8 horas) | | **requirements.txt** | Agregar psycopg2-binary, sqlalchemy | **BAJO** (5 min) | | **docker-compose.yml** | Agregar servicio PostgreSQL | **BAJO** (1 hora) | | **Script de migración de datos** | Export SQLite -> Import PG | **MEDIO** (4-8 horas) | #### Total estimado: 5-8 días de trabajo dedicado #### Funciones de db.py que requerirían cambios significativos: - `get_conn()` → pool de conexiones PG - `init_db()` → SQL DDL de PostgreSQL (SERIAL vs AUTOINCREMENT, TEXT vs VARCHAR, etc.) - `_sqlite_unaccent()` → usar unaccent de PG nativo - Todas las queries con `?` placeholders → `%s` o `$1` (psycopg2/asyncpg) - `buscar_noticia_similar()` → pgvector similarity search - `stats_dashboard()` → queries GROUP BY más estrictas - 80+ funciones con `conn.execute()` → adaptar syntax --- ### 5. Recomendación final #### **NO MIGRAR A POSTGRESQL POR AHORA** **Razones:** 1. **El volumen actual no lo justifica**: Con ~48 sitios web + ~84 cuentas RRSS, las escrituras probablemente son <20/minuto. SQLite con WAL maneja esto sin problemas. 2. **El costo de migración es alto**: 5-8 días de trabajo para un beneficio marginal en esta escala. 3. **busy_timeout=5000ms ya está configurado**: Las escrituras esperan hasta 5 segundos si hay lock. Suficiente para la carga actual. 4. **WAL mode ya está activo**: Permite lecturas concurrentes mientras hay escrituras. 5. **SQLite es zero-admin**: En un VPS barato ($5-15/mes), no tener que mantener PostgreSQL es una ventaja operacional enorme. #### **Cuándo reconsiderar la migración:** - Si aparecen errores `database is locked` más de 1 vez por semana en los logs - Si la base de datos supera 5GB (actualmente probablemente <500MB) - Si se agregan funcionalidades que requieran transacciones complejas multi-tabla - Si se necesita pgvector para búsqueda semántica a gran escala (>100K embeddings) - Si se migra a un stack con múltiples workers (gunicorn multi-process) #### **Acciones recomendadas a corto plazo:** 1. Agregar `PRAGMA synchronous=NORMAL` en get_conn() (mejora velocidad de escritura ~2x) 2. Agregar retry logic con backoff exponencial en inserts 3. Monitorear errores "database is locked" con un contador en logs 4. Considerar batch inserts para el scraper (agrupar 10-20 noticias por transacción) 5. Agregar `PRAGMA wal_autocheckpoint=1000` para controlar tamaño de WAL
Claude · 18-02-2026 12:59hsquiero que en prevision se puede seleccciar el horario para la prevision , tambien quiero que muestres la estimacion de la probabilidad de la prevision y que vayas corroborando con lo que esta pasando en el dia y muestres la tendencia del acierto, tambien quiero que los porcentajes de acierto se sumen al reporte en pdf
vcbvc · 18-02-2026 12:53hs · Resuelta: 18-02-2026 13:13hsPoner fecha hora a las noticias en el bot de Telegram Mejorar Merge a las noticias similares Noticias emsur y vialidad municipal , políticos locales Vincular las notas a ideas del sistema
Anonimo · 18-02-2026 12:37hs · Resuelta: 18-02-2026 13:13hsagrega la fecha/hora de la solucion a cada idea
Anonimo · 18-02-2026 08:58hs · Resuelta: 18-02-2026 13:13hsAgregar un campo alcance a las noticias para clasificarlas en 4 niveles: - Local: noticias específicas de Mar del Plata - Zonal: noticias de la zona (Batán, Miramar, Balcarce, Necochea, etc.) - Provincial: noticias de provincia de Buenos Aires que afectan a MdP - Nacional: noticias de alcance nacional que mencionan o afectan a MdP La clasificación puede hacerse automáticamente por IA al procesar cada noticia. Incluir filtro por alcance en /noticias y en los resúmenes.
Claude · 18-02-2026 08:46hsCrear sección separada para rastrear menciones de Mar del Plata en medios internacionales y agencias de noticias de renombre. Fuentes sugeridas (vía RSS/Google News): - Reuters, AP, AFP, EFE, ANSA - BBC Mundo, CNN en Español, DW - The Guardian, New York Times (secciones Latam) Implementación: - Agregar feeds RSS de agencias internacionales - Google News queries con site:reuters.com, site:bbc.com, etc. - Nueva ruta /internacional con las noticias encontradas - Stats: qué agencias mencionan más a MdP, qué temas llegan a nivel internacional - Link en sidebar sección Análisis
Claude · 18-02-2026 08:46hsProblema encontrado en v1.46.0: Los 5 templates fusionados (narrativo.html, analisis_fuentes.html, etc.) fueron creados por un agente separado que usó nombres de variables distintos a los que las rutas de Flask pasaban. Desajustes detectados: 1. narrativo.html esperaba resultados, divergencias_resultados, divergencias_updated pero la ruta pasaba sesgo, divergencias, updated 2. analisis_fuentes.html esperaba noticias, stats, horas (unificado) pero la ruta pasaba noticias_prim, stats_prim, horas_cob/horas_prim Solución aplicada: - Se corrigieron los render_template() en web_app.py para usar los nombres que los templates esperan
Claude · 18-02-2026 08:46hs# Investigación VPS/Dedicados baratos para migración ## Fecha: 18-02-2026 13:05hs (GMT-3) ## Estado: COMPLETADA ### Requisitos del proyecto - Flask + SQLite + Playwright (Twitter scraping) + Groq/Gemini IA + Telegram bot - Mínimo: 4 vCPU, 8GB RAM, 100GB SSD - Playwright necesita ~1-2GB RAM extra para navegadores headless - Presupuesto objetivo: < $20 USD/mes --- ### Tabla comparativa de proveedores | # | Proveedor | Plan | Precio/mes | vCPU | RAM | Disco | BW | Ubicación | Notas | |---|-----------|------|-----------|------|-----|-------|----|-----------| ------| | 1 | **Contabo** | Cloud VPS S | **$4.95 USD** | 4 | 8GB | 100GB NVMe | 32TB | USA (NY, St. Louis, Seattle), EU | **MEJOR PRECIO.** Sin setup fee. DDoS incluido. Overselling conocido pero suficiente para este uso. | | 2 | **Hetzner** | CAX21 (ARM) | **~$7.10 USD** (€6.49) | 4 | 8GB | 80GB NVMe | 20TB | EU (Nuremberg, Falkenstein, Helsinki) | ARM Ampere. Excelente relación precio/rendimiento. Solo EU. Playwright compatible con ARM (Chromium). | | 3 | **Hetzner** | CX32 (Intel) | **~$7.45 USD** (€6.80) | 4 | 8GB | 80GB NVMe | 20TB | EU solamente | Shared Intel x86. No disponible en USA. Muy buen rendimiento. | | 4 | **Oracle Cloud** | Always Free ARM | **$0 USD** | 4 OCPU | 24GB | 200GB | 10TB | USA (Ashburn, Phoenix, Chicago), BR (São Paulo) | **GRATIS PERMANENTE.** ARM Ampere A1. Specs increíbles. Riesgo: Oracle puede discontinuar o restringir. Provisioning difícil (hay que reintentar). São Paulo = baja latencia a ARG. | | 5 | **Hostinger** | KVM 2 | **$9.99 USD** (promo) | 2 | 8GB | 100GB NVMe | 8TB | USA, EU, Asia | Solo 2 vCPU. Renueva a ~$24.99. Panel propio (no estándar). | | 6 | **Hetzner** | CPX32 (AMD) | **~$14.90 USD** (€13.60) | 4 | 8GB | 160GB NVMe | 20TB | EU + USA (Ashburn, Hillsboro) | AMD EPYC dedicado. Disponible en USA. Premium pero potente. Tráfico USA limitado vs EU. | | 7 | **Hostinger** | KVM 4 | **$19.99 USD** (promo) | 4 | 16GB | 200GB NVMe | 8TB | USA, EU, Asia | Renueva a ~$49.99. Buenas specs pero caro al renovar. | | 8 | **Linode/Akamai** | Shared 8GB | **$48 USD** | 4 | 8GB | 160GB SSD | 5TB | USA (múltiples), São Paulo | Caro. Buena red. Ubicación São Paulo disponible. | | 9 | **Vultr** | Cloud Compute | **$48 USD** | 4 | 8GB | 256GB SSD | 4TB | USA (múltiples), São Paulo, Santiago | Caro. Buena red, muchas ubicaciones LATAM. | | 10 | **DigitalOcean** | General Purpose | **$63 USD** | 4 | 8GB | 25GB SSD | 4TB | USA, EU, SGP | Muy caro. Poco disco. No recomendado para este presupuesto. | | 11 | **IONOS** | VPS L | **$63.71 USD** | 4 | 8GB | 80GB | 2TB | USA, EU | Caro y poco tráfico. | --- ### Ranking recomendado #### 1. Oracle Cloud Free Tier (GRATIS) - Riesgo medio - 4 OCPU ARM + 24GB RAM + 200GB disco. **Inmejorable en specs.** - Ubicación São Paulo = latencia ~30ms a Buenos Aires - Riesgo: provisioning difícil, Oracle puede cambiar términos - Ideal como servidor principal si se consigue provisionar #### 2. Contabo Cloud VPS S ($4.95/mes) - MEJOR RELACIÓN PRECIO/RENDIMIENTO - 4 vCPU + 8GB + 100GB NVMe. Cumple todos los requisitos exactos. - Ubicación New York = latencia ~150ms a Buenos Aires (aceptable) - Sin setup fee, 32TB de tráfico - Overselling conocido pero para Flask+SQLite+Playwright es más que suficiente - **RECOMENDACIÓN PRINCIPAL** #### 3. Hetzner CAX21 ($7.10/mes) - MEJOR RENDIMIENTO/PRECIO EN EU - ARM Ampere, 4 vCPU + 8GB + 80GB. Disco algo corto (80GB). - Solo disponible en EU (Alemania/Finlandia). Latencia a ARG ~250ms. - Playwright funciona en ARM con Chromium. - Alternativa si se necesita más rendimiento real que Contabo. #### 4. Hetzner CPX32 ($14.90/mes) - MEJOR CON UBICACIÓN USA - AMD EPYC, 4 vCPU + 8GB + 160GB. Disponible en Ashburn (USA). - Rendimiento dedicado real. Buena opción si Contabo no convence. --- ### Recomendación final **Plan A:** Contabo Cloud VPS S en New York - $4.95/mes. Cumple requisitos, precio imbatible. **Plan B:** Oracle Cloud Free Tier en São Paulo - $0/mes. Si se logra provisionar, es la mejor opción por lejos (gratis + baja latencia). **Plan C:** Hetzner CAX21/CPX32 - $7-15/mes. Si se necesita rendimiento premium garantizado. Nota: Para migración, preparar scripts de deploy automatizado (Docker o manual), exportar SQLite, configurar Playwright headless, y redirigir DNS del bot de Telegram.
Claude · 18-02-2026 08:46hsCorregir mi ortografía de la sección ideas, cada vez que se haga una subida del código actualizar la sección ideas del proyecto noticias y Limay así
Anonimo · 18-02-2026 08:04hsMover la función a un lugar separado de comparador, la herramienta es muy interesante
Anonimo · 18-02-2026 08:03hsSimplificar menú y analizar secciones para fusionarlas si es necesario
Anonimo · 18-02-2026 08:03hsPoder configurar el horario de cierre de la previsión, analizar cada 30 minutos o tiempo configurable , las noticias que van sucediendo así se va ajustando la previsión y mostrar una tendencia creciente o decreciente , y valorar la previsión por colores , al otro día ir revisando si las previsiones se cumplieron , se asemejaron o no pasaron, toda esta información se debe anexar al resumen diario y descargable,
Anonimo · 18-02-2026 08:02hsPoder modificar el perfil de cada y ver las cuentas que se scrapean , poder entrar a un feed de las noticias por empresa, armar estadísticas sobre qué tipo de noticias dan
Anonimo · 18-02-2026 07:57hsEstadísticas por tipo de noticia por segmento horario, día hábil o fin de semana
Anonimo · 18-02-2026 07:56hsPedir resumen de noticias del día
Anonimo · 18-02-2026 07:55hsInforme PDF/pantalla diseñado para la reunión matutina de un medio. Incluye: qué pasó en la noche, qué está trending ahora, qué temas faltan cubrir, exclusivas de la competencia, y agenda del día. Generación automática a las 7am.
Claude IA · 17-02-2026 19:06hsGrafo interactivo que muestre cómo los medios se citan entre sí, quién es fuente de quién, y qué medios tienden a cubrir los mismos temas. Visualización con D3.js para entender el ecosistema mediático local.
Claude IA · 17-02-2026 19:06hsGráfico que muestre cuándo se publican más noticias, cuándo tienen más engagement, y cuáles son los mejores horarios para publicar según la plataforma. Datos para optimizar la estrategia de publicación del medio.
Claude IA · 17-02-2026 19:06hsModo especial que se activa ante eventos críticos (temporal, accidente, emergencia). Aumenta frecuencia de escaneo de cuentas oficiales (bomberos, OSSE, tránsito, municipio) y envía actualizaciones consolidadas cada 5 minutos.
Claude IA · 17-02-2026 19:06hsAntes de enviar una noticia a Telegram, generar un copete/resumen redactado en estilo periodístico usando IA. Incluir contexto relevante, datos clave y enlace. Opción de editar antes de enviar.
Claude IA · 17-02-2026 19:06hsPágina dedicada por cada fuente/cuenta con: velocidad promedio de publicación, temas que más cubre, horarios de mayor actividad, score promedio, historial de exclusivas, y comparación con otros medios similares.
Claude IA · 17-02-2026 19:06hsDetectar temas que están siendo muy cubiertos en RRSS pero que ningún medio tradicional ha publicado aún. Alerta inmediata tipo 'tema viral sin cobertura RSS'. Útil para encontrar primicias en redes antes que los medios.
Claude IA · 17-02-2026 19:06hsIdentificar automáticamente cuándo una noticia proviene de una fuente primaria (comunicado oficial, conferencia de prensa, documento público) vs cobertura derivada. Marcar con badge especial y priorizar en el feed.
Claude IA · 17-02-2026 19:06hsVista de línea de tiempo interactiva que muestre la evolución de una historia a lo largo del día/semana. Permite ver cómo un tema crece, qué medios se suman, y cuándo alcanza el pico de cobertura. Útil para entender la dinámica informativa.
Claude IA · 17-02-2026 19:06hsGenerar y enviar un newsletter diario/semanal por email con las noticias más relevantes de MdP. Formato HTML profesional con las top 10 noticias, exclusivas del día, y tendencias. Suscripción desde la web con validación de email.
Claude IA · 17-02-2026 19:06hspoder aumentar la cantidad de noticias analizadas, por ahora scrapear 30 enero y febrero, estas no enviarlas al bot, guardarlas para analisis de datos
Anonimo · 17-02-2026 17:27hsarmar una seccion que tenga un mapa de calor que se puede seleccionar por dia para analizar en que horario publica cada medio y de alguna forma que pueda discriminar la rrss o feed que usa
Anonimo · 17-02-2026 17:26hsanalizar riesgos de bloqueos por exceso de consultas a los sitios, buscar alternativas via API, cuentas o lo que sea mejor
Anonimo · 17-02-2026 17:20hsmejorar scrapeo de tiktok e instagram, analizar formas para mejor implementacion
Anonimo · 17-02-2026 17:19hsanalizar la nota y el contexto para intentar mostrarla en el mapa , busca algun sistema de puntuacion para darle certeza a la geolocalizacion
Anonimo · 17-02-2026 17:18hscomprueba si la noticia es del mismo medio muestrala como del mismo grupo, analiza los datos con las horas que los medios publican sus noticias en sus web y sus rrss
Anonimo · 17-02-2026 15:07hsAPI publica sin auth. Monitorear cuentas de medios locales y nacionales en Bluesky (AT Protocol). Similar a Twitter pero sin restricciones de scraping.
Claude · 17-02-2026 15:05hsComparar cobertura de la misma noticia entre medios: tono (positivo/negativo/neutro), enfoque (titulo, palabras clave), extension del texto. Detectar framing.
Claude · 17-02-2026 15:05hsEnviar top 10 noticias de la semana, medio mas rapido, categoria mas activa. Automatico los domingos a la manana.
Claude · 17-02-2026 15:05hsPins geolocalizados en mapa de MdP. Usar NER (Named Entity Recognition) para extraer ubicaciones de las noticias y plotearlas en Leaflet.js.
Claude · 17-02-2026 15:05hsConfiguracion por usuario: ponderar categorias y fuentes segun preferencia. Permite que cada persona vea las noticias mas relevantes para ella.
Claude · 17-02-2026 15:05hsAlertar cuando un medio publica como nueva una noticia vieja (>48h). Comparar con DB historica usando embeddings y similitud temporal.
Claude · 17-02-2026 15:05hsDashboard tecnico: tiempo de scraping por fuente, tasa de error, latencia IA, uso de DB, uptime del sistema, graficos historicos.
Claude · 17-02-2026 15:05hsBarra tipo CNN debajo del topbar con titulares scrolleando. AJAX cada 2 min, pausa al hover, click abre noticia, oculto en mobile.
Sistema · 17-02-2026 15:00hsPanel destacado para noticias score 5 con alerta visual y sonido opcional. Cuando llega una noticia de maximo impacto, se muestra un banner especial en el dashboard.
Sistema · 17-02-2026 15:00hsPDF/email automatico con las noticias del dia, stats y cobertura para reunion de redaccion. Generado cada noche con las metricas del dia.
Sistema · 17-02-2026 15:00hsGenerar un feed RSS del monitor para integrar con otras herramientas de la redaccion. Endpoint /feed.xml con las ultimas noticias filtradas.
Sistema · 17-02-2026 15:00hsVista dedicada con tendencias por categoria: que temas dominan hoy vs ayer, evolucion semanal, distribucion de cobertura por medio y categoria.
Sistema · 17-02-2026 15:00hsmejora el refresco automatico de las noticias, informa porque el sistema esta demorado o inactivo
Anonimo · 17-02-2026 14:57hsen los reportes inserta el nombre del sitio y de quien es propiedad la info analizada
Anonimo · 17-02-2026 14:56hsama una calendario de todos los dias para que quede registro de las noticias y horarios que son publicados, tambien quiero hacer click en dia y/o horario para ver las noticias filtradas
Anonimo · 17-02-2026 13:52hslucia castorina es periodista del diario la capital busca en las rrss sus perfiles para vincularla
carlos · 17-02-2026 13:51hsEnviar automaticamente el resumen editorial del dia (/resumen) al grupo de Telegram cada noche a las 23:00. Incluir top 5 noticias, stats del dia y categorias destacadas. Usar el scheduler existente de main.py.
Carlos José Castorina · 17-02-2026 12:31hsReemplazar el auto-refresh por pagina completa con WebSocket (Flask-SocketIO). Las noticias nuevas aparecen al instante sin recargar, con animacion de entrada. El ticker, clima y stats se actualizan en vivo.
Carlos José Castorina · 17-02-2026 12:31hsAgregar al pipeline de IA (ai_filter.py) un campo de sentimiento: positivo/negativo/neutro. Mostrar en el dashboard con icono de color. Util para detectar tendencias de cobertura y sesgo mediatico.
Carlos José Castorina · 17-02-2026 12:31hsPermitir configurar alertas especificas por palabra clave (ej: Montenegro, Puerto, Universidad). Cuando una noticia matchea, enviar notificacion push inmediata y/o Telegram. Configurable desde /config.
Carlos José Castorina · 17-02-2026 12:31hsConvertir el dashboard en Progressive Web App instalable. Agregar manifest.json, service worker para cache offline y notificaciones push nativas. El usuario puede instalar la app desde Chrome/Safari.
Carlos José Castorina · 17-02-2026 12:31hsPagina /tendencias con graficos Chart.js de evolucion temporal: noticias por dia/semana, categorias dominantes a lo largo del tiempo, medios mas activos, horarios pico. Datos de los ultimos 30 dias.
Carlos José Castorina · 17-02-2026 12:31hsCuando la misma noticia aparece en muchos medios con titulos muy distintos, alertar posible manipulacion o fake news. Usar embeddings existentes para comparar titulos y detectar divergencias anomalas.
Carlos José Castorina · 17-02-2026 12:31hsSeccion en /config para ver estado del backup (ultimo backup, tamanio, archivos en Drive), ejecutar backup manual y restaurar desde un backup anterior. Integrar con backup_gdrive.sh.
Carlos José Castorina · 17-02-2026 12:31hssi una noticia esta puesta por varios medios al hacer click quiero una seccion donde me muestre como escribio la misma noticia cada medio, que similitudes y diferencias hay, mas que nada para aprender patrones
Anonimo · 17-02-2026 10:39hsTopbar muestra estado real del sistema (verde/amarillo/rojo) con auto-actualizacion cada 30s. Timestamps en config_runtime.
Sistema · 17-02-2026 10:20hsGraficos de engagement (likes, RT, comments) por plataforma y por cuenta. Ranking de cuentas mas virales. Tendencia semanal.
Claude · 17-02-2026 16:11hsWeb push notifications para noticias de alto impacto (score >= 8). Service worker + notification API.
Claude · 17-02-2026 16:11hsGenerar PDF automatico con resumen semanal: top noticias, medios mas activos, categorias, graficos. Enviar por Telegram/email.
Claude · 17-02-2026 16:11hsDetectar automaticamente temas que crecen en cobertura (mas de 3 medios en 2 horas). Alerta especial en Telegram.
Claude · 17-02-2026 16:11hsGrafico temporal de largo plazo: que medio publica mas por categoria, velocidad promedio, cobertura mensual.
Claude · 17-02-2026 16:11hsVista de solo lectura optimizada para pantalla grande: noticias rotando, mapa, estadisticas. Auto-refresh cada 30s.
Claude · 17-02-2026 16:11hsBuscar noticias por significado (embeddings + RAG). Ej: "accidentes en ruta 2" encuentra noticias relacionadas sin match exacto.
Claude · 17-02-2026 16:11hsEndpoints JSON publicos para consultar noticias, fuentes, tendencias. Rate limit y documentacion Swagger.
Claude · 17-02-2026 16:11hsAmpliar el widget de clima actual con pronostico de proximas horas, probabilidad de lluvia, y mapa radar del SMN. Util para contextualizar noticias de clima/eventos al aire libre.
Claude · 16-02-2026 23:25hsMejorar la busqueda actual para soportar operadores tipo: "fuente:lacapital categoria:policial score:5 fecha:hoy". Parser simple que traduzca a filtros SQL. Autocompletado de fuentes y categorias.
Claude · 16-02-2026 23:25hsIdentificar noticias que solo un medio cubrio durante 24+ horas (exclusiva real, no solo primicia temporal). Clasificar entre exclusivas propias vs temas que nadie mas cubrio. Seccion dedicada con stats por medio.
Claude · 16-02-2026 23:25hsHeatmap (estilo GitHub contributions) que muestre a que horas del dia cada medio publica mas noticias. Util para detectar patrones: que medios publican de madrugada, cuales solo en horario laboral, etc.
Claude · 16-02-2026 23:25hsImplementar Web Push Notifications para recibir alertas de noticias score 5 directamente en el navegador, sin depender solo de Telegram. Usar Service Worker + Push API.
Claude · 16-02-2026 23:25hsBoton para descargar las comparaciones como CSV (para analisis en Excel) o PDF (para compartir). Incluir stats, ranking y resumen diario. Util para reportes semanales.
Claude · 16-02-2026 23:25hsToggle para cambiar entre modo claro y oscuro en toda la web. Guardar preferencia en localStorage. Usar variables CSS existentes para que sea facil de implementar cambiando los valores de --c-bg, --c-surface, --c-text, etc.
Claude · 16-02-2026 23:25hsPanel dedicado con metricas de engagement (likes, RT, comments) agregadas por cuenta y por dia. Graficos de evolucion, top posts virales, y comparativa entre cuentas. Permitiria ver que cuentas generan mas interaccion.
Claude · 16-02-2026 23:25hsCrear mapa de aliases para unificar variantes de nombres de medios (ej: "AHORA Mar del Plata", "@ahoramdp", "Ahora MdP" = mismo medio). Configurable desde /config como JSON.
Claude · 16-02-2026 23:04hsTabla colapsable que muestra que medios publican primero en promedio, con stats de veces primero/segundo, ventaja promedio en minutos y win rate porcentual.
Claude · 16-02-2026 23:04hsCuando el medio de referencia es el ultimo en cubrir una noticia que ya tienen 2+ medios (diferencia 30+ min), enviar alerta automatica al grupo de Telegram. Toggle on/off desde Config.
Claude · 16-02-2026 23:04hsDropdown para filtrar cards del comparador por categoria (politica, policiales, deportes, etc.). Se combina con el filtro de stat-boxes (primero/otro/simultaneo). Badge de categoria visible en cada card.
Claude · 16-02-2026 23:04hs