Deen
Super-app islámica construida de extremo a extremo — del gateway en Rust al renderer de Corán en GPU.
- Rust
- Axum
- Pingora
- NATS
- UniFFI
- React Native
- Skia
- WebXR
Arquitectura políglota de 10 microservicios con gateway Pingora y outbox NATS, reuso de código a través del límite de lenguaje (el mismo crate Rust corre en el server y dentro de la app vía UniFFI), y craft visual con starfield procedural de color astronómico.
Microservicios
Rutas
Tests Rust
Paletas WCAG-AA
Una super-app que no puede permitirse inconsistencias
Cálculos religiosos sensibles (horarios de oración, calendario) que deben dar exactamente el mismo resultado en el servidor y en el dispositivo, dentro de un sistema con muchos servicios independientes.
Rust de punta a punta y eventos por outbox
Modelé el dominio en crates Rust reutilizables y los expuse a la app vía UniFFI: el mismo código de prayer-times en server y cliente, sin reimplementar. La consistencia entre servicios se garantiza con un outbox transaccional sobre NATS y un gateway Pingora que centraliza auth.
Políglota por fuera, coherente por dentro
108 rutas, 10 servicios, ~1.500 tests, y una capa visual cuidada — del Mushaf en GPU al cielo estrellado por clase espectral — sobre una base que no se contradice a sí misma.
Lo que se ve
Prayer Landscape
Las 6 oraciones ciclando (Fajr → Isha) en GPU Skia
Cielo por clase espectral
Color de estrella físicamente derivado
Luna creciente
Luna SVG fotorrealista sobre vacío estrellado
Topología
clientes → Pingora → 10 servicios → Postgres/Redis/NATS
Una pieza load-bearing
Código real del proyecto — la parte que sostiene la idea.
// LCG determinista -> mismo cielo en server y cliente, sin hidratación rota.
function seededRng(seed: number) {
let s = seed >>> 0;
return () => {
s = (s * 1664525 + 1013904223) >>> 0;
return s / 0xffffffff;
};
}
/** Color astronómico: 70% blancas, 18% cálidas (G/K), 12% frías (B/A). */
function starColor(hue: number) {
if (hue < 0.7) return "rgb(255,255,255)";
if (hue < 0.88) return "rgb(255,239,200)";
return "rgb(207,225,255)";
}Starfield por clase espectral. PRNG determinista (mismo cielo en server y cliente, sin hidratación rota) y color de estrella derivado de su clase espectral.
En concreto
10 microservicios (9 Rust/Axum + 1 Hono) tras un gateway Pingora con JWT Ed25519.
Outbox transaccional sobre NATS para eventos consistentes entre servicios.
El mismo crate Rust de prayer-times corre en el server y dentro de la app RN vía UniFFI.
Renderer del Mushaf en GPU con Skia y experiencias WebXR.
Sistema de 5 paletas accesibles WCAG-AA y starfield con color de estrella por clase espectral.