Proyecto personal · En mi servidor · 2026
Rubik
Para practicar cubo de Rubik y otros puzzles, con mezclas oficiales y visor 3D.
Ver en vivo · rubik.rossmel.com ↗Mi rol
Todo: diseño, desarrollo y despliegue.
Stack
- JavaScript
- cubing.js
- WebAssembly
- HTML
- CSS
El problema
Practicar speedcubing necesita mezclas válidas y una forma de ver cada puzzle. Rubik genera mezclas oficiales (formato WCA) y muestra el puzzle en 3D, del cubo clásico a dodecaedros como el megaminx y el gigaminx.
Lo destacado
- 01Mezclas oficiales y visor 3D con cubing.js, la librería de la comunidad cubera, incluido su generador de mezclas en WebAssembly.
- 02Sin depender de CDNs: la librería va incluida en el propio sitio, así que funciona aunque un servicio externo falle.
- 03Modo práctica con el puzzle en 3D y modo para ver cada puzzle, en muchos tipos distintos.
- 04HTML, CSS y JavaScript sin framework, servido desde mi homelab.
Lo que aprendí
- → 01Incluir una librería completa no es solo copiar archivos: el generador de mezclas carga un módulo WebAssembly de forma dinámica, y si ese archivo falta, todo falla en silencio.
- → 02Probar en más de un navegador: un estilo que en Chromium no hacía nada rompía el 3D en Firefox.
- → 03Cuando el componente es una caja cerrada (shadow DOM cerrado), las capturas de pantalla automáticas son la mejor forma de verificar que de verdad se dibuja.
- → 04Cada puzzle tiene su notación: algunos movimientos de dodecaedros no se animaban y hubo que traducirlos a su forma equivalente.
En vivo
Corriendo en mi servidor
Proyectos que corren en mi homelab, bajo mi dominio. Entra a cada uno para ver cómo funciona.
- notebook.rossmel.comNotebookApuntes como un chat contigo mismo, con memoria: les preguntas, los buscas y estudias con flashcards. Open source.Ver detalles →
- selflix.rossmel.comSelflixMi propio "Netflix": un media center con Jellyfin en mi servidor casero.Ver detalles →
- manga.rossmel.comMangaMi propio lector de mangas: biblioteca compartida, progreso por persona y app en el celular.Ver detalles →
Siguiente proyecto
Selflix →