
Supabase en producción: lo que nadie te cuenta
Llevamos Supabase en múltiples proyectos activos. Aquí va lo que aprendimos: RLS bien hecho, Realtime sin memory leaks, auth multi-método y los límites reales del plan gratuito.

No teoría — ejemplos concretos de scripts Python que usamos en producción: scraping con manejo de errores robusto, automatización de reportes y bots que funcionan sin supervisión.
BKLN Software
Equipo de desarrollo de BKLN Software & Systems.
Hay una razón por la que Python es el lenguaje de automatización por excelencia: la distancia entre "tengo una idea" y "esto funciona" es extraordinariamente corta.
En BKLN hemos resuelto con Python tareas que antes costaban horas de trabajo manual. Aquí van tres casos reales.
El primer script que construimos para un cliente era un extractor de datos de portales web. El problema clásico de scraping no es obtener los datos — es que el script falle a las 2 de la mañana porque una página tardó demasiado o cambió su estructura.
La solución fue un extractor con reintentos automáticos y logging detallado:
import requests
from bs4 import BeautifulSoup
import time
import logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler('scraper.log'),
logging.StreamHandler()
]
)
def fetch_with_retry(url, max_retries=3, delay=2):
for attempt in range(max_retries):
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
return response
except requests.RequestException as e:
logging.warning(f"Intento {attempt + 1} fallido: {e}")
if attempt < max_retries - 1:
time.sleep(delay * (attempt + 1))
logging.error(f"Todos los intentos fallaron para {url}")
return None
Con este patrón, el script no muere al primer error. Reintenta con espera exponencial, registra todo en un archivo de log y continúa con el siguiente elemento. El cliente lo ejecuta cada noche con cron y a la mañana tiene los datos listos.
Un cliente necesitaba un reporte semanal de ventas que antes preparaba manualmente en Excel — dos horas de trabajo cada lunes. Lo automatizamos con Python + reportlab.
La clave fue separar la lógica de datos de la lógica de presentación:
def generar_reporte(datos, periodo):
buffer = BytesIO()
doc = SimpleDocTemplate(buffer, pagesize=A4)
elementos = []
# Título
estilos = getSampleStyleSheet()
elementos.append(Paragraph(f"Reporte de ventas — {periodo}", estilos['Title']))
elementos.append(Spacer(1, 20))
# Tabla de datos
tabla_datos = [['Producto', 'Unidades', 'Total XAF']]
for fila in datos:
tabla_datos.append([fila['producto'], str(fila['unidades']), f"{fila['total']:,}"])
tabla = Table(tabla_datos, colWidths=[200, 80, 100])
tabla.setStyle(tabla_estilo())
elementos.append(tabla)
doc.build(elementos)
return buffer.getvalue()
El script se ejecuta los lunes a las 7:00 AM y envía el PDF por email automáticamente. El cliente no toca nada.
Para otro cliente construimos un monitor que comprueba cada 5 minutos si su aplicación responde correctamente y envía un mensaje de WhatsApp si detecta un problema.
import schedule
import requests
def comprobar_servicio(url, umbral_ms=2000):
try:
inicio = time.time()
r = requests.get(url, timeout=10)
duracion_ms = (time.time() - inicio) * 1000
if r.status_code != 200:
alertar(f"⚠️ {url} devuelve {r.status_code}")
elif duracion_ms > umbral_ms:
alertar(f"🐢 {url} tarda {duracion_ms:.0f}ms (umbral: {umbral_ms}ms)")
else:
logging.info(f"✓ {url} — {duracion_ms:.0f}ms")
except requests.RequestException as e:
alertar(f"🔴 {url} no responde: {e}")
schedule.every(5).minutes.do(lambda: comprobar_servicio("https://tu-app.com"))
while True:
schedule.run_pending()
time.sleep(1)
Simple, efectivo, sin dependencias de terceros innecesarias.
Los tres comparten el mismo principio: hacen una sola cosa y la hacen bien. No intentan ser frameworks. No tienen configuración XML ni YAML. Son scripts Python directos que cualquier desarrollador puede leer, modificar y mantener.
La automatización no tiene que ser compleja para ser valiosa. A veces el mayor impacto viene de la tarea más aburrida que alguien estaba haciendo a mano.
¿Quieres aplicarlo a tu negocio?
Asistentes con IA y automatización: Asistentes que atienden a tus clientes por WhatsApp y en tu web con tu propia información, y automatización de las tareas repetitivas que hoy haces a mano.
Ver el servicio →