##Verlo funcionar
##Dos piezas
CellTraceLogger es una app Android (Kotlin) con un servicio en primer plano que anota cada observación de la red celular: MCC, MNC, LAC/TAC, Cell ID y la señal (RSRP, RSRQ, RSSNR) en 5G NR, LTE y 3G. Escribe archivos NDJSON que rotan solos y muestra en un mapa de OpenStreetMap las celdas que va viendo. celltrace es la librería en Python que toma esas observaciones y las cruza con los datos públicos de OpenCellID
##La incertidumbre también es un resultado
celltrace no da una respuesta y ya: cada inferencia trae un nivel de confianza (baja, media o alta), según qué tan estable fue la señal y si una celda domina en el tiempo. Si hay celdas que se solapan o la red está inestable, lo dice en vez de adivinar. Una vez están los datos, funciona sin internet
##Menos llamadas a la API
Para ubicar celdas que no están en el archivo de OpenCellID, la app puede preguntarle a una API externa (Unwired Labs). Cada celda resuelta se guarda en un caché (cached_cells.csv), así una celda se consulta una sola vez aunque aparezca mil veces
##Lo que no hace
No rastrea personas ni da coordenadas exactas de nadie: infiere infraestructura (qué torre o qué sector), no la ubicación de un usuario
celular (CellTraceLogger) │ Cell ID · LTE / 5G NR · señal ▼ celltrace_events_001.ndjson │ ▼ celltrace (Python) ◄── OpenCellID (CSV) │ filtro por zona + consenso en el tiempo ▼ torre más probable · confianza ALTA
##Bitácora
- La libreríaPrimera versión de celltrace: cargar OpenCellID, filtrar por zona, estimar a partir de observaciones y una línea de comandos para probarlo. Pruebas automáticas con pytest en cada cambio
- La appCellTraceLogger en un día: el servicio en primer plano, el registro en NDJSON, el mapa y el caché de celdas
- Navidad optimizandoMenos llamadas a la API. El mensaje del commit lo dice todo: "optimize the damn api calls"