Planificación de producto

Sistema de gamificación por fases

Cómo vamos a premiar a los corredores por participar en la comunidad — y en qué orden lo construiremos.

El sistema se construye en fases: primero el motor invisible, luego lo visible poco a poco. Las fases no se solapan — una acaba, empieza la siguiente.

Los tiempos son conservadores a propósito: mejor terminar antes de lo previsto que llegar tarde.

Paso a paso

Haslap no tiene un equipo de desarrolladores dedicado. El mantenimiento, el soporte y el desarrollo de nuevas funcionalidades recae en una sola persona que compagina todo al mismo tiempo.

Por eso el sistema se construye en fases cortas e independientes: cada fase entrega algo concreto y funciona sola, sin depender de que las siguientes estén listas. Antes de pasar a la siguiente, se verifica que lo entregado funciona bien en producción con usuarios reales.

Este ritmo no es lentitud — es la única forma de construir algo sólido sin romper lo que ya funciona.

La idea en 3 frases

Los corredores ganan puntos por asistir a eventos, traer amigos y mantener una constancia semanal. Esos puntos les permiten subir de nivel y canjear recompensas (descuentos, productos, experiencias).

El sistema se construye de menor a mayor: primero el motor invisible, luego lo visible poco a poco.

Los dos tipos de puntos

Hay dos saldos distintos para cada corredor. Ambos suben al mismo tiempo con las mismas acciones, pero sirven para cosas distintas.

HasPoints

El "dinero" del sistema. Se gana participando y se gasta canjeando recompensas. Nunca puede quedar en negativo.

XP

La experiencia acumulada. Solo sube, nunca baja. Determina el nivel del corredor.

Cómo se ganan puntos

AcciónPuntos
Inscribirse a un evento+50
Asistir a un evento (escanear QR en la puerta)+100
Una entrada que compraste para un amigo se usa+150
Mantener la racha semanal activa+75
Desbloquear un logro (badge)+200

Los 5 niveles

Los niveles se calculan con la XP total acumulada. No bajan nunca.

Nivel 1 Rookie 0 – 299 XP
Nivel 2 Pacer 300 – 699 XP
Nivel 3 Sprinter 700 – 1.499 XP
Nivel 4 Elite 1.500 – 2.999 XP
Nivel 5 Legend 3.000+ XP

Los 7 badges

Desbloquear cada logro da +200 puntos automáticamente.

LogroCómo se consigue
🥇 Primer eventoAsistir al primer evento
🏃 Club loverUnirse a 3 clubs o más
📊 Top 10Estar entre los 10 primeros del ranking mensual de HasPoints dentro de cualquiera de tus clubs. El ranking se reinicia cada mes, así que cualquier miembro puede conseguirlo si ese mes participa más que los demás.
🗺️ 5 ciudadesAsistir a eventos en 5 provincias distintas
👥 SocialSeguir a 10 personas o más
⭐ LegendAlcanzar el nivel máximo
🌅 MadrugadorAsistir a un evento que empieza antes de las 8:00

Las 9 fases de construcción

Las primeras fases son completamente invisibles para el usuario. Cuando llegue el momento de mostrarlo, los corredores activos ya tendrán semanas o meses de puntos acumulados — no arrancan de cero.

0
Fase
invisible
El motor de puntos
Duración estimada: 1 mes (incluye pruebas) · Fase 0

Se crea el sistema contable que registra cada punto ganado o gastado. Como un libro de cuentas bancario: cada acción genera una línea con el motivo, la cantidad y la fecha. El historial es permanente e inalterable.

Se conectan los dos primeros disparadores que ya existen en la app:

  • Inscripción a un evento → +50 puntos
  • Asistencia (QR escaneado) → +100 puntos

Protección: si el mismo evento se procesa dos veces por error, los puntos no se duplican.

Nada. Los puntos se acumulan en silencio.

En el panel de administración se ven los puntos por corredor. Si tras un evento real los asistentes tienen los puntos correctos, la fase funciona.

1
Fase
Los puntos aparecen en el perfil
Duración estimada: 1 mes (incluye pruebas) · Depende de: Fase 0

El servidor habilita que la app consulte el saldo de HasPoints. En el perfil del corredor aparece un bloque con los puntos disponibles y el total de eventos asistidos. El nivel y la barra de progreso llegan en la Fase 2.

El primer momento "wow". Abre el perfil y descubre que ya tiene puntos acumulados.
2
Fase
El nivel del corredor
Duración estimada: 3 semanas (incluye pruebas) · Depende de: Fase 1

El servidor calcula el nivel (Rookie → Legend), cuánta XP le falta para el siguiente y el porcentaje de progreso. En la app: nombre del nivel + icono, barra de progreso, XP total y contador de racha (informativo — los puntos de racha llegan en la Fase 5).

Hay que diseñar los iconos o ilustraciones de los 5 niveles.

Un nivel con nombre propio y una barra que motiva a seguir. Ver que está al 70% del camino hacia "Elite" empuja a apuntarse al siguiente evento.
3
Fase
invisible
Los logros: motor invisible
Duración estimada: 3 semanas · Depende de: Fases 0, 1 y 2
Esta fase solo construye el motor. La pantalla de logros llega en la Fase 4, para probar a fondo el motor antes de mostrárselo a nadie.

