[
  {
    "slug": "deko",
    "title": "Comercial DEKO",
    "description": "Tienda ecommerce en producción para materiales eléctricos, iluminación, herramientas y ferretería, desplegada en Medusa para un cliente real en Tunja. Catálogo con categorías, cotizaciones por WhatsApp y marcas aliadas (Schneider, Siemens, Philips, Bosch).",
    "longDescription": "Proyecto ecommerce desplegado en producción para Comercial DEKO en Tunja. Se partió del stack Medusa DTC para entregar un catálogo con variantes y categorías, promociones, cotizaciones por WhatsApp y gestión de inventario. Frontend en Next.js con ISR, backend Medusa con Postgres y Redis, almacenamiento en Cloudflare R2, pagos con Stripe y despliegue en VPS con Dokploy, Traefik y Cloudflare. Incluye onboarding de productos y soporte post-lanzamiento para el cliente.",
    "highlights": [
      "Despliegue en producción para cliente real en Tunja",
      "Catálogo con categorías, variantes y marcas aliadas",
      "Cotizaciones por WhatsApp integradas"
    ],
    "date": "2026-07-09",
    "category": "Web App",
    "role": "Full-stack / Despliegue cliente",
    "technologies": [
      "Medusa",
      "Next.js",
      "TypeScript",
      "PostgreSQL",
      "Redis",
      "Docker",
      "Stripe",
      "Traefik",
      "Cloudflare R2",
      "Dokploy"
    ],
    "liveUrl": "https://comercialdeko.com",
    "githubUrl": null,
    "isPrivate": false,
    "imageUrl": "https://aserturik.dev/_astro/deko.DQuat-rN_ZUo7uW.webp"
  },
  {
    "slug": "sadscript",
    "title": "SadScript",
    "description": "Lenguaje de programación creado desde cero, con documentación en Starlight. Un proyecto que demuestra diseño de lenguajes, parsing y tooling propio.",
    "longDescription": "Lenguaje de programación diseñado desde cero con lexer, parser y documentación interactiva en Starlight. Incluye sintaxis propia, ejemplos ejecutables y guía de referencia. Surgió como proyecto de exploración de diseño de lenguajes y tooling, con foco en mensajes de error claros y documentación navegable.",
    "highlights": [
      "Lexer y parser implementados desde cero",
      "Documentación interactiva con Starlight y ejemplos",
      "Sintaxis y mensajes de error diseñados para claridad"
    ],
    "date": "2026-05-19",
    "category": "Lenguajes",
    "role": "Creador",
    "technologies": [
      "TypeScript",
      "Astro",
      "MDX",
      "Starlight",
      "Lex"
    ],
    "liveUrl": null,
    "githubUrl": "https://github.com/Aserturik/sadScript",
    "isPrivate": false,
    "imageUrl": "https://aserturik.dev/_astro/sadscript.CU5L5lxm_ZTz7Ns.webp"
  },
  {
    "slug": "algorithm-simulator",
    "title": "Algorithm Simulator",
    "description": "Simulador interactivo de algoritmos de planificación de CPU (SRTF, RRV, MLFQ) con gráficos Gantt en tiempo real. Demo pública en Vercel.",
    "longDescription": null,
    "highlights": [],
    "date": "2026-03-01",
    "category": "Simulación",
    "role": "Creador",
    "technologies": [
      "Next.js",
      "TypeScript",
      "Tailwind CSS",
      "Zod",
      "React Hook Form"
    ],
    "liveUrl": "https://scheduling-algorithm-simulator.vercel.app/",
    "githubUrl": "https://github.com/Aserturik/AlgorithmSimulator",
    "isPrivate": false,
    "imageUrl": "https://aserturik.dev/_astro/algorithm-simulator.C8CMOmKc_1ql0F.webp"
  },
  {
    "slug": "serviperfilesayc-app",
    "title": "ServiPerfiles A&C — App Full-Stack",
    "description": "Sistema SaaS de gestión para el taller: empleados, productos, materiales, cotizaciones y nóminas, con autenticación Firebase y roles dinámicos (SUPER_ADMIN, MANAGER, SUPERVISOR, EMPLOYEE). Frontend en React 19 con Vite y HeroUI, backend en FastAPI con PostgreSQL y arquitectura hexagonal.",
    "longDescription": null,
    "highlights": [],
    "date": "2025-08-10",
    "category": "Web App",
    "role": "Full-stack",
    "technologies": [
      "React 19",
      "TypeScript",
      "Vite",
      "HeroUI",
      "Tailwind CSS",
      "Firebase",
      "Bun",
      "FastAPI",
      "Python",
      "PostgreSQL",
      "Docker",
      "Traefik",
      "Hexagonal"
    ],
    "liveUrl": null,
    "githubUrl": null,
    "isPrivate": true,
    "imageUrl": "https://aserturik.dev/_astro/serviperfilesayc-app.CRnUuelN_1uxEyi.webp"
  },
  {
    "slug": "serviperfilesayc-web",
    "title": "ServiPerfiles A&C — Landing Web",
    "description": "Landing page en producción para ServiPerfiles A&C, taller de ornamentación, cubiertas y dobladora en Samacá, Boyacá: servicios, galería de trabajos y contacto.",
    "longDescription": null,
    "highlights": [],
    "date": "2025-06-09",
    "category": "Landing",
    "role": "Frontend",
    "technologies": [
      "Astro",
      "TypeScript",
      "CSS",
      "Cloudflare"
    ],
    "liveUrl": null,
    "githubUrl": null,
    "isPrivate": false,
    "imageUrl": "https://aserturik.dev/_astro/serviperfilesayc-web.CS3R-mIj_2hvBzl.webp"
  },
  {
    "slug": "finnancy-app",
    "title": "Finnancy",
    "description": "Aplicación de finanzas personales desarrollada como proyecto de Ingeniería de Software 2. Frontend en React con Vite y backend en Java.",
    "longDescription": null,
    "highlights": [],
    "date": "2025-05-10",
    "category": "Web App",
    "role": "Full-stack",
    "technologies": [
      "React",
      "Vite",
      "JavaScript",
      "Java"
    ],
    "liveUrl": null,
    "githubUrl": "https://github.com/Aserturik/finnancy-front",
    "isPrivate": true,
    "imageUrl": "https://aserturik.dev/_astro/finnancy-app.Dx3S_LMk_Z9fPmt.webp"
  },
  {
    "slug": "arqueria-simulacion",
    "title": "Simulación de Arquería",
    "description": "Aplicación web en Flask que simula competencias de arquería por turnos entre equipos, con generación de jugadores, puntuación y visualización de resultados mediante gráficos y tablas.",
    "longDescription": null,
    "highlights": [],
    "date": "2025-03-17",
    "category": "Juegos",
    "role": "Creador",
    "technologies": [
      "Python",
      "Flask",
      "HTML",
      "CSS",
      "JavaScript"
    ],
    "liveUrl": null,
    "githubUrl": "https://github.com/Aserturik/arqueria-simulacion",
    "isPrivate": false,
    "imageUrl": "https://aserturik.dev/_astro/arqueria-simulacion.bKH2sRhs_2qIN0i.webp"
  },
  {
    "slug": "linux-dotfiles",
    "title": "Dotfiles — BSPWM",
    "description": "Entorno BSPWM con 18 temas y selector de tema en vivo. Riceo de escritorio Linux configurable y portable.",
    "longDescription": null,
    "highlights": [],
    "date": "2024-12-25",
    "category": "DevOps",
    "role": "Autor",
    "technologies": [
      "Shell",
      "BSPWM",
      "Linux"
    ],
    "liveUrl": null,
    "githubUrl": "https://github.com/Aserturik/dotfiles",
    "isPrivate": false,
    "imageUrl": "https://aserturik.dev/_astro/linux-dotfiles.qxXwyHnj_Z2s4EJO.webp"
  },
  {
    "slug": "typing-test",
    "title": "Typing Test (Java AWT)",
    "description": "Aplicación de mecanografía interactiva en Java con Java AWT, siguiendo arquitectura MVP para separar vista, lógica y presentación.",
    "longDescription": null,
    "highlights": [],
    "date": "2023-05-09",
    "category": "Escritorio",
    "role": "Creador",
    "technologies": [
      "Java",
      "Java AWT",
      "MVP"
    ],
    "liveUrl": null,
    "githubUrl": "https://github.com/Aserturik/Typing-Test-Java-AWT",
    "isPrivate": false,
    "imageUrl": "https://aserturik.dev/_astro/typing-test.Ds3NhCL4_2dLpIe.webp"
  },
  {
    "slug": "air-trafic-control",
    "title": "Air Traffic Control",
    "description": "Juego de control de tráfico aéreo en Java Swing donde controlás aviones con el mouse para aterrizarlos. Usa arquitectura MVP y concurrencia/multithreading para mayor realismo.",
    "longDescription": null,
    "highlights": [],
    "date": "2023-05-03",
    "category": "Juegos",
    "role": "Creador",
    "technologies": [
      "Java",
      "Java Swing",
      "MVP",
      "Concurrencia"
    ],
    "liveUrl": null,
    "githubUrl": "https://github.com/Aserturik/Air-Trafic-Control",
    "isPrivate": false,
    "imageUrl": "https://aserturik.dev/_astro/air-trafic-control.CsCvseM1_2qUiWp.webp"
  }
]