🧑💻 TuaTeam — Herramientas internas
Utilidades creadas en las prácticas de empresa: transcripción con extensión de Chrome, verificación de emails y scrapers
Escala del Proyecto
Descripción General
Además de Soft-Scrappeo, durante las prácticas de empresa desarrollé cuatro utilidades más pequeñas, cada una resolviendo un cuello de botella concreto del equipo. Ninguna es espectacular por separado; juntas son lo que realmente se hace en un puesto de desarrollo: resolver el problema que tiene alguien delante.
La más completa es la de transcripción, que combina un servicio en Python con una extensión de Chrome propia para capturar el contenido de una reunión desde el propio navegador. Las otras tres son un verificador de emails, un scraper configurable por YAML y un enriquecedor de datos sobre Excel.
Las agrupo en una sola ficha porque comparten origen y contexto, pero son proyectos independientes con su propio README dentro del repositorio.
Tecnologías Utilizadas
Python
Flask
Chrome Extension
JavaScript
YAML
Excel
Verificación SMTP
Las Cuatro Herramientas
Servicio Python con main.py, api.py y
app.py, más una extensión de Chrome propia con
manifest.json, background.js, content.js
y page_probe.js para capturar el contenido de una reunión desde el
navegador.
Aplicación Flask (app.py con su plantilla) que valida
direcciones de correo antes de lanzar una campaña, evitando rebotes que dañan la
reputación del dominio.
Scraper con la configuración externalizada en
config.example.yaml: cambiar el objetivo es editar un YAML, no el
código.
main.py y enriquecer.py que trabajan sobre un Excel
de empresas de Valencia, separando la captura del enriquecimiento posterior.
Arquitectura
Cada herramienta es autónoma, con su propio README y sus dependencias. El patrón que se repite en las tres relacionadas con datos es la separación entre captura y enriquecimiento: un proceso obtiene lo mínimo fiable y otro completa después. Eso permite reintentar el enriquecimiento sin volver a capturar.
La extensión de Chrome sigue la estructura estándar de Manifest: un service worker de fondo, un script de contenido inyectado en la página y una sonda que detecta si la página es la esperada.
TuaTeam/ ├── Transcripcion/ │ ├── src/ # main.py, api.py, app.py │ └── chrome_extension/ │ ├── manifest.json │ ├── background.js # service worker │ ├── content.js # script inyectado │ └── page_probe.js # detección de página ├── Verif-email/ # app.py + templates/ ├── Scrapping/ # src/main.py + config.example.yaml ├── Comp-scrappeo/ # main.py, enriquecer.py, Valencia.xlsx └── Soft-Scrappeo/ # el CRM, con ficha propia
Qué Resuelve Cada Una
- Transcripción: dejar de tomar notas a mano en las reuniones, capturando el contenido desde el propio navegador.
- Verificación de emails: no enviar una campaña a direcciones inválidas, que generan rebotes y penalizan la reputación del remitente.
- Scrapping: obtener listados de una fuente configurable sin tocar código para cambiar de objetivo.
- Comp-scrappeo: partir de un Excel de empresas y completarlo con los datos que faltan.
Retos Técnicos y Decisiones de Diseño
Una extensión de Chrome es la única vía para ciertas cosas
Capturar el contenido de una reunión que ocurre dentro de una aplicación web no se puede hacer desde fuera del navegador. Eso obligó a aprender el modelo de una extensión: el service worker de fondo, el script de contenido inyectado en la página y la comunicación por mensajes entre ambos, que es un modelo de ejecución distinto a cualquier cosa que hubiera escrito antes.
Configuración en YAML en lugar de constantes en el código
El scraper apuntaba inicialmente a un objetivo fijo escrito en el propio fichero.
Sacarlo a config.yaml permitió que otra persona del equipo cambiara el
objetivo sin tocar Python, que era el requisito real: la herramienta no la usaba
solo yo.
Verificar emails sin acabar en una lista negra
Comprobar si una dirección existe implica hablar con el servidor de correo, y hacerlo de forma agresiva es la forma más rápida de que bloqueen tu IP. La herramienta prioriza no quemar el dominio de la empresa sobre verificar rápido.
Mi Rol
Desarrollador en prácticas — autor de las cuatro herramientas.
Cada una nació de una necesidad planteada por el equipo. Recogí el requisito, elegí el enfoque y las desarrollé y documenté con su propio README.
Estado del Proyecto
Herramientas entregadas y utilizadas por el equipo durante las prácticas (abril-mayo de 2026). Los datos reales de empresas y las credenciales no se incluyen en el repositorio.