Bienvenido a mi nuevo sitio personal
Hace unas semanas, decidí dejar de usar Twitter temporalmente, a pesar de que Twitter es, con mucho, mi red social favorita por varias razones. Entre ellas, sigo a personas que admiro y que me motivan a hacer cosas. Además, como desarrollador, es una excelente manera de saber sobre nuevas tecnologías y proyectos antes que nadie y siempre encuentras algo nuevo para aprender. Los memes son divertidos y, en general, siempre se encuentran cosas interesantes. Por último, es un gran lugar para conectar con personas de intereses comunes en todo el mundo.
Entonces, ¿cuál es el problema? Creo que Twitter no ha hecho un gran trabajo ayudándote a evitar el contenido que no deseas ver o que, en mi caso, me genera cierto grado de estrés y ansiedad. La guerra, la pandemia y la política en mi país, entre otros. En resumen, una bomba de información no deseada que no hace más que afectar mi estado mental y, por lo tanto, mi bienestar.
Durante el tiempo que he estado de vacaciones de Twitter, he estado tratando de encontrar una alternativa para no desconectarme del mundo. Pensé que un blog podría ser una excelente manera de lograrlo. Un par de razones:
- Un blog tiene la ventaja de ser un medio unidireccional para crear contenido, lo que significa que compartes información, pero no necesariamente recibes una respuesta inmediata, ni tienes que unirte a la conversación.
- Te permite generar contenido que no caduca tan rápidamente como en otras redes sociales y puede ser útil para más personas durante más tiempo.
- Si lo necesitas, puede ser una excelente manera de tener algo de contenido para compartir en tus redes sociales.
- Y finalmente (y tal vez lo más importante), necesitaba un sitio personal para compartir parte de mi trabajo.
Además, crear un blog fue uno de esos proyectos que tenía en mente desde hace mucho tiempo (creo que es algo de los desarrolladores de software 😅). Quería hacer algo muy personal y flexible en caso de que quisiera agregar más características.
Como no soy diseñador, pero esperaba tener un sitio bien diseñado y muy personal, pasé algo de tiempo tratando de encontrar inspiración y desarrollar ideas de cómo quería que se viera mi blog. Por ejemplo, una de las cosas que quería era poder agregar algunos "easter eggs" (solo porque puedo 🤷♂️). ;e pareció que agregar memes sería una forma de lograrlo, y a todos les encantan los memes, ¿verdad? Finalmente, pensé, ¡hey! ¿Y si yo mismo soy el meme?
Para hacer esto, primero tuve que crear un personaje y, como me gustan las tiras cómicas, intenté inspirarme en ilustradores como Sarah Andersen, Quino, Fowls comics, The Oatmeal y muchos más que me gustan.
Así que me puse manos a la obra y comencé a hacer bocetos rápidos de este personaje "Alfonso" que puedes ver en todas partes de este sitio.
Utilicé una mezcla de paciencia, una tableta Wacom y algo de magia con Affinity Photo y Affinity Designer hasta obtener lo que sería mi avatar (y quién sabe, tal vez un personaje de mi webcómic en el futuro).
En cuanto al diseño, mi objetivo era crear un sitio minimalista pero divertido y lleno de memes. Estas son algunas de las cosas que dibujé en mi cuaderno:
El diseño evolucionó a medida que avanzaba con el sitio web. No utilicé todos los elementos que inicialmente había ideado y agregué algunos nuevos que dieron como resultado el sitio web que estás viendo.
Tecnología
En cuanto a la tecnología, a pesar de considerarme un "Vue-boy", opté por hacer mi sitio en React + Next.js en esta ocasión. Algunas de las razones:
- Debido a la integración que tiene con Vercel.
- Porque quería aumentar mi portafolio con React.
- Quería experimentar con la tecnología de sitio estático de Next.js.
Por supuesto, elegí TailwindCSS para el estilo, que básicamente es lo mejor que me ha pasado como desarrollador web en mucho tiempo.
Sobre la generación de sitios estáticos
Quería que este sitio fuera rápido y obtuviera una puntuación del 100% en Lighthouse, y la mejor manera de lograrlo era con un sitio estático. El problema con los sitios estáticos es que no es fácil actualizar el contenido, ya que tienes que recompilar el sitio cada vez que ajustas algo. Además, el contenido no es exactamente dinámico (como se esperaría de un blog) ya que no realiza llamadas al servidor.
Aquí tienes un resumen rápido de lo que hice para resolver el problema:
Creé un administrador de contenido con Laravel Nova donde puedo agregar proyectos, publicaciones de blog y ajustar mi currículum (que también está alojado en este sitio). Configuré los distintos modelos de base de datos para marcar el sitio como "caducado" cada vez que modifico algo y agregué un cron-job que verifica cuándo vence el contenido y, si es así, llama a un deploy hook de Vercel que le indica a Vercel que necesita recompilar.
En el peor de los casos, el sitio estará desincronizado durante 2 minutos, pero tampoco soy CNN, así que no me importa ¯_(ツ)_/¯
¿Qué te pareció el sitio?
¿Pudiste encontrar todos los memes ocultos?
Me encantaría leer tus comentarios. Escríbeme a través de Twitter o utiliza el formulario de contacto. Prometo añadir una forma de comentar directamente en este sitio pronto.
– Alfonso