Mobile App

Color Sudoku Play

Variante visual del Sudoku donde los números se reemplazan por 9 colores. Misma lógica, experiencia completamente nueva. Diseño glassmorphism, duelos 1v1, sistema social, offline-first con event sourcing. Publicada en ambas tiendas.

Publicada en producciónv1.0.3 — Android + iOS

6,020

Puzzles

6

Dificultades

9

Colores

17+

Tablas en BD

11

Pantallas

v1.0.3

Versión actual

Funcionalidades

Características principales

Gameplay con Colores

Tablero de Colores

Los números del 1 al 9 se reemplazan por 9 colores distintos. Misma lógica del Sudoku clásico: cada fila, columna y caja 3×3 sin repetir.

Modos Clásico y Purista

Clásico con vidas, feedback de errores y pistas. Purista sin ayudas para jugadores avanzados.

Sistema de Notas

Mini círculos de color en cada celda para marcar candidatos posibles. Esencial para dificultades altas.

Accesibilidad

Diseñado para público amplio incluyendo personas con dislexia numérica y niños. Paleta para daltónicos preparada.

Social y Duelos

Duelos 1v1 en Tiempo Real

Mismo puzzle para ambos jugadores. Apuestas de 0, 10, 25, 50 o 100 monedas. Ganador recibe el doble. Supabase Realtime para detección de resultados.

Sistema de Amigos

Códigos de 6 caracteres, búsqueda por username, solicitudes (enviar, aceptar, rechazar, bloquear), leaderboard entre amigos.

Progresión y Engagement

Niveles y XP

XP base + bonificaciones (sin pistas, sin errores, daily). Niveles progresivos con economía de monedas.

Desafíos Diarios/Semanales

Puzzle diario igual para todos, retos semanales con objetivos progresivos y recompensas de XP + monedas.

Streaks con Shields

Rachas diarias con bonus crecientes y protección mediante streak shields.

Monetización

AdMob Integrado

Banners en Home, interstitiales cada 3 partidas (mín 60s), rewarded para pistas (90s cooldown) y monedas (+50, máx 10/día).

Suscripción Premium

$0.99/mes o $9.99/año: sin ads, beneficios adicionales. Integrado via react-native-iap v14.

Diseño Glassmorphism

Estética Diferenciada

Gradientes multicapa, superficies translúcidas con efecto glass, bordes semi-transparentes, círculos flotantes con blur.

Paleta Cyan/Coral

Identidad visual propia completamente distinta a Sudoku Play. Resultado del rediseño para superar Apple Guideline 4.3(a).

Tecnologías

Stack Tecnológico

Frontend / Mobile

React Native 0.81.5

New Architecture habilitada

Expo SDK 54

Build, distribución y OTA updates

React 19.1 + TypeScript 5.9

UI con tipado estático

Zustand 5

8 stores: game, user, auth, theme, premium, challenge, duel, friend

React Navigation 7

Stack navigation

Backend

Supabase

Auth, DB, Realtime, Edge Functions, RLS

Edge Functions (Deno)

validate-completion, sync-events

Supabase Realtime

postgres_changes para duelos en tiempo real

PostgreSQL

Schemas global + color_sudoku, 17+ tablas

Servicios Externos

Google AdMob

Banner, interstitial, rewarded

Firebase Crashlytics

Crash reporting en producción

Apple Sign In + Google OAuth

Autenticación nativa

EAS Build + Update

Cloud builds y OTA deployments

Almacenamiento Local

AsyncStorage

Cola de eventos offline, preferencias

expo-secure-store

Device ID, tokens cifrados

expo-sqlite

Puzzles y caché local

Librerías principales

@supabase/supabase-jsreact-native-google-mobile-adsreact-native-iap@react-native-firebase/crashlyticsexpo-linear-gradientexpo-hapticsexpo-avexpo-notificationsexpo-cryptoexpo-batteryexpo-auth-sessionexpo-apple-authentication@react-native-community/netinfoi18nextreact-native-gesture-handlerreact-native-view-shotexpo-sharingjsonwebtoken
Diseño

Decisiones de Arquitectura

Event Sourcing para Sync

Acciones como eventos inmutables con UUID. Cola local en AsyncStorage, envío en lotes. Servidor procesa idempotentemente y devuelve estado canónico. 9 tipos de eventos soportados.

Offline-First

Puzzles en SQLite, partidas en AsyncStorage, cola de eventos local. Debounce 5s, intervalo mín 30s entre syncs, máx 3 reintentos con delays progresivos (5s, 15s, 60s).

Multi-Schema Compartido

Mismo Supabase que Sudoku Play. Schema global para usuarios/amistades, color_sudoku para datos de juego. Vistas públicas con prefijo color_ como capa de abstracción.

Anti-Cheat Dual

