Volver al blog
⚙️Tech

Documentación

Esta web no es un proyecto open source, por lo que me gustaría documentar a grandes rasgos la arquitectura de la misma aquí.


Stack Tecnológico

Categoría Tecnología
Framework Next.js 16.2.1 (App Router)
UI Library React 19.2.4
Animaciones Framer Motion 12.38.0
Estilos CSS Modules (sin Tailwind)
Contenido Markdown via gray-matter, remark, remark-gfm, remark-html
Tipografía Google Fonts: Inter (sans) + JetBrains Mono (mono)
Lenguaje TypeScript 5
Deployment Vercel/Netlify ready (static export) - Actualmente en Claudflare Pages

Rutas y Páginas

Ruta Tipo Descripción
/ Static Single-page portfolio con scroll suave entre secciones
/blog Static Listado de posts con filtros por tag (Tech, Personal, Otro)
/blog/[slug] SSG Post individual generado desde Markdown

Blog / CMS

Utilidades (lib/posts.ts)

  • getAllPosts(): Lista todos los posts ordenados por fecha
  • getPost(slug): Obtiene post individual por slug
  • getPostsByTag(tag): Filtra posts por tag
  • Soporte para YouTube: URL en línea separada = embed automático

Decisiones de Arquitectura

  1. CSS Modules sobre Tailwind: Estilos scoped sin utility classes
  2. Markdown CMS: Contenido simple en archivos .md, sin base de datos
  3. Static Generation: Blog pre-renderizado en build time
  4. Client Components: Componentes con 'use client' para animaciones
  5. Chile-focused: Dado que mi target de clientes es de Chile por ahora -> Precios en CLP, contacto WhatsApp, contenido en español
  6. Sin DB: Todo el contenido vive en /content/posts/
  7. Geo-targeting: CountryBadge detecta país del visitante vía IP API