Mobile App

Sudoku Play

Aplicación móvil completa de Sudoku con sistema de progresión, modo aventura con 5,900 niveles, duelos 1v1, funcionalidades sociales y monetización profesional. Arquitectura offline-first con sincronización por event sourcing. One-man project publicado en ambas tiendas.

Publicada en ambas tiendasEnero 2026 — v1.0.13Android + iOS

6,000

Puzzles únicos

5,900

Niveles Aventura

590

Mundos

13

Pantallas

14

Tipos de eventos

v1.0.13

Versión actual

Funcionalidades

Características principales

Core Gameplay

Tablero 9x9 Responsive

Mapeo táctil preciso respetando safe areas en todos los dispositivos.

Input por Drag

Mantener presionado 0.5s activa modo arrastre para colocar múltiples números deslizando por celdas.

Dos Modos de Juego

Clásico (feedback inmediato, vidas limitadas) y Purista (sin validación, sin ayudas).

Pistas Inteligentes

Identifican celdas pivote con cooldown de 1:30 minutos.

Undo Ilimitado + Autoguardado

Historial completo de movimientos. Autoguardado cada 10s, al pausar y al salir.

Modo Aventura

5,900 Niveles

590 mundos organizados en 6 capítulos con dificultad progresiva.

Mapa estilo Candy Crush

Camino sinuoso con nodos interactivos y niveles Boss.

Sistema de Corazones y Estrellas

Regeneración por tiempo, ads para recuperar, puertas que requieren estrellas acumuladas.

Progresión y Engagement

Economía Completa

XP, niveles de usuario, monedas in-game con multiplicadores por cadena.

Streaks con Shields

Rachas diarias con bonus crecientes y protección de racha.

Daily Challenge + Retos

Puzzle diario igual para todos, retos diarios y semanales con recompensas.

Sistema de Logros

Achievements con pantalla dedicada y tracking de progreso.

Social y Duelos

Sistema de Amigos

Códigos únicos de 6 caracteres, solicitudes, leaderboard con múltiples métricas.

Duelos 1v1

Mismo puzzle para ambos, apuestas con monedas, ganador por tiempo + errores.

Anti-trampa en Duelos

Sin pistas, sin pausa, sin guardado automático. Escrow de monedas server-side.

Monetización

Ads (AdMob)

Banner en Home (nunca en gameplay), interstitial entre partidas, rewarded para pistas y monedas.

Suscripción Premium

$0.99/mes o $9.99/año: sin ads, +50% monedas, 5 pistas por partida, temas exclusivos, corazones infinitos.

In-App Purchases

Integrado con App Store Connect y Google Play Console via react-native-iap v14.

Tecnologías

Stack Tecnológico

Frontend / Mobile

React Native 0.81

Framework base para Android e iOS

Expo SDK 54

Toolchain, builds y OTA updates

TypeScript 5.9

Tipado estático en todo el proyecto

Zustand 5

State management con persistencia

React Navigation 7

Navegación stack-based

Backend

Supabase

Auth, DB, Edge Functions, RLS

PostgreSQL

Schemas global + sudoku

Deno Edge Functions

sync-events, validate-completion

Row Level Security

Seguridad a nivel de fila

Servicios Externos

Google AdMob

Banner, interstitial, rewarded

Firebase Crashlytics

Crash reporting en tiempo real

Firebase Cloud Messaging

Push notifications

EAS Build + Update

Cloud builds y OTA updates

Almacenamiento Local

SQLite (expo-sqlite)

6,000 puzzles pre-cargados offline

AsyncStorage

Estado, config, progreso

expo-secure-store

Device ID y datos sensibles cifrados

Librerías principales

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

Decisiones de Arquitectura

Event Sourcing para Offline

Cada acción se registra como evento inmutable. El servidor los procesa en orden y es la fuente de verdad. Permite sincronización idempotente, auditoría completa y merge seguro multi-dispositivo.

Offline-First Real

6,000 puzzles en SQLite local, estado en memoria y AsyncStorage, cola de eventos offline. Funciona 100% sin internet.

"Gameplay Sagrado" — Cero I/O

Durante partida activa, cero operaciones de red o disco. Todo en RAM. Persistencia diferida con InteractionManager.runAfterInteractions(). 60 FPS garantizados.

Servidor como Fuente de Verdad

El cliente nunca es confiable para monedas, XP o compras. En duelos, las recompensas las maneja exclusivamente el servidor.

Sync con Condiciones Inteligentes

Evalúa WiFi vs datos, nivel de batería, modo ahorro y cantidad de eventos antes de sincronizar.

