Saltar al contenido
Trabajos02 / 03

/trabajos/zona-f

Cómo sería una casa de apuestas pensada para el usuario

Zona FProducto propio · Prototipo funcionalDemo · 2026zona-f.vercel.app
zona-f.vercel.app
Zona F en escritorio: partidos en vivo con cuotas 1X2, listado de ligas, barra lateral y boleto de apuestas con la ganancia potencial

El reto

Las casas de apuestas tienen interfaces saturadas: cientos de mercados, banners por todas partes y un boleto que cuesta entender. Me propuse diseñar y construir un prototipo que mantuviera todas las funciones de una casa real, pero ordenadas para que apostar sea claro y rápido.

La solución

Boleto siempre visible

que calcula al instante la ganancia potencial, con importes rápidos (+10, +50, x2).

Combinadas

con varias selecciones en el mismo boleto.

Partidos en vivo

con minuto, marcador y cuotas 1X2 actualizadas.

Ligas favoritas

por usuario y barra lateral de ligas con contador de partidos.

Promociones

(bono de bienvenida, cashback, apuesta gratis, combinadas, VIP) en un carrusel.

Cash Out

cerrar una apuesta antes de que termine el partido.

Juego responsable

con límites configurables, accesible desde el menú.

Login

con correo y contraseña o con Google.

Móvil primero

en pantallas pequeñas el boleto pasa a un botón flotante.

Resultado

Un producto completo y navegable que demuestra cómo resolver la experiencia de usuario de una aplicación compleja, con muchos estados y datos que cambian en tiempo real.

Para desarrolladores

Base

Next.js (App Router) + React 19, renderizado en servidor con Server Components y operaciones con Server Actions.

Lenguaje y estilos

TypeScript estricto, sin any. Tailwind CSS v4 con los colores de marca como tokens.

Estado

Zustand para el estado del cliente (boleto, favoritos, filtros y cuotas en vivo); boleto y favoritos persisten en localStorage.

Datos y reglas

Supabase (Postgres): las reglas de negocio viven en funciones SQL (apostar, combinadas, liquidar partidos, promociones, límites de juego responsable y Cash Out). Todo lo que mueve dinero se ejecuta en el servidor y los datos están protegidos con RLS.

Autenticación

Supabase Auth con @supabase/ssr: correo y contraseña, y Google OAuth; la sesión se refresca en cada petición.

Simulación

Simulación de partidos en vivo con scripts propios: mover cuotas, liquidar partidos y cargar datos de demostración.

Imágenes

Imágenes generadas con IA (OpenAI) en un script aparte; la IA no interviene mientras la web funciona.

Despliegue

Vercel con despliegue automático en cada push a main · ESLint · sharp.

Código

Repositorio privado: se puede enseñar en una entrevista.