Todos los casos

puntaxo

Video para clubes de pádel: aprietas un botón en la cancha y la jugada que acaba de pasar llega a tu teléfono.

  • puntaxo: el check-in, «Llega al slot», acercando el teléfono.
  • puntaxo: la sesión en cancha, con el botón para guardar el último minuto.
  • puntaxo: el feed de hoy, con los clips del día.
  • puntaxo: un clip de la cancha, listo para verse otra vez.
  • puntaxo: la página del club, con sus videos y sus canchas.

Capturas de la app del jugador.

Dónde corre
App del jugador
Botón propio en la cancha
Servidor en el club
Video en la nube
Con qué está hecho
Cámaras
NVR
ESP32
NFC
Flutter
Supabase
Dónde verlo
puntaxo.com

La jugada ya pasó cuando decides guardarla.

En el pádel, la jugada que quieres ver otra vez ya pasó cuando te das cuenta. puntaxo graba cada cancha todo el tiempo y guarda hacia atrás: al apretar el botón junto a la cancha, se queda con el último minuto.

El jugador lo ve en su app segundos después, sin pedirle nada a nadie.

Del circuito a la app.

Es software de punta a punta, y baja hasta el dispositivo: cinco piezas que se hicieron aquí.

  1. Cámaras en la canchaGraban sin parar al servidor del club.
  2. El servidor del clubGuarda la última hora en tramos de un minuto y recorta los clips.
  3. El botón en la canchaUn ESP32 propio que dispara el clip.
  4. Check-in con NFC y QRCuatro lugares por cancha para acercar el teléfono.
  5. La app del jugadorSus clips, el feed del día y su club.

Cómo sale un clip.

Las cámaras mandan su video por RTSP a MediaMTX, en el mini PC del club, que lo guarda en tramos de 60 segundos. Por defecto se queda la última hora.

Al apretar el botón, un servicio en FastAPI encuentra los tramos de ese minuto y los recorta con FFmpeg, acelerado con Intel Quick Sync. Una cola en PostgreSQL alimenta al proceso que sube los clips a Cloudflare Stream y los registra en Supabase.

Para entrar al servidor desde fuera se usa Cloudflare Tunnel: el club no abre un solo puerto.

Toma aérea de una cancha de pádel azul, vista desde arriba.
Una cancha desde arriba, del video de puntaxo.

El botón.

Es un ESP32-S3 con antena externa, una tira de LEDs, una pantalla OLED y un zumbador. Se identifica por su dirección MAC, firma cada mensaje con HMAC y se actualiza por aire, todos los botones a la vez.

Encendió por primera vez en hardware real después de corregir el modo de su memoria PSRAM: octal, no quad.

Acercar el teléfono, y listo.

Cada cancha tiene cuatro lugares, cada uno con una etiqueta NFC y un QR que abren la misma dirección, con el club, la cancha y el lugar.

Después la app busca la baliza Bluetooth de esa cancha con un monitoreo de región, que funciona en segundo plano y casi no gasta batería. El registro es automático, la app avisa que sigue ahí cada dos minutos, y la sesión se cierra sola cuando deja de avisar.

Las decisiones.

  • Bajar el clip con el SDK del grabador.

    Se descartó: Pedirle el recorte al grabador por su API.

    Ese grabador no sabe recortar por tiempo desde su API. Su SDK sí, pero solo corre en x86, así que tampoco sirve una Raspberry Pi.

  • Apagar el Smart Codec de las cámaras.

    Quitó una congelada de unos ocho segundos al inicio de cada clip.

  • Navegación propia en la app.

    Se descartó: GoRouter.

    Chocaba con los enlaces de NFC y QR cuando la app arrancaba desde cero.

Lo que ya se comprobó.

  • La cadena completa, en una cancha: de la cámara al clip, a Cloudflare Stream y a Supabase.

  • El botón encendió en hardware real.

¿Qué quieres resolver?

Cuéntanoslo en dos líneas por WhatsApp. Te contestamos el mismo día hábil, con un precio o con las preguntas que faltan.

Cotiza por WhatsApp (abre WhatsApp en otra pestaña)