El problema
- Algo que hiciera que completar tareas se sintiera gratificante
- Un modo de enfoque integrado para que de verdad hiciera el trabajo
- Datos reales que mostraran en qué se iba mi tiempo
La solución
Features principales
Decisiones técnicas
¿Por qué Next.js + Supabase?
El motor de gamificación
// Streak multiplier calculation
const getStreakMultiplier = (streak: number): number => {
if (streak >= 30) return 3.0; // Monthly warrior
if (streak >= 7) return 2.0; // Weekly consistent
if (streak >= 3) return 1.5; // Getting momentum
return 1.0; // Starting fresh
};
// Points scale with task priority
const calculatePoints = (task: Task, streak: number): number => {
const basePoints = task.priority * 10;
const multiplier = getStreakMultiplier(streak);
const focusBonus = task.completedInFocusMode ? 1.5 : 1;
return Math.round(basePoints * multiplier * focusBonus);
};El reto de la sincronización en tiempo real
Resultados
| Métrica | Resultado |
|---|---|
| Usuarios activos | 500+ mensuales |
| Tareas completadas | 12,000+ registradas |
| Sesiones de enfoque/usuario (prom.) | 4.2 al día |
| Retención de usuarios (30 días) | 42% |
| Satisfacción de usuarios | 4.7★ promedio |
Lo que aprendí
1. Construye primero para ti
2. La gamificación es un arma de doble filo
3. Lo simple le gana a lo completo
Qué sigue
- Rankings semanales competitivos (opt-in) para quienes se motivan con la competencia
- Espacios de trabajo en equipo para grupos pequeños
- Sugerencias de tareas con IA basadas en patrones de productividad
Construido con: Next.js 14, TypeScript, Tailwind CSS, Supabase, Vercel
¿Quieres probarla? to-pra.vercel.app — es gratis. ¿Necesitas algo similar para tu equipo? Hablemos →
Cuéntame qué le está quitando horas a tu equipo
Llamada gratuita de 30 minutos, sin discurso de ventas: revisamos tu operación y te digo si puedo ayudarte — y cómo.Agenda una llamada