Anti-Cheat Silencioso

Análisis de patrones de juego, firma HMAC-SHA256, shadow bans sin alertar al tramposo.

Ingeniería

Desafíos Técnicos Resueltos

Renderizado de Notas en Samsung One UI

Problema: flexWrap difiere en Samsung, notas 3×3 se renderizaban mal.

Solución: Estructura explícita de 3×3 Views anidadas con dimensiones fijas.

→ Renderizado pixel-perfect en +50% del mercado Android.

Crashes de Background Fetch en Android

Problema: expo-task-manager causa NullPointerException en Samsung antes de inicializar JS.

Solución: Sync al volver a foreground en vez de background fetch.

→ Eliminación de crashes en producción.

Google Play Services Fallback

Problema: App crasheaba en Huawei/emuladores sin Play Services.

Solución: Servicio con detección de disponibilidad e imports dinámicos.

→ Funciona en todos los dispositivos.

IAP Plugin Missing en iOS

Problema: react-native-iap no incluido en plugins de app.json, excluyendo entitlement.

Solución: Plugin agregado + nuevo build nativo.

→ Suscripciones habilitadas en iOS.

Sync Multi-Dispositivo

Problema: Merge de estado genera conflictos en monedas entre dispositivos.

Solución: Event sourcing con UUID por evento. Servidor recalcula estado.

→ Cero pérdida de datos, auditoría completa.

Economía de Duelos

Problema: Math.max() para merge permitía exploits de monedas.

Solución: Escrow de monedas al crear/aceptar. Servidor autoritario.

→ Economía protegida contra exploits.

Performance en Partida

Problema: Persistencia y sync causaban micro-stutters.

Solución: "Gameplay sagrado": estado en RAM, autoguardado con debounce, I/O diferido.

→ 60 FPS constantes, autoguardado imperceptible.

Verificación AdMob

Problema: AdMob requería verificación de dominio para servir ads.

Solución: app-ads.txt en GitHub Pages + URL en ambas consolas.

→ Monetización activa en ambas plataformas.

Progreso

Estado del Proyecto — 13/13 Fases

Fase 1: Setup e Infraestructura

Fase 2: Generador de Puzzles

Fase 3: Core del Juego

Fase 4: Sistemas de Progresión

Fase 5: Autenticación y Sync

Fase 6: Monetización

Fase 7: Polish y Testing

Fase 8: Notificaciones y Onboarding

Fase 9: Seguridad y Anti-Cheat

Fase 10: Sincronización Offline

Fase 11: Optimización y Rendimiento

Fase 12: Sistema de Amigos

Fase 13: Duelos 1v1

En Producción

  • Publicada en Google Play y App Store
  • 2 Edge Functions desplegadas
  • AdMob verificado y activo
  • Crashlytics reportando en tiempo real
  • EAS Update para OTA deployments

Pendiente / En Progreso

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

Logros Destacados

Proyecto individual completo: diseño, desarrollo, publicación y mantenimiento en ambas tiendas

6,000 puzzles generados con algoritmo propio de backtracking en Python, 6 niveles de dificultad

5,900 niveles de Modo Aventura con mundos Boss, corazones y sistema de estrellas

Event Sourcing implementado desde cero con idempotencia, auditoría y detección de anomalías

Anti-cheat con análisis de patrones, HMAC-SHA256 y shadow bans silenciosos

Sistema social completo: amigos con códigos únicos, leaderboards, duelos 1v1 con apuestas

Offline-first real: 6,000 puzzles locales, estado en memoria, cola de eventos offline

"Gameplay sagrado" con cero I/O en partida activa, 60 FPS garantizados

Cross-platform con una sola codebase: React Native + Expo con builds nativos via EAS

13 fases de desarrollo completadas en ~3 semanas, desde setup hasta publicación

Detalles

Información adicional

Idiomas

Español + Inglés

Temas

Dark + desbloqueables

Puzzles

6,000 únicos

Modos

5 (Clásico, Purista, Daily, Duelos, Aventura)

Base de Datos

Schema global

Perfiles de usuario, preparado para múltiples juegos futuros.

Schema sudoku

Catálogo, completaciones, estadísticas, amigos, duelos, eventos, aventura.

Visión a Futuro

La arquitectura está preparada para evolucionar hacia una plataforma multi-juego con perfil global compartido, desafíos cross-game, leaderboards globales, eventos temporales y torneos. El schema global ya soporta múltiples aplicaciones conectadas.

Descargá Sudoku Play

Disponible gratis en Google Play y App Store.