Catálogo de 7 logros con lógica de detección en tiempo real, en el momento exacto de la acción:

  • Al asistir: "Primer evento", "5 ciudades", "Madrugador", "Top 10"
  • Al unirse a un club: "Club lover"
  • Al seguir a alguien: "Social"
  • Al ganar puntos: "Legend"

Al desbloquear: se guarda con fecha y se añaden +200 puntos. Un logro ya conseguido no vuelve a dar puntos.

Nada. Los badges se desbloquean en silencio.
4
Fase
VPS Semi-Pro
Los logros: pantalla en la app
Duración estimada: 2 semanas (incluye pruebas) · Depende de: Fase 3

Cuadrícula con los 7 logros: los desbloqueados en color (nombre + fecha), los bloqueados en gris (con pista de qué falta).

Hay que diseñar los iconos o ilustraciones de los 7 logros.

Lo que más tiempo lleva en esta fase: la notificación en tiempo real. Cuando el corredor consigue un badge en ese instante (por ejemplo, escanean su QR y con esa asistencia completa "5 ciudades"), la app tiene que detectarlo al momento y mostrar la celebración sin que el usuario tenga que recargar nada. Eso requiere una conexión activa entre el servidor y la app que añade complejidad técnica significativa.

⚠️ Requisito de infraestructura: el tiempo real requiere un VPS semiprofesional de OVH como mínimo. Sin ese nivel de servidor, las notificaciones de badge no podrán ser en tiempo real.
Alternativa sin tiempo real: en lugar de depender de una conexión activa con el servidor, cada vez que el corredor abre su perfil la app hace una llamada automática para comprobar si ha ganado nuevos badges desde la última vez. Si los hay, los muestra en ese momento con su celebración. El corredor se entera igual — solo que al abrir la app, no en el instante exacto. Esta opción no requiere infraestructura adicional y reduce significativamente la complejidad técnica de la fase.
Una colección que invita a completar. Como el motor lleva semanas activo, muchos corredores ya tendrán badges la primera vez que abran esta pantalla.
5
Fase
La racha semanal
Duración estimada: 3 semanas (incluye pruebas) · Depende de: Fases 0, 1 y 2

Cuando alguien asiste a un evento, el sistema mira hacia atrás:

  • Asistió en los últimos 7 días → racha sube y se dan +75 puntos
  • No asistió en los últimos 7 días → racha se reinicia a 1

Protección: aunque vayas a varios eventos la misma semana, los 75 puntos solo se dan una vez (lunes a domingo). No hay procesos automáticos nocturnos — todo se calcula en el momento de la asistencia.

Un número de "semanas seguidas" que da rabia perder. La gente vuelve para no romper la racha.
6
Fase
Entradas de invitado
Duración estimada: 2 semanas (incluye pruebas) · Depende de: Fases 0 y 1

Al comprar varias entradas, puedes enviar las extras por email a tus invitados. Cuando el invitado asiste y le escanean la entrada, el comprador recibe +150 puntos. El invitado no necesita cuenta en Haslap.

  • Sistema para enviar entrada de invitado por email con QR, nombre del evento, fecha y lugar
  • Lógica que recuerda quién compró originalmente cada entrada
  • Protección: una entrada de invitado solo puede premiar una vez, aunque el QR se reenvíe
  • En la app: botón "Enviar a invitado" en "mis entradas"
Participar → traer invitados → ganar más puntos → participar más. Un ciclo natural de crecimiento.
7
Fase
Ranking de clubs y tienda de recompensas
Duración estimada: 2 – 3 meses · Depende de: todas las fases anteriores

Esta fase tiene dos partes que se construyen en orden.

Cada club tiene su propia clasificación mensual. Solo cuentan los puntos ganados en el mes en curso — no el total histórico de siempre. Esto es clave: significa que alguien que lleva poco tiempo en Haslap puede competir con los veteranos si ese mes participa más que ellos.

¿Cómo funciona en la práctica? Si estás en un club de corredores de tu ciudad, al entrar en la pantalla del club ves una tabla con todos los miembros ordenados por puntos de ese mes. Cada vez que asistes a un evento, tu posición sube. El 1.º de enero el marcador vuelve a cero para todos y empieza una competición nueva.

Tu posición siempre aparece resaltada en la tabla, aunque estés en el puesto 47 y no en el top 10 — así sabes exactamente cuánto te falta para subir.

Tres tipos de recompensas canjeables con HasPoints:

  • Descuentos en eventos Haslap — se aplican directamente al comprar la entrada
  • Recompensas de partners externos — cafés, tiendas deportivas, negocios locales (requiere la Fase 8)
  • Productos físicos de Haslap — camisetas, medallas, accesorios (via PrestaShop)

Al canjear: se descuentan los HasPoints y se genera un código único tipo HSL-4821 sin fecha de caducidad. El saldo nunca puede quedar en negativo.

