Desktop & IoT
2023 — Presente

Suite de Herramientas Desktop & IoT

Apps Electron Local-First para Privacidad y Rendimiento

Suite de 5 herramientas desktop local-first — ~73K líneas en 114 archivos. ML Trainer (API compatible OpenAI), WhatsApp Agent (20K líneas con stealth + STT + visión), Scraper (25K líneas, 7 tipos), IoT Hub (motor de automatización + 60+ dispositivos) y AudioHub (puente Python Whisper).

Año

2023 — Presente

Rol

Full-Stack Developer

Tecnologías

10 tecnologías

El Desafío

  • Ciertas cargas requieren procesamiento local: entrenamiento ML con datos privados, automatización WhatsApp con navegador real y anti-detección, comunicación IoT vía MQTT/Serial y coordinación de audio en equipo
  • Cada herramienta debe ser standalone pero sincronizar con Cadences cloud — local-first para privacidad y acceso a hardware, cloud-synced para persistencia y triggers de workflow
  • Anti-detección es crítico para WhatsApp Agent y scrapers — requiriendo plugins stealth, simulación de comportamiento humano y rotación de user agents

El Enfoque

  • Arquitectura consistente: las 5 herramientas usan Fastify para APIs HTTP locales, SQLite para persistencia (better-sqlite3 o sql.js WASM) y sync con Cadences vía WebSocket/REST
  • Shell Electron para herramientas que necesitan acceso al SO (ML Trainer, WhatsApp, IoT Hub, AudioHub) — Scraper corre como servidor Node.js puro
  • Capa stealth: Playwright + puppeteer-extra-plugin-stealth con eliminación de navigator.webdriver, overrides de plugins, rotación de user agent y contextos de navegador persistentes
  • Puente Python (AudioHub): IPC JSON-line via stdin/stdout para Whisper STT + Edge TTS, con detección de capacidades y timeout de inicio 10s

La Solución

  • ML Trainer (11.5K líneas): API compatible OpenAI (/v1/embeddings, /v1/chat/completions, /v1/classify, /v1/entities, /v1/predict, /v1/similarity), tipos de entrenamiento: Embeddings (MiniLM-L6-v2), Clasificador (DistilBERT), NER (BERT-NER), Regresión con validación cruzada, fine-tuning LoRA (GPT-2/TinyLlama). Modelos registrados como LOCAL_MODEL en Cadences
  • WhatsApp Agent (20.4K líneas): Playwright stealth con módulo humanDelay (humanType carácter a carácter, humanClick + movimiento de ratón, readingDelay basado en WPM), Smart Pipeline con 5 proveedores IA (Cloudflare/Gemini/Groq/OpenAI/DeepSeek), STT vía Groq/OpenAI/Workers Whisper, análisis de imagen vía Gemini/OpenAI Vision/LLaVA, sync contactos + tracking de grupos
  • Scraper (25.3K líneas): 7 tipos de scraper — Inmobiliario (1.256 líneas, anti-detección con delays gaussianos + evasión anti-bot), Freelance (9+ plataformas de empleo en 4 regiones), Documentos (PDF/Excel/CSV/Word/TXT/JSON), FileSystem (escaneo disco + dedup MD5/SHA256), ML Pipeline (puente TensorFlow.js), Legal (5 fuentes de boletines oficiales y licitaciones), API. Más AI File Analyzer (735 líneas), Cross-Disk Sync (700 líneas), Remote Worker para polling de jobs Cadences
  • IoT Hub (8.4K líneas): 3 protocolos core (MQTT v5.10, SerialPort v12, HTTP polling) + 14 tipos de protocolo definidos (CoAP, Modbus, Zigbee, Z-Wave, LoRa, BLE, RTSP, ONVIF...). 60+ tipos de dispositivo en 10 categorías (Ambiental, Seguridad, Energía, Cámara, Industrial...). Motor de Automatización (796 líneas) con triggers (device_state/threshold/schedule/sunrise-sunset/webhook/scene), Camera Manager (619 líneas) con PTZ + FFmpeg, auto-sync a Cadences cada 5 min
  • AudioHub (7.4K líneas): escaneo Bluetooth de dispositivos (pinganillos, auriculares) con monitorización heartbeat, puente Python para Whisper STT local (tamaño de modelo configurable), TTS vía ElevenLabs (12 presets de voz), OpenAI, cadena fallback Edge-TTS/gTTS/pyttsx3, caché de audio basado en MD5

Resultados Clave

  • ~73K líneas en 114 archivos — 5 herramientas local-first sincronizadas con Cadences
  • ML Trainer: API compatible OpenAI con 5 tipos de entrenamiento + sync de modelos
  • WhatsApp Agent: 20.4K líneas con stealth, 5 proveedores IA, STT + visión
  • Scraper: 25.3K líneas, 7 tipos de scraper, 9+ plataformas freelance, Remote Worker
  • IoT Hub: 60+ tipos de dispositivo, motor de automatización, camera manager con PTZ
  • AudioHub: puente Python Whisper + 3 proveedores TTS con cadena de fallback

Tecnologías

Electron Node.js Fastify Playwright SQLite Python MQTT SerialPort @xenova/transformers Whisper
$ cat project.json
{
"name": "Suite de Herramientas Desktop & IoT",
"status": "production",
"stack": [10],
"results": [6]
}