{"id":26,"date":"2025-12-12T08:42:33","date_gmt":"2025-12-12T13:42:33","guid":{"rendered":"https:\/\/juansebastianmendez.com\/?page_id=26"},"modified":"2026-03-27T12:24:15","modified_gmt":"2026-03-27T17:24:15","slug":"proyectos","status":"publish","type":"page","link":"https:\/\/juansebastianmendez.com\/en\/proyectos\/","title":{"rendered":"Projects"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"26\" class=\"elementor elementor-26\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f3fcf0e e-flex e-con-boxed e-con e-parent\" data-id=\"f3fcf0e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-e29183a e-con-full e-flex e-con e-child\" data-id=\"e29183a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-03202b5 e-con-full scroll-proyectos e-grid e-con e-child\" data-id=\"03202b5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-735bec8 e-con-full proyecto-card e-flex e-con e-child\" data-id=\"735bec8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-69a6df1 e-con-full e-flex e-con e-child\" data-id=\"69a6df1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9d91c90 elementor-widget elementor-widget-image\" data-id=\"9d91c90\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2560\" height=\"1969\" src=\"https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2025\/12\/etno-dj-scaled.png\" class=\"attachment-full size-full wp-image-113\" alt=\"\" srcset=\"https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2025\/12\/etno-dj-scaled.png 2560w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2025\/12\/etno-dj-300x231.png 300w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2025\/12\/etno-dj-1024x788.png 1024w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2025\/12\/etno-dj-768x591.png 768w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2025\/12\/etno-dj-1536x1182.png 1536w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2025\/12\/etno-dj-2048x1575.png 2048w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a3ff40a e-con-full e-flex e-con e-child\" data-id=\"a3ff40a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-09fa8a6 elementor-widget elementor-widget-heading\" data-id=\"09fa8a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/juansebastianmendez.com\/etnodj\/\">EtnoDJ<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c158ced elementor-widget elementor-widget-text-editor\" data-id=\"c158ced\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Exploratorio sonoro de Colombia que teje un archivo colectivo de los sonidos del pa\u00eds, para crear composiciones por medio de una consola digital que mezcla.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fcff90c e-con-full proyecto-card e-flex e-con e-child\" data-id=\"fcff90c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-cd6dd63 e-con-full e-flex e-con e-child\" data-id=\"cd6dd63\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e41a51a elementor-widget elementor-widget-image\" data-id=\"e41a51a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"352\" height=\"367\" src=\"https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/SERG.png\" class=\"attachment-large size-large wp-image-844\" alt=\"\" srcset=\"https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/SERG.png 352w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/SERG-288x300.png 288w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/SERG-12x12.png 12w\" sizes=\"(max-width: 352px) 100vw, 352px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b1b2fb3 e-con-full e-flex e-con e-child\" data-id=\"b1b2fb3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-463aa02 elementor-widget elementor-widget-heading\" data-id=\"463aa02\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/juansebastianmendez.com\/serg\/\">SERG<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c09b4c6 elementor-widget elementor-widget-text-editor\" data-id=\"c09b4c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Shifting Euclidean Rhythm Generator (SERG) es una herramienta de composici\u00f3n musical para crear ritmos musicales \u00fanicos que cambian con el tiempo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-073ee73 e-con-full proyecto-card e-flex e-con e-child\" data-id=\"073ee73\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-e6a2dd8 e-con-full e-flex e-con e-child\" data-id=\"e6a2dd8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0d528c1 elementor-widget elementor-widget-image\" data-id=\"0d528c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"742\" height=\"815\" src=\"https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/image.png\" class=\"attachment-large size-large wp-image-838\" alt=\"\" srcset=\"https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/image.png 742w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/image-273x300.png 273w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/image-11x12.png 11w\" sizes=\"(max-width: 742px) 100vw, 742px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4bc145e e-con-full e-flex e-con e-child\" data-id=\"4bc145e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b5bac37 elementor-widget elementor-widget-heading\" data-id=\"b5bac37\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/juansebastianmendez.com\/dirsim\/\">DirSim<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14b0695 elementor-widget elementor-widget-text-editor\" data-id=\"14b0695\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Sistema de control y visualizaci\u00f3n de audio que ofrece una experiencia musical inmersiva de direcci\u00f3n musical.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e645bf2 e-con-full proyecto-card e-flex e-con e-child\" data-id=\"e645bf2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-123ca88 e-con-full e-flex e-con e-child\" data-id=\"123ca88\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8f936af elementor-widget elementor-widget-image\" data-id=\"8f936af\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"171\" height=\"190\" src=\"https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/Legato.png\" class=\"attachment-full size-full wp-image-905\" alt=\"\" srcset=\"https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/Legato.png 171w, https:\/\/juansebastianmendez.com\/wp-content\/uploads\/2026\/03\/Legato-11x12.png 11w\" sizes=\"(max-width: 171px) 100vw, 171px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8534fa3 e-con-full e-flex e-con e-child\" data-id=\"8534fa3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1625163 elementor-widget elementor-widget-heading\" data-id=\"1625163\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/juansebastianmendez.com\/legato\/\">Legato<\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0419532 elementor-widget elementor-widget-text-editor\" data-id=\"0419532\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Aplicaci\u00f3n m\u00f3vil que funciona como plataforma para que m\u00fasicos creen networking y encontren ofertas de trabajo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3eb40b4 e-flex e-con-boxed e-con e-parent\" data-id=\"3eb40b4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d482fa3 elementor-widget elementor-widget-html\" data-id=\"d482fa3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/p5.js\/1.4.0\/p5.min.js\"><\/script>\n\n<style>\n  #aurora-final-canvas {\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    z-index: -1;\n    pointer-events: none;\n  }\n  \n.proyecto-card {\n    position: relative; \n    background: rgba(11, 13, 21, 0) !important; \/* Fondo transparente *\/\n    border: 0px solid rgba(255, 255, 255, 0.1) !important; \n    border-radius: 12px !important;\n    padding: 10px !important;\n    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;\n    overflow: hidden; \n}\n\n.proyecto-card img {\n    \/* Estado Normal: Sombra verde *\/\n    box-shadow: 0px 0px 8px 5px rgba(120, 174, 96, 1) !important;\n    transition: box-shadow 0.1s ease-in-out !important;\n    border-radius: 12px !important;\n    display: block;\n}\n\n.proyecto-card:hover {\n    transform: translateY(-5px); \n    border-color: rgba(120, 174, 96, 1) !important; \n    box-shadow: 0px 0px 8px 5px rgba(120, 174, 96, 0.6) !important; \n    \n    backdrop-filter: blur(5px) !important;\n    -webkit-backdrop-filter: blur(5px);\n    cursor: pointer; \n}\n\n.proyecto-card:hover img {\n    opacity: 1 !important;\n    box-shadow: none !important; \n}\n\n\n<\/style>\n\n<script>\n\/\/ --- VARIABLES GLOBALES ---\nlet t = 0; \nlet stars = []; \nlet shootingStars = [];\n\nfunction setup() {\n  let canvas = createCanvas(windowWidth, windowHeight);\n  canvas.id('aurora-final-canvas');\n  \n  \/\/ Inicializar estrellas est\u00e1ticas\n  for (let i = 0; i < 200; i++) {\n    stars.push({\n      x: random(width),\n      y: random(height),\n      size: random(0.5, 3), \n      baseAlpha: random(50, 200) \n    });\n  }\n}\n\nfunction draw() {\n  \/\/ 1. LIMPIEZA DEL FONDO (Modo BLEND para que limpie bien el frame anterior)\n  blendMode(BLEND); \n  background(11, 12, 21); \n\n  \/\/ 2. ACTIVAR MODO NE\u00d3N (Para que las luces brillen)\n  blendMode(ADD);\n\n  \/\/ ==========================================\n  \/\/ CAPA 1: ESTRELLAS\n  \/\/ ==========================================\n  noStroke(); \n  \n  for (let s of stars) {\n    let flicker = noise(s.x * 0.01, t * 2) * 50; \n    fill(255, 255, 255, s.baseAlpha - flicker);\n    ellipse(s.x, s.y, s.size);\n  }\n\n  \/\/ Estrellas Fugaces\n  if (random(1) < 0.01) { \n    shootingStars.push(createShootingStar());\n  }\n\n  for (let i = shootingStars.length - 1; i >= 0; i--) {\n    let ss = shootingStars[i];\n    ss.x += ss.vx;\n    ss.y += ss.vy;\n    ss.life -= 4; \n\n    if (ss.life > 0) {\n      let tailLength = 60;\n      \n      strokeWeight(2);\n      stroke(255); \n      \n      let gradient = drawingContext.createLinearGradient(ss.x, ss.y, ss.x - ss.vx*tailLength, ss.y - ss.vy*tailLength);\n      gradient.addColorStop(0, `rgba(255, 255, 255, ${ss.life\/255})`);\n      gradient.addColorStop(1, 'rgba(255, 255, 255, 0)');\n      \n      drawingContext.strokeStyle = gradient;\n      line(ss.x, ss.y, ss.x - ss.vx*tailLength, ss.y - ss.vy*tailLength);\n      \n      noStroke(); \n      \n    } else {\n      shootingStars.splice(i, 1); \n    }\n  }\n  \n  t += 0.01; \n}\n\nfunction createShootingStar() {\n  return {\n    x: random(width),\n    y: random(-50, height\/3),\n    vx: random(10, 25),\n    vy: random(5, 10),\n    life: 150\n  };\n}\n\nfunction windowResized() {\n  resizeCanvas(windowWidth, windowHeight);\n  stars = [];\n  setup();\n}\n\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ 1. Seleccionamos todas las tarjetas\n    var cards = document.querySelectorAll('.proyecto-card');\n\n    cards.forEach(function(card) {\n        \/\/ 2. Le a\u00f1adimos un \"escucha\" para el clic\n        card.addEventListener('click', function(e) {\n            \/\/ 3. Buscamos el enlace (etiqueta 'a') dentro de ESTA tarjeta\n            var link = card.querySelector('a');\n            \n            \/\/ Si encontramos un enlace...\n            if(link) {\n                \/\/ Verificamos si el usuario no est\u00e1 seleccionando texto (para no molestar)\n                var selection = window.getSelection().toString();\n                if(selection.length > 0) return;\n\n                \/\/ 4. Redirigimos a la URL del enlace\n                \/\/ Verificamos si el enlace tiene target=\"_blank\" para abrir en pesta\u00f1a nueva\n                if (link.target === \"_blank\") {\n                    window.open(link.href, '_blank');\n                } else {\n                    window.location.href = link.href;\n                }\n            }\n        });\n    });\n});\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>EtnoDJ Exploratorio sonoro de Colombia que teje un archivo colectivo de los sonidos del pa\u00eds, para crear composiciones por medio de una consola digital que mezcla. SERG Shifting Euclidean Rhythm Generator (SERG) es una herramienta de composici\u00f3n musical para crear ritmos musicales \u00fanicos que cambian con el tiempo. DirSim Sistema de control y visualizaci\u00f3n de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-26","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/juansebastianmendez.com\/en\/wp-json\/wp\/v2\/pages\/26","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/juansebastianmendez.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/juansebastianmendez.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/juansebastianmendez.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/juansebastianmendez.com\/en\/wp-json\/wp\/v2\/comments?post=26"}],"version-history":[{"count":151,"href":"https:\/\/juansebastianmendez.com\/en\/wp-json\/wp\/v2\/pages\/26\/revisions"}],"predecessor-version":[{"id":1149,"href":"https:\/\/juansebastianmendez.com\/en\/wp-json\/wp\/v2\/pages\/26\/revisions\/1149"}],"wp:attachment":[{"href":"https:\/\/juansebastianmendez.com\/en\/wp-json\/wp\/v2\/media?parent=26"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}