Productos físicos vía PrestaShop — sin salir de la app: al canjear puntos por un producto físico, la app muestra el artículo al corredor (imagen, descripción, talla si aplica). Al confirmar, el sistema genera automáticamente un cupón del 100% y crea el pedido directamente en PrestaShop — el corredor no necesita ir a ninguna tienda online ni introducir ningún código. Solo confirma y listo. PrestaShop gestiona el stock, el envío y la confirmación por email. No hay que construir una tienda desde cero.
La tienda activa un ciclo: participar → acumular puntos → canjear → volver a participar.
8
Fase
VPS Semi-Pro
Portal para partners
Duración estimada: 1 – 2 meses · Depende de: Fase 7

El portal es una aplicación web independiente donde los negocios colaboradores — cafeterías, tiendas deportivas, fisioterapeutas, cualquier local que ofrezca recompensas — gestionan su participación en el programa.

  • Ver sus recompensas activas y el stock disponible
  • Validar un código introduciendo la referencia HSL-4821 para saber si es real y si no ha sido ya usado
  • Marcar el código como validado (por ejemplo, al entregar el café)
  • Consultar el historial completo de canjes del local

El portal es un producto distinto: tiene sus propios usuarios (los dueños de los locales), su propio sistema de acceso y su propia interfaz, completamente separada de la app de corredores. La complejidad es suficiente para justificar construirlo por separado, una vez que la tienda de recompensas está funcionando y hay partners reales con quien probarlo.

El portal de partners supone un nuevo tipo de tráfico: los locales lo consultarán durante el servicio, en horas punta, con necesidad de respuesta inmediata. Sumado al crecimiento acumulado del sistema de puntos, la validación de códigos en tiempo real y el ranking de clubs, se necesita un servidor con mayor capacidad.

Recomendación mínima: VPS semiprofesional de OVH. Antes de poner en producción la Fase 8, se recomienda migrar la infraestructura a un VPS semiprofesional de OVH. Garantiza tiempos de respuesta rápidos para el portal de partners y da margen de crecimiento para los siguientes años sin necesidad de intervenir de nuevo en la infraestructura a corto plazo.
Cierre del sistema. Con el portal activo, los negocios locales pueden unirse al programa de fidelización de Haslap y premiar a los corredores en la vida real.

Cronograma orientativo

Los tiempos incluyen margen para imprevistos, revisiones y pruebas.

PeriodoFaseLo que pasa
Mes 1Fase 0Motor de puntos invisible. Los corredores acumulan sin saberlo.
Mes 2Fase 1Los HasPoints aparecen en el perfil. Primer contacto del usuario.
Mes 2 – 3Fase 2El nivel y la barra de progreso. El perfil queda completo.
Mes 3Fase 3Motor de logros activo en silencio. Se acumulan badges sin verlos.
Mes 3 – 4Fase 4 ⚠️ VPS Semi-ProPantalla de badges en la app. Tiempo real requiere VPS Semi-Pro mínimo — sin él, el badge aparece al reabrir la app.
Mes 4Fase 5Racha semanal activa con puntos.
Mes 4 – 5Fase 6Entradas de invitado. Motor de crecimiento.
A partir de Mes 6Fase 7Ranking de clubs + tienda de recompensas (productos físicos vía PrestaShop, pedido automático). Según disponibilidad de partners.
Tras Fase 7Fase 8 ⚠️ VPS Semi-ProPortal para partners — cafeterías, tiendas deportivas y locales gestionan y validan sus recompensas.
Total estimado
~5 meses
Las fases 0 a 6 — el motor completo del sistema — se construyen en ~5 meses, incluyendo pruebas. Las fases 7 y 8 (tienda + portal de partners) arrancan cuando el negocio tenga partners disponibles para probarlas.

5 decisiones de negocio pendientes

No son decisiones técnicas. Deben estar claras antes de construir.

1
¿Cuánto "vale" un punto?

Hay que decidir la tasa de cambio antes de diseñar la tienda. Si es demasiado fácil conseguir puntos, los descuentos pierden valor. Si es demasiado difícil, nadie llega a canjear nada.

2
¿Qué pasa con los puntos acumulados a oscuras?

Cuando en la Fase 1 los corredores vean sus puntos por primera vez, algunos ya tendrán cientos. ¿Comunicarlo como un regalo o partir de cero? La primera opción genera mejor sensación.

3
¿Quiénes son los partners de la tienda?

Las recompensas de negocios externos requieren acuerdos comerciales reales. Es trabajo de ventas, no de tecnología, y lleva tiempo. Hay que empezar mucho antes de que la tienda esté lista.

4
¿Cómo se comunica cada lanzamiento?

El sistema sale a oscuras y se va revelando poco a poco. Sin comunicación, muchos usuarios ni se enterarán. Hay que planear notificaciones push, redes, email y anuncios dentro de la app.

5
¿Caducan los puntos?

¿Los HasPoints tienen fecha de caducidad si no se usan? ¿Qué ocurre si hay que corregir un error? El sistema técnico lo permite, pero la política es una decisión de negocio que hay que tener escrita antes de lanzar.