Un nuevo hogar para mi contenido

Finalmente reconstruí mi sitio web usando las mejores tecnologías, y finalmente se siente como hogar.

Isaac RF
Isaac RF
4 minenesca
Finalmente reconstruí mi sitio web usando las mejores tecnologías, y finalmente se siente como hogar.

Primero, algo de contexto e introducciones

Sección titulada Primero, algo de contexto e introducciones

¡Hola! Soy Isaac — Desarrollador de Juegos Indie, Ingeniero de Software, Engineering Manager, y alguien que lleva ya bastante tiempo en el mundo de la tecnología. Me encanta desarrollar juegos, construir herramientas, y compartir lo que aprendo por el camino.

Hace algunos años decidí que era momento de tener un sitio donde mostrar mi trabajo y pasión, pero tenía que ser fácil de mantener y fácil de añadir nuevo contenido, así que pensé… ¡WordPress debería hacer las cosas fáciles! ¿Verdad? ¿Verdad…? Qué terrible error…

Así que mi primer intento acabó siendo una página súper lenta con un montón de plugins y un layout HTML generado que era una pesadilla de código espagueti, mezclando todo el código que metí entre las personalizaciones de plugins. Me costó un montón de esfuerzo hacer que se viera bien (lo cual honestamente creo que conseguí), pero el rendimiento era horrible.

Una mirada a mi antiguo sitio WordPress

Así que decidí que era momento de una reconstrucción completa. No solo un cambio de cara, sino un proyecto real, desde cero, que represente mejor mis habilidades.

Aún quería que fuera fácil de mantener, y pensé “tío, sería brutal si pudiera simplemente coger mis escritos de Notion, exportarlos como MD y consumirlos en mi blog”… Y entonces encontré Astro.


Hablemos de tecnología — porque si hay algo que he aprendido, es que la herramienta correcta hace la diferencia.

Elegí Astro como base para el sitio. ¿Por qué? Astro genera contenido estático en todos esos sitios donde el contenido no va a cambiar nunca (o al menos no en mucho tiempo), así que es ligero, súper rápido, y me permite escribir páginas limpias y enfocadas en contenido usando mis artículos escritos en otros sitios — sin todo el JS basura o la pesadilla de HTML espagueti en mis layouts.

¿Y para las partes donde necesito contenido más actualizado? Astro tiene Server Islands, que, cuando están correctamente cacheadas, sirven eficientemente contenido de diferentes fuentes como APIs.

Mis feeds en directo actualizados en la página principal: YouTube, Bluesky, GitHub y cara

Para las partes interactivas — como el widget de suscripción al newsletter o la búsqueda dinámica — recurrí a Svelte. Me encanta lo directo que es. Solo escribes lo que necesitas, sin líos de gestión de estado. Se integra suavemente con Astro y mantiene todo ágil.

Bajo el capó, Astro usa Vite, que hace que la experiencia de desarrollo sea súper suave y rápida. Los hot reloads son instantáneos, las builds son rápidas, y debuggear es mucho menos doloroso que con herramientas más antiguas.

Mientras Astro maneja el frontend, todavía necesitaba algo de lógica backend — especialmente para cosas como el sistema de newsletter en el que estoy trabajando. Para eso, levanté una API Symfony escrita en PHP. Es limpia, bien estructurada, y encaja como un guante para APIs pequeñas con justo la cantidad correcta de flexibilidad.

No estoy persistiendo datos ahí (al menos no por ahora), pero aún así es una API completa: protección CSRF, rate-limiting, y reenvío limpio a la API de Mautic (mi plataforma de email marketing de elección).

Todo esto corre localmente en Docker, lo que hace que probar el flujo completo — desde frontend hasta backend — sea suave como la seda. Tengo Mailhog corriendo para previsualizaciones de email, un contenedor completo PHP + Nginx para la API, y por supuesto, Astro corriendo en modo dev. Es rápido, está aislado, y puedo experimentar sin romper cosas.


Tengo la firme creencia de que todo el contenido debe ser fácilmente accesible y navegable por cualquiera, sin importar su situación. Así que traté de reflejar esto en mi diseño web. Estudié lectores de pantalla, principios de A11y, y usé herramientas como WAVE por WebAIM para verificar que todo fuera accesible.

Nunca había tenido una puntuación tan perfecta en Lighthouse. 🥹

Puntuación SEO de mi página


Añadí una capa de tests y verificaciones para asegurarme de que la aplicación no se rompe mientras la voy actualizando. Algunos son básicos, como validación de endpoints y verificaciones de tokens CSRF. Otros ayudan a asegurar que los servicios Docker se comporten como deberían cuando levantan o bajan cosas.

No se trata de hacer sobre-ingeniería — solo asegurarme de que cuando algo se rompa (y pasará 😂), sepa dónde buscar.


Este proyecto fue una forma de poner mi sitio en forma, pero también de recordarme por qué me encanta construir cosas. No se trata de ser llamativo o trendy — se trata de enviar algo que se siente bien, que hace su trabajo, y que estoy orgulloso de poder enseñar a la gente.

Todavía hay un montón de cosas que quiero añadir (y probablemente romperé cosas por el camino), pero por ahora… me siento como en casa.

Gracias por leer. 🙌

Isaac RF
Escrito por

Isaac RF

Software · Games · AI