Sitio web personal y jardín digital
jws.dev
Un sitio personal estático en inglés y en español: experiencia profesional, currículum, viajes, proyectos y actividad pública, con su propia API JSON y alojado por mí mismo tras NGINX.


De un vistazo
Estadísticas del proyecto
- Destinos de viaje
- 112
- Idiomas
- 2
- Tecnologías documentadas
- 84
- Colecciones de la API
- 14
- Disponibilidad
- 100 %En los últimos 30 días, según UptimeRobot.
- Días desde el último cambio
- 51
- Días desde la última compilación
- 0
Propósito y rumbo
El objetivo
jws.dev reúne mi trayectoria profesional, mis proyectos, mis viajes y mi actividad pública bajo un dominio que es mío y que alojo yo mismo. Está hecho deliberadamente para demostrar y no solo afirmar: cada página se prerrenderiza y NGINX la sirve como un archivo estático, de modo que Node.js solo lo usa el sistema de compilación y nunca al atender una petición. Todo el sitio se publica en inglés y en español, el mismo contenido está disponible en una API JSON con versiones para que se pueda crear una aplicación nativa sobre ella, y un conjunto de auditorías automáticas tiene que superarse antes de publicar una compilación.
Registro de cambios
Cambios recientes
Las últimas cosas que he documentado sobre jws.dev.
Lo que genera la compilación, fuera del repositorio
Los mapas estáticos, las tarjetas sociales, las métricas del sitio y las fotografías guardadas se regeneran en cada compilación, así que no tienen por qué estar versionados.
Una tarjeta de vista previa para cada página
Cada página tiene ahora su propia tarjeta dibujada —un título, una línea de contexto y mi retrato o la marca del sitio— en lugar del icono de la aplicación.
El mapa de un estado se abre sobre el estado
Abrir Nuevo México mostraba todo Estados Unidos: el mapa fijaba su límite de alejamiento antes de encuadrar la forma, y al encuadre no le quedaba margen para nada.
China, y Nuevo México
Dos incorporaciones a la sección de viajes: el viaje de 2018 por Shanghái, Wuxi, Suzhou y Pekín, y una página de Nuevo México salida de dos viajes familiares a Cimarron y Taos.
Conectado con mi experiencia
Tecnologías utilizadas
Elige una tecnología para leer más sobre mi experiencia con ella y sobre cómo la uso.
Explorar las tecnologías del proyecto
Preparado para un segundo frontend
La API JSON
El mismo contenido con el que se generan estas páginas se publica como una API JSON con versiones, para que se pueda crear una aplicación nativa sobre ella sin extraer los datos del sitio. La versión 1 ofrece 14 colecciones en 2 idiomas desde 15 endpoints.
Un cliente solo necesita una URL. El manifiesto enumera todas las colecciones con un hash de su contenido, de modo que una aplicación puede comparar hashes y saber qué ha cambiado desde su última sincronización antes de descargar nada.
Medido, no afirmado
Rendimiento y accesibilidad
Estas cifras se generan durante la compilación midiendo el resultado, así que describen la versión del sitio que estás leyendo y no un buen día en una herramienta de pruebas.
- Páginas prerrenderizadas
- 604Cada ruta es HTML estático; nada se genera al recibir una petición.
- JavaScript enviado
- 895 KBEn todo el sitio. Las islas interactivas solo se cargan donde una página las necesita.
- CSS enviado
- 120 KBEn todo el sitio, casi todo en una hoja de estilos que comparten todas las páginas.
- Página HTML mediana
- 50 KBSolo el HTML, sin scripts, estilos ni imágenes. La más grande ocupa 391 KB.
Puntuaciones de accesibilidad
- WCAG 2.2 A y AA
- 301 / 301Páginas sin fallos, comprobadas por axe-core en un navegador real.
- Contraste de color AAA
- 301 / 301Páginas en las que todo el texto alcanza 7:1, o 4,5:1 si es grande.
- Puntuación AIM de WebAIM
- 10,0 / 10Media de 8 páginas a través de la API de WAVE, medida el 4 de octubre de 2026.
axe-core 4.13.0 cargó todas las páginas en inglés en Chrome sin interfaz el 11 de noviembre de 2026, mapas incluidos, y las comprobó con las WCAG 2.0, 2.1 y 2.2 en los niveles A y AA, y con el nivel AAA de contraste. Las páginas en español comparten sus plantillas. Ninguna página falló ninguna comprobación. La puntuación AIM, de WebAIM, valora una página del 1 al 10 frente a un millón de páginas de inicio; 5 es más o menos la media.
Accesibilidad en las 604 páginas
- Declaran el idioma del documentotodas las páginas
- Tienen exactamente un encabezado principaltodas las páginas
- Tienen una región principaltodas las páginas
- Describen todas las imágenestodas las páginas
- Evitan los tabindex positivostodas las páginas
Son comprobaciones que una compilación puede hacer con honestidad; el contraste lo mide la ejecución en el navegador de arriba. El orden del foco se verifica a mano, porque hace falta un teclado de verdad para juzgarlo.
