Volver a Proyectos

🧑‍💻 TuaTeam — Herramientas internas

Utilidades creadas en las prácticas de empresa: transcripción con extensión de Chrome, verificación de emails y scrapers

Desarrollado en empresa Extensión de Chrome 4 herramientas

Escala del Proyecto

4Herramientas
3.1kLíneas
2026Prácticas

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

🎙️ Transcripción

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.

✉️ Verificación de emails

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.

🕷️ Scrapping

Scraper con la configuración externalizada en config.example.yaml: cambiar el objetivo es editar un YAML, no el código.

📊 Comp-scrappeo

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.