Cliente calcula para feedback inmediato, servidor recalcula todo. Análisis de historial de movimientos, detección de tiempos imposibles, scoring de sospecha y shadow bans.

Zustand por Dominio

8 stores separados (game, user, auth, theme, premium, challenge, duel, friend). Renders selectivos y separación de concerns clara.

Realtime para Duelos

Supabase Realtime (postgres_changes) detecta cuando el oponente completa. Sincronización automática de monedas al completar, declinar o expirar.

Firma HMAC de Requests

Cada sync firmado con timestamp, nonce y deviceId. Servidor valida firma antes de procesar, previniendo manipulación en tránsito.

Ingeniería

Desafíos Técnicos Resueltos

Rechazo de Apple (Guideline 4.3a)

Problema: Apple rechazó la app por ser demasiado similar a Sudoku Play. Cambiar números por colores no fue suficiente diferenciación.

Solución: Rediseño completo con sistema glassmorphism: gradientes multicapa, superficies translúcidas, círculos flotantes, paleta cyan/coral.

→ App aprobada en App Store. El glassmorphism se convirtió en la identidad visual.

Sincronización Offline Robusta

Problema: Garantizar cero pérdida de datos sin conexión, incluyendo completados, compras y duelos.

Solución: Event Sourcing con cola persistente, UUIDs para idempotencia, reconciliación de estado, sync inteligente con nivel de batería.

→ Cero pérdida de datos reportada en producción.

Crashes Background en Android (Samsung)

Problema: Background fetch causa crashes críticos por restricciones agresivas de batería Samsung.

Solución: Detección platform-specific: deshabilita background fetch en Android, sync oportunista al abrir/completar/cambiar pantalla.

→ Eliminación completa de crashes, sin impacto perceptible.

Economía de Duelos Consistente

Problema: Garantizar manejo correcto de monedas en victoria, derrota, empate, rechazo, expiración, abandono.

Solución: Lógica server-side en funciones SQL transaccionales. Monedas atómicas. Cliente solo sincroniza saldo resultante.

→ Cero inconsistencias de saldo. Todos los edge cases cubiertos.

Base de Datos Compartida Multi-App

Problema: Dos apps compartiendo usuarios/amistades pero con datos de juego completamente separados.

Solución: Arquitectura multi-schema: global + schemas dedicados, naming con prefijos, vistas públicas como abstracción, RLS por schema.

→ Un jugador puede ser amigo en ambas apps con una sola cuenta, datos independientes.

Estado

Estado del Proyecto

Completado y en Producción

  • Gameplay completo con modos Clásico y Purista
  • Sistema de 9 colores con paleta diferenciada
  • Interfaz glassmorphism completa
  • Duelos 1v1 con apuestas y Realtime
  • Sistema de amigos con friend codes
  • Sincronización offline con event sourcing
  • Anti-cheat con validación server-side
  • Monetización AdMob + suscripción premium
  • Autenticación Google + Apple + invitado
  • Desafíos diarios/semanales
  • Internacionalización ES/EN
  • Onboarding interactivo de 6 slides
  • 9 migraciones SQL profesionales
  • Publicada en App Store y Google Play

Pendiente

  • Suscripciones IAP en ambas tiendas
  • Supabase Realtime para duelos
Resultados

Logros Destacados

Publicada en App Store y Google Play — superó rechazo de Apple y rediseño completo

Arquitectura Offline-First con Event Sourcing — cero pérdida de datos en producción

Anti-Cheat server-side con análisis de movimientos, tiempos imposibles y shadow bans

Duelos 1v1 con Supabase Realtime, apuestas de monedas y resolución de todos los edge cases

Infraestructura Multi-App compartida con Sudoku Play — mismos usuarios, datos separados

Rediseño glassmorphism que logró diferenciación visual para Apple Guideline 4.3(a)

6,020 puzzles con 6 niveles de dificultad

9 migraciones SQL profesionales con schemas, funciones, triggers, RLS y auditoría

Detalles

Información adicional

Idiomas

Español + Inglés

Modos

Clásico + Purista

Temas

Dark + Light (2 más planificados)

Puzzles

6,020 únicos

Paleta de Colores del Sudoku

Rojo coral

Turquesa

Azul cielo

Verde menta

Amarillo suave

Violeta

Naranja

Verde agua

Dorado

Schema global

Usuarios y amistades compartidas con Sudoku Play. Un jugador usa una sola cuenta para ambas apps.

Schema color_sudoku

17+ tablas: catálogo, completaciones, estadísticas, duelos, eventos, desafíos. Vistas públicas con prefijo color_.

Eventos sincronizables

PUZZLE_COMPLETEDPUZZLE_STARTEDPUZZLE_ABANDONEDHINT_USEDAD_WATCHEDSTREAK_SHIELD_USEDTHEME_PURCHASEDDAILY_CHALLENGE_COMPLETEDCHALLENGE_CLAIMED