[{"data":1,"prerenderedAt":862},["ShallowReactive",2],{"project-edicitnet":3,"project-nav-edicitnet":113},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":7,"slug":9,"order":10,"category":11,"sector":12,"year":13,"role":14,"status":15,"outstanding":16,"url":17,"image":18,"imageWidth":19,"imageHeight":20,"summary":21,"gallery":22,"technologies":29,"body":36,"_type":107,"_id":108,"_source":109,"_file":110,"_stem":111,"_extension":112},"\u002Fes\u002Fprojects\u002Fedicitnet","projects",false,"","EdiCitNet","edicitnet",3,"Aplicación Web","Investigación · Medio ambiente","2020–2024","Desarrollo full-stack","online",true,"https:\u002F\u002Fediblecitiesnetwork.com","\u002Fimages\u002Fprojects\u002Fedicitnet-2x.webp",2560,1440,"Plataforma internacional del proyecto europeo EdiCitNet sobre ciudades comestibles, desarrollada con el ICRA.",[23,26],{"src":24,"width":19,"height":20,"alt":25},"\u002Fimages\u002Fprojects\u002Fedicitnet-cataleg.webp","Catálogo de iniciativas y soluciones con el mapa interactivo",{"src":27,"width":19,"height":20,"alt":28},"\u002Fimages\u002Fprojects\u002Fedicitnet-esdeveniments.webp","Agenda de eventos con filtros y mapa",[30,31,32,33,34,35],"Vue","Node.js","Express","MySQL","Leaflet","Vue I18n",{"type":37,"children":38,"toc":101},"root",[39,48,54,60,90,96],{"type":40,"tag":41,"props":42,"children":44},"element","h2",{"id":43},"el-reto",[45],{"type":46,"value":47},"text","El reto",{"type":40,"tag":49,"props":50,"children":51},"p",{},[52],{"type":46,"value":53},"EdiCitNet (Edible Cities Network) es un proyecto europeo Horizon 2020 sobre ciudades comestibles: huertos urbanos, cubiertas verdes productivas y otras iniciativas que integran la producción de alimentos en la ciudad. El proyecto necesitaba una plataforma en línea donde ciudades, entidades e investigadores pudieran compartir estas soluciones y aprender unos de otros.",{"type":40,"tag":41,"props":55,"children":57},{"id":56},"qué-hice",[58],{"type":46,"value":59},"Qué hice",{"type":40,"tag":61,"props":62,"children":63},"ul",{},[64,70,75,80,85],{"type":40,"tag":65,"props":66,"children":67},"li",{},[68],{"type":46,"value":69},"Como freelance, trabajé con el equipo de desarrollo del ICRA (Instituto Catalán de Investigación del Agua) en dos versiones de la plataforma, entre 2020 y 2024.",{"type":40,"tag":65,"props":71,"children":72},{},[73],{"type":46,"value":74},"La primera versión se hizo con Vue 2 y Chart.js. La segunda es una reescritura completa con Vue 3 y Vite.",{"type":40,"tag":65,"props":76,"children":77},{},[78],{"type":46,"value":79},"Desarrollé tanto el frontend como la API, con Node.js, Express y MySQL. La API incluye autenticación, subida de imágenes y envío de correos.",{"type":40,"tag":65,"props":81,"children":82},{},[83],{"type":46,"value":84},"La plataforma tiene un catálogo de iniciativas y soluciones con mapa interactivo (Leaflet), perfiles, noticias y eventos, recursos, comunidad, preguntas y respuestas y cuestionarios de evaluación.",{"type":40,"tag":65,"props":86,"children":87},{},[88],{"type":46,"value":89},"Toda la interfaz es multilingüe.",{"type":40,"tag":41,"props":91,"children":93},{"id":92},"resultado",[94],{"type":46,"value":95},"Resultado",{"type":40,"tag":49,"props":97,"children":98},{},[99],{"type":46,"value":100},"La plataforma sigue activa y da servicio a la red internacional del proyecto. Me permitió colaborar con un equipo de desarrollo distribuido de un centro de investigación.",{"title":7,"searchDepth":102,"depth":102,"links":103},2,[104,105,106],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"markdown","content:es:projects:edicitnet.md","content","es\u002Fprojects\u002Fedicitnet.md","es\u002Fprojects\u002Fedicitnet","md",[114,182,256,311,391,454,522,600,660,724,789],{"_path":115,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":116,"description":7,"slug":117,"order":118,"category":119,"sector":120,"year":121,"role":122,"status":15,"outstanding":16,"url":123,"image":124,"imageWidth":19,"imageHeight":20,"summary":125,"technologies":126,"body":132,"_type":107,"_id":179,"_source":109,"_file":180,"_stem":181,"_extension":112},"\u002Fes\u002Fprojects\u002Fgelinet","Gelinet","gelinet",1,"Página Web","Servicios de limpieza","2021","Diseño y desarrollo full-stack","https:\u002F\u002Fgelinet.net","\u002Fimages\u002Fprojects\u002Fgelinet-2026.webp","Web multilingüe para una empresa de limpieza de Cassà de la Selva, ahora en migración a una web estática más rápida.",[127,128,129,130,131],"Laravel","PHP","Bootstrap","HTML","Sass",{"type":37,"children":133,"toc":174},[134,138,143,147,165,169],{"type":40,"tag":41,"props":135,"children":136},{"id":43},[137],{"type":46,"value":47},{"type":40,"tag":49,"props":139,"children":140},{},[141],{"type":46,"value":142},"Gelinet es una empresa de servicios de limpieza de Cassà de la Selva (Girona) que trabaja para negocios y particulares de toda la comarca. Necesitaba una web donde explicar sus servicios y la zona donde trabaja, y que pudiera mantener ella misma en catalán, castellano e inglés.",{"type":40,"tag":41,"props":144,"children":145},{"id":56},[146],{"type":46,"value":59},{"type":40,"tag":61,"props":148,"children":149},{},[150,155,160],{"type":40,"tag":65,"props":151,"children":152},{},[153],{"type":46,"value":154},"Diseñé y desarrollé la web en 2021 con Laravel, sobre un CMS propio que había creado para mis proyectos de cliente.",{"type":40,"tag":65,"props":156,"children":157},{},[158],{"type":46,"value":159},"Los textos de cada idioma, las secciones y el blog se gestionaban desde un panel de administración, sin depender de mí para cada cambio.",{"type":40,"tag":65,"props":161,"children":162},{},[163],{"type":46,"value":164},"En 2026 la estoy migrando a una web 100% estática con Nuxt y Tailwind, alojada en Cloudflare Pages: sin base de datos ni servidor, y con los formularios enviados con Resend.",{"type":40,"tag":41,"props":166,"children":167},{"id":92},[168],{"type":46,"value":95},{"type":40,"tag":49,"props":170,"children":171},{},[172],{"type":46,"value":173},"La web lleva en línea desde 2021 y es la única de esta lista que todavía se puede visitar. La nueva versión estática es más rápida, más segura y prácticamente no tiene coste de mantenimiento.",{"title":7,"searchDepth":102,"depth":102,"links":175},[176,177,178],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"content:es:projects:gelinet.md","es\u002Fprojects\u002Fgelinet.md","es\u002Fprojects\u002Fgelinet",{"_path":183,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":184,"description":7,"slug":185,"order":102,"category":11,"sector":186,"year":187,"role":14,"status":188,"outstanding":6,"url":7,"image":189,"imageWidth":190,"imageHeight":191,"summary":192,"gallery":193,"technologies":199,"body":201,"_type":107,"_id":253,"_source":109,"_file":254,"_stem":255,"_extension":112},"\u002Fes\u002Fprojects\u002Fclica-t","Clica't","clica-t","Educación","2016","offline","\u002Fimages\u002Fprojects\u002Fclicat-home.webp",1920,1080,"Plataforma educativa para escuelas con exámenes, ejercicios, informes de progreso y comunicación con las familias.",[194],{"src":195,"width":196,"height":197,"alt":198},"\u002Fimages\u002Fprojects\u002Fclicat-deures.webp",1596,730,"Espacio del alumno con los deberes asignados por asignatura",[128,129,130,200],"CSS",{"type":37,"children":202,"toc":248},[203,207,212,216,239,243],{"type":40,"tag":41,"props":204,"children":205},{"id":43},[206],{"type":46,"value":47},{"type":40,"tag":49,"props":208,"children":209},{},[210],{"type":46,"value":211},"Clica't es una plataforma en línea para escuelas, pensada para que el profesorado pueda proponer actividades, evaluar al alumnado y hacer su seguimiento, y para que las familias puedan estar al tanto del progreso de sus hijos.",{"type":40,"tag":41,"props":213,"children":214},{"id":56},[215],{"type":46,"value":59},{"type":40,"tag":61,"props":217,"children":218},{},[219,224,229,234],{"type":40,"tag":65,"props":220,"children":221},{},[222],{"type":46,"value":223},"Empecé a desarrollarla hacia 2016 y fui añadiendo módulos para tres perfiles: profesorado, alumnado y familias, cada uno con su espacio y sus permisos.",{"type":40,"tag":65,"props":225,"children":226},{},[227],{"type":46,"value":228},"El profesorado puede crear exámenes, listas de problemas y cuadernos de ejercicios, y organizar al alumnado en grupos.",{"type":40,"tag":65,"props":230,"children":231},{},[232],{"type":46,"value":233},"Hay informes de progreso y de deberes, con exportación a Excel y PDF.",{"type":40,"tag":65,"props":235,"children":236},{},[237],{"type":46,"value":238},"Las familias tienen su propio acceso, con informes y un chat con el profesorado.",{"type":40,"tag":41,"props":240,"children":241},{"id":92},[242],{"type":46,"value":95},{"type":40,"tag":49,"props":244,"children":245},{},[246],{"type":46,"value":247},"La plataforma se usó en las escuelas durante varios cursos. Actualmente ya no está en línea, pero fue el proyecto en el que más aprendí sobre aplicaciones con muchos usuarios y roles distintos.",{"title":7,"searchDepth":102,"depth":102,"links":249},[250,251,252],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"content:es:projects:clica-t.md","es\u002Fprojects\u002Fclica-t.md","es\u002Fprojects\u002Fclica-t",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":7,"slug":9,"order":10,"category":11,"sector":12,"year":13,"role":14,"status":15,"outstanding":16,"url":17,"image":18,"imageWidth":19,"imageHeight":20,"summary":21,"gallery":257,"technologies":260,"body":261,"_type":107,"_id":108,"_source":109,"_file":110,"_stem":111,"_extension":112},[258,259],{"src":24,"width":19,"height":20,"alt":25},{"src":27,"width":19,"height":20,"alt":28},[30,31,32,33,34,35],{"type":37,"children":262,"toc":306},[263,267,271,275,298,302],{"type":40,"tag":41,"props":264,"children":265},{"id":43},[266],{"type":46,"value":47},{"type":40,"tag":49,"props":268,"children":269},{},[270],{"type":46,"value":53},{"type":40,"tag":41,"props":272,"children":273},{"id":56},[274],{"type":46,"value":59},{"type":40,"tag":61,"props":276,"children":277},{},[278,282,286,290,294],{"type":40,"tag":65,"props":279,"children":280},{},[281],{"type":46,"value":69},{"type":40,"tag":65,"props":283,"children":284},{},[285],{"type":46,"value":74},{"type":40,"tag":65,"props":287,"children":288},{},[289],{"type":46,"value":79},{"type":40,"tag":65,"props":291,"children":292},{},[293],{"type":46,"value":84},{"type":40,"tag":65,"props":295,"children":296},{},[297],{"type":46,"value":89},{"type":40,"tag":41,"props":299,"children":300},{"id":92},[301],{"type":46,"value":95},{"type":40,"tag":49,"props":303,"children":304},{},[305],{"type":46,"value":100},{"title":7,"searchDepth":102,"depth":102,"links":307},[308,309,310],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},{"_path":312,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":313,"description":7,"slug":314,"order":315,"category":11,"sector":316,"year":317,"role":14,"status":15,"outstanding":16,"url":318,"image":319,"imageWidth":19,"imageHeight":20,"summary":320,"gallery":321,"technologies":328,"body":331,"_type":107,"_id":388,"_source":109,"_file":389,"_stem":390,"_extension":112},"\u002Fes\u002Fprojects\u002Fnat4wat","Nat4Wat","nat4wat",4,"Investigación · Agua","2023–2025","https:\u002F\u002Fnat4wat.icra.cat","\u002Fimages\u002Fprojects\u002Fnat4wat-2x.webp","Herramienta web del ICRA para elegir soluciones basadas en la naturaleza para tratar, almacenar y reutilizar el agua.",[322,325],{"src":323,"width":19,"height":20,"alt":324},"\u002Fimages\u002Fprojects\u002Fnat4wat-solucions.webp","Catálogo de soluciones basadas en la naturaleza",{"src":326,"width":19,"height":20,"alt":327},"\u002Fimages\u002Fprojects\u002Fnat4wat-casos.webp","Listado de casos de mercado con filtros",[329,30,330,31],"Nuxt 3","Pinia",{"type":37,"children":332,"toc":383},[333,337,342,346,374,378],{"type":40,"tag":41,"props":334,"children":335},{"id":43},[336],{"type":46,"value":47},{"type":40,"tag":49,"props":338,"children":339},{},[340],{"type":46,"value":341},"Nat4Wat es la herramienta del proyecto europeo MULTISOURCE, financiado por el programa Horizon 2020, para ayudar a ayuntamientos, empresas y técnicos a elegir soluciones basadas en la naturaleza (como los humedales construidos) para tratar, almacenar y reutilizar el agua. Había que convertir los modelos y los datos del equipo de investigación del ICRA en una herramienta que se pudiera usar sin ser especialista.",{"type":40,"tag":41,"props":343,"children":344},{"id":56},[345],{"type":46,"value":59},{"type":40,"tag":61,"props":347,"children":348},{},[349,354,359,364,369],{"type":40,"tag":65,"props":350,"children":351},{},[352],{"type":46,"value":353},"Como freelance, entre 2023 y 2025 desarrollé el frontend con Nuxt 3 y Pinia y contribuí a la API con Node.js, junto con el equipo del ICRA.",{"type":40,"tag":65,"props":355,"children":356},{},[357],{"type":46,"value":358},"La parte central es «Find your solution», un asistente por pasos: el usuario define su escenario (agua, contaminantes, superficie, prioridades) y la herramienta le propone las soluciones más adecuadas.",{"type":40,"tag":65,"props":360,"children":361},{},[362],{"type":46,"value":363},"Las soluciones se comparan con un análisis multicriterio con gráficos, y se puede generar un informe.",{"type":40,"tag":65,"props":365,"children":366},{},[367],{"type":46,"value":368},"También hay un catálogo de soluciones, publicaciones científicas y casos de mercado, con un circuito para aceptarlos y publicarlos.",{"type":40,"tag":65,"props":370,"children":371},{},[372],{"type":46,"value":373},"Completan la herramienta los perfiles de usuario, los escenarios guardados, el servicio de ayuda, las guías y las preguntas frecuentes, todo adaptado a móviles.",{"type":40,"tag":41,"props":375,"children":376},{"id":92},[377],{"type":46,"value":95},{"type":40,"tag":49,"props":379,"children":380},{},[381],{"type":46,"value":382},"La herramienta es pública y sigue activa en nat4wat.icra.cat.",{"title":7,"searchDepth":102,"depth":102,"links":384},[385,386,387],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"content:es:projects:nat4wat.md","es\u002Fprojects\u002Fnat4wat.md","es\u002Fprojects\u002Fnat4wat",{"_path":392,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":393,"description":7,"slug":394,"order":395,"category":11,"sector":396,"year":397,"role":122,"status":398,"outstanding":6,"url":7,"image":399,"imageWidth":19,"imageHeight":20,"summary":400,"technologies":401,"body":404,"_type":107,"_id":451,"_source":109,"_file":452,"_stem":453,"_extension":112},"\u002Fes\u002Fprojects\u002Fenfaixapp","EnfaixApp","enfaixapp",5,"Cultura popular · Castells","2022","private","\u002Fimages\u002Fprojects\u002Fenfaixapp-2x.webp","Aplicación para organizar una colla castellera: castellers, ensayos, asistencia y diseño de castells posición por posición.",[127,128,30,402,403],"Vuex","Tailwind CSS",{"type":37,"children":405,"toc":447},[406,410,415,419],{"type":40,"tag":41,"props":407,"children":408},{"id":43},[409],{"type":46,"value":47},{"type":40,"tag":49,"props":411,"children":412},{},[413],{"type":46,"value":414},"Organizar una colla castellera implica saber quién vendrá a cada ensayo y actuación, y decidir quién ocupa cada posición de la pinya y del tronco. Hacía falta una herramienta que reuniera toda esta información en un solo lugar.",{"type":40,"tag":41,"props":416,"children":417},{"id":56},[418],{"type":46,"value":59},{"type":40,"tag":61,"props":420,"children":421},{},[422,427,432,437,442],{"type":40,"tag":65,"props":423,"children":424},{},[425],{"type":46,"value":426},"En 2022 diseñé y desarrollé EnfaixApp, una aplicación web con Laravel, Vue y Tailwind CSS.",{"type":40,"tag":65,"props":428,"children":429},{},[430],{"type":46,"value":431},"Cada casteller tiene su ficha, con las posiciones en las que puede hacer castells.",{"type":40,"tag":65,"props":433,"children":434},{},[435],{"type":46,"value":436},"Hay un calendario de ensayos y actuaciones donde cada uno confirma si asistirá, y los responsables ven la asistencia al momento.",{"type":40,"tag":65,"props":438,"children":439},{},[440],{"type":46,"value":441},"La parte central es un diseñador de castells con plantillas: en él se asigna cada casteller a su posición y se puede ver el castell entero o la posición de cada persona.",{"type":40,"tag":65,"props":443,"children":444},{},[445],{"type":46,"value":446},"También tiene formularios con respuestas, notificaciones, un registro de actividad reciente y roles con permisos distintos.",{"title":7,"searchDepth":102,"depth":102,"links":448},[449,450],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},"content:es:projects:enfaixapp.md","es\u002Fprojects\u002Fenfaixapp.md","es\u002Fprojects\u002Fenfaixapp",{"_path":455,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":456,"description":7,"slug":457,"order":458,"category":11,"sector":12,"year":459,"role":122,"status":398,"outstanding":6,"url":7,"image":460,"imageWidth":19,"imageHeight":20,"summary":461,"gallery":462,"technologies":466,"body":467,"_type":107,"_id":519,"_source":109,"_file":520,"_stem":521,"_extension":112},"\u002Fes\u002Fprojects\u002Ficra-workshop","Herramienta para talleres participativos","icra-workshop",6,"2023","\u002Fimages\u002Fprojects\u002Ficra-workshop-2x.webp","Herramienta interactiva del ICRA para recoger votos en talleres y priorizar beneficios, inconvenientes e indicadores.",[463],{"src":464,"width":19,"height":20,"alt":465},"\u002Fimages\u002Fprojects\u002Ficra-workshop-top10.webp","Ranking de los 10 aspectos más votados durante un taller (datos de prueba)",[329,30,330,403],{"type":37,"children":468,"toc":514},[469,473,478,482,505,509],{"type":40,"tag":41,"props":470,"children":471},{"id":43},[472],{"type":46,"value":47},{"type":40,"tag":49,"props":474,"children":475},{},[476],{"type":46,"value":477},"En los talleres participativos del ICRA, los asistentes valoran los beneficios y los inconvenientes de distintas soluciones para la ciudad. Hacía falta una herramienta para introducir los votos en directo y ver rápidamente qué aspectos eran prioritarios y con qué indicadores se podían medir.",{"type":40,"tag":41,"props":479,"children":480},{"id":56},[481],{"type":46,"value":59},{"type":40,"tag":61,"props":483,"children":484},{},[485,490,495,500],{"type":40,"tag":65,"props":486,"children":487},{},[488],{"type":46,"value":489},"Fue un encargo puntual: desarrollé una aplicación web con Nuxt 3, Pinia y Tailwind CSS.",{"type":40,"tag":65,"props":491,"children":492},{},[493],{"type":46,"value":494},"Los beneficios se organizan en ambientales y socioeconómicos, y los inconvenientes van aparte. Para cada uno se introduce el número de votos, y también se pueden añadir campos personalizados durante el taller.",{"type":40,"tag":65,"props":496,"children":497},{},[498],{"type":46,"value":499},"Con un clic, la herramienta calcula el ranking de los 10 aspectos más votados y muestra sus indicadores relacionados con gráficos.",{"type":40,"tag":65,"props":501,"children":502},{},[503],{"type":46,"value":504},"Los indicadores y sus relaciones se cargan desde archivos CSV preparados por el equipo de investigación, y se pueden actualizar sin tocar el código.",{"type":40,"tag":41,"props":506,"children":507},{"id":92},[508],{"type":46,"value":95},{"type":40,"tag":49,"props":510,"children":511},{},[512],{"type":46,"value":513},"Era una herramienta privada, pensada para el equipo del ICRA, que se fue ajustando con el feedback de los talleres.",{"title":7,"searchDepth":102,"depth":102,"links":515},[516,517,518],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"content:es:projects:icra-workshop.md","es\u002Fprojects\u002Ficra-workshop.md","es\u002Fprojects\u002Ficra-workshop",{"_path":523,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":524,"description":7,"slug":525,"order":526,"category":119,"sector":527,"year":528,"role":122,"status":15,"outstanding":6,"url":529,"image":530,"imageWidth":531,"imageHeight":532,"summary":533,"gallery":534,"technologies":544,"body":545,"_type":107,"_id":597,"_source":109,"_file":598,"_stem":599,"_extension":112},"\u002Fes\u002Fprojects\u002Fhostal-bartis","Hostal Bartis","hostal-bartis",7,"Turismo","2020","https:\u002F\u002Fhostalbartis.com","\u002Fimages\u002Fprojects\u002Fhostal-bartis-home.webp",3578,1882,"Web para un hostal familiar para mostrar las habitaciones y los servicios y recibir solicitudes de reserva.",[535,538,541],{"src":536,"width":19,"height":20,"alt":537},"\u002Fimages\u002Fprojects\u002Fhostal-bartis-habitacions.webp","Página de habitaciones",{"src":539,"width":19,"height":20,"alt":540},"\u002Fimages\u002Fprojects\u002Fhostal-bartis-doble.webp","Ficha de la habitación doble con galería de fotos",{"src":542,"width":19,"height":20,"alt":543},"\u002Fimages\u002Fprojects\u002Fhostal-bartis-historia.webp","Página de historia del hostal",[127,128,129,130,200],{"type":37,"children":546,"toc":592},[547,551,556,560,583,587],{"type":40,"tag":41,"props":548,"children":549},{"id":43},[550],{"type":46,"value":47},{"type":40,"tag":49,"props":552,"children":553},{},[554],{"type":46,"value":555},"El Hostal Bartis, un negocio familiar de Figueres fundado en 1909, necesitaba una web que transmitiera el ambiente de la casa, mostrara las habitaciones y los servicios, y le permitiera recibir solicitudes de reserva directamente, sin depender solo de las plataformas de reservas.",{"type":40,"tag":41,"props":557,"children":558},{"id":56},[559],{"type":46,"value":59},{"type":40,"tag":61,"props":561,"children":562},{},[563,568,573,578],{"type":40,"tag":65,"props":564,"children":565},{},[566],{"type":46,"value":567},"Diseñé y desarrollé la web con Laravel y Bootstrap, adaptada a móviles.",{"type":40,"tag":65,"props":569,"children":570},{},[571],{"type":46,"value":572},"La monté sobre mi CMS propio para que los propietarios pudieran actualizar textos, fotos y habitaciones desde un panel.",{"type":40,"tag":65,"props":574,"children":575},{},[576],{"type":46,"value":577},"Los contenidos estaban en catalán, castellano e inglés, pensando en el visitante extranjero.",{"type":40,"tag":65,"props":579,"children":580},{},[581],{"type":46,"value":582},"Añadí un formulario de contacto y de reserva.",{"type":40,"tag":41,"props":584,"children":585},{"id":92},[586],{"type":46,"value":95},{"type":40,"tag":49,"props":588,"children":589},{},[590],{"type":46,"value":591},"La web está en línea desde 2020, y desde entonces los propietarios gestionan su contenido de forma autónoma.",{"title":7,"searchDepth":102,"depth":102,"links":593},[594,595,596],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"content:es:projects:hostal-bartis.md","es\u002Fprojects\u002Fhostal-bartis.md","es\u002Fprojects\u002Fhostal-bartis",{"_path":601,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":602,"description":7,"slug":603,"order":604,"category":119,"sector":605,"year":606,"role":122,"status":188,"outstanding":6,"url":7,"image":607,"imageWidth":19,"imageHeight":20,"summary":608,"technologies":609,"body":610,"_type":107,"_id":657,"_source":109,"_file":658,"_stem":659,"_extension":112},"\u002Fes\u002Fprojects\u002Fmerce-paytuvi","Mercè Paytuví","merce-paytuvi",8,"Artesanía textil","2019","\u002Fimages\u002Fprojects\u002Fmerce-paytuvi-2x.webp","Web y blog para una artesana textil de Mont-ras, con dos versiones entre 2019 y 2023.",[127,128,129,130,200],{"type":37,"children":611,"toc":652},[612,616,621,625,643,647],{"type":40,"tag":41,"props":613,"children":614},{"id":43},[615],{"type":46,"value":47},{"type":40,"tag":49,"props":617,"children":618},{},[619],{"type":46,"value":620},"Mercè Paytuví es una artesana textil de Mont-ras que quería mostrar su obra y explicar su proceso de trabajo, y publicar novedades sin tener que pedir ayuda cada vez.",{"type":40,"tag":41,"props":622,"children":623},{"id":56},[624],{"type":46,"value":59},{"type":40,"tag":61,"props":626,"children":627},{},[628,633,638],{"type":40,"tag":65,"props":629,"children":630},{},[631],{"type":46,"value":632},"En 2019 hice la primera versión de la web con Laravel, en catalán e inglés. Fue uno de los primeros proyectos en los que usé mi CMS propio.",{"type":40,"tag":65,"props":634,"children":635},{},[636],{"type":46,"value":637},"Entre 2022 y 2023 la rehice con un diseño nuevo con Bootstrap 5, y añadí un blog con categorías y el castellano.",{"type":40,"tag":65,"props":639,"children":640},{},[641],{"type":46,"value":642},"Ella misma podía actualizar textos, imágenes y entradas del blog desde el panel.",{"type":40,"tag":41,"props":644,"children":645},{"id":92},[646],{"type":46,"value":95},{"type":40,"tag":49,"props":648,"children":649},{},[650],{"type":46,"value":651},"Fue una colaboración de varios años que acompañó la evolución de su proyecto. Actualmente la web ya no está en línea.",{"title":7,"searchDepth":102,"depth":102,"links":653},[654,655,656],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"content:es:projects:merce-paytuvi.md","es\u002Fprojects\u002Fmerce-paytuvi.md","es\u002Fprojects\u002Fmerce-paytuvi",{"_path":661,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":662,"description":7,"slug":663,"order":664,"category":119,"sector":665,"year":121,"role":122,"status":188,"outstanding":6,"url":7,"image":666,"imageWidth":19,"imageHeight":20,"summary":667,"technologies":668,"body":669,"_type":107,"_id":721,"_source":109,"_file":722,"_stem":723,"_extension":112},"\u002Fes\u002Fprojects\u002Fintegral","Integral","integral",9,"Servicios a empresas","\u002Fimages\u002Fprojects\u002Fintegral-2x.webp","Web corporativa multilingüe para una empresa de servicios de Banyoles, gestionable desde un panel propio.",[127,128,129,200,131],{"type":37,"children":670,"toc":716},[671,675,680,684,707,711],{"type":40,"tag":41,"props":672,"children":673},{"id":43},[674],{"type":46,"value":47},{"type":40,"tag":49,"props":676,"children":677},{},[678],{"type":46,"value":679},"Integral, una empresa de servicios de Banyoles, necesitaba una web corporativa clara para presentar su actividad en varios idiomas y poder actualizarla internamente.",{"type":40,"tag":41,"props":681,"children":682},{"id":56},[683],{"type":46,"value":59},{"type":40,"tag":61,"props":685,"children":686},{},[687,692,697,702],{"type":40,"tag":65,"props":688,"children":689},{},[690],{"type":46,"value":691},"Desarrollé la web en 2021 con Laravel, Bootstrap y Sass, sobre mi CMS propio.",{"type":40,"tag":65,"props":693,"children":694},{},[695],{"type":46,"value":696},"Los contenidos estaban en catalán, castellano e inglés, con secciones y plantillas configurables y un blog con categorías.",{"type":40,"tag":65,"props":698,"children":699},{},[700],{"type":46,"value":701},"Añadí un formulario de contacto y la integración con herramientas de analítica.",{"type":40,"tag":65,"props":703,"children":704},{},[705],{"type":46,"value":706},"Tras el lanzamiento, también me encargué de la gestión del correo, los dominios y los servidores.",{"type":40,"tag":41,"props":708,"children":709},{"id":92},[710],{"type":46,"value":95},{"type":40,"tag":49,"props":712,"children":713},{},[714],{"type":46,"value":715},"La empresa tuvo una web que podía gestionar de forma autónoma. Actualmente ya no está en línea.",{"title":7,"searchDepth":102,"depth":102,"links":717},[718,719,720],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"content:es:projects:integral.md","es\u002Fprojects\u002Fintegral.md","es\u002Fprojects\u002Fintegral",{"_path":725,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":726,"description":7,"slug":727,"order":728,"category":119,"sector":729,"year":121,"role":122,"status":188,"outstanding":6,"url":7,"image":730,"imageWidth":19,"imageHeight":20,"summary":731,"gallery":732,"technologies":736,"body":739,"_type":107,"_id":786,"_source":109,"_file":787,"_stem":788,"_extension":112},"\u002Fes\u002Fprojects\u002Fdavid-busquets","David Busquets","david-busquets",10,"Música","\u002Fimages\u002Fprojects\u002Fdavidbusquets-2x.webp","Web para un músico con galería, videoclips, lista de reproducción y fechas de conciertos.",[733],{"src":734,"width":19,"height":20,"alt":735},"\u002Fimages\u002Fprojects\u002Fdavidbusquets-albums.webp","Sección de álbumes con enlaces a las plataformas de música",[30,737,738],"Tailwind","Vite",{"type":37,"children":740,"toc":781},[741,745,750,754,772,776],{"type":40,"tag":41,"props":742,"children":743},{"id":43},[744],{"type":46,"value":47},{"type":40,"tag":49,"props":746,"children":747},{},[748],{"type":46,"value":749},"El músico David Busquets quería una web ligera que reuniera toda su actividad: música, vídeos, fotos y próximos conciertos.",{"type":40,"tag":41,"props":751,"children":752},{"id":56},[753],{"type":46,"value":59},{"type":40,"tag":61,"props":755,"children":756},{},[757,762,767],{"type":40,"tag":65,"props":758,"children":759},{},[760],{"type":46,"value":761},"Creé una aplicación de una sola página con Vue 3, Vite y Tailwind CSS, rápida y adaptada a móviles.",{"type":40,"tag":65,"props":763,"children":764},{},[765],{"type":46,"value":766},"Hice componentes específicos: galería de fotos, videoclips, lista de reproducción y un calendario de conciertos.",{"type":40,"tag":65,"props":768,"children":769},{},[770],{"type":46,"value":771},"La web era multilingüe, con cambio de idioma sin recargar la página.",{"type":40,"tag":41,"props":773,"children":774},{"id":92},[775],{"type":46,"value":95},{"type":40,"tag":49,"props":777,"children":778},{},[779],{"type":46,"value":780},"La web reunió en un solo lugar toda la actividad del músico. Actualmente ya no está en línea.",{"title":7,"searchDepth":102,"depth":102,"links":782},[783,784,785],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"content:es:projects:david-busquets.md","es\u002Fprojects\u002Fdavid-busquets.md","es\u002Fprojects\u002Fdavid-busquets",{"_path":790,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":791,"description":7,"slug":792,"order":793,"category":119,"sector":794,"year":795,"role":122,"status":15,"outstanding":6,"url":796,"image":797,"imageWidth":798,"imageHeight":799,"summary":800,"technologies":801,"body":807,"_type":107,"_id":859,"_source":109,"_file":860,"_stem":861,"_extension":112},"\u002Fes\u002Fprojects\u002Fdavid-crous","David Crous","david-crous",11,"Portafolio personal","2026","https:\u002F\u002Fcrousmayne.com","\u002Fimages\u002Fprojects\u002Fdavidcrous-home.webp",3582,1870,"Esta misma web: estática, en tres idiomas y alojada en Cloudflare Pages.",[329,802,803,804,805,806],"Vue 3","Tailwind 4","Nuxt Content","Nuxt i18n","Figma",{"type":37,"children":808,"toc":854},[809,813,818,822,845,849],{"type":40,"tag":41,"props":810,"children":811},{"id":43},[812],{"type":46,"value":47},{"type":40,"tag":49,"props":814,"children":815},{},[816],{"type":46,"value":817},"Mi web anterior dependía de un CMS con servidor y base de datos. Quería una web más rápida, más sencilla de mantener y que no me costara nada tener en línea.",{"type":40,"tag":41,"props":819,"children":820},{"id":56},[821],{"type":46,"value":59},{"type":40,"tag":61,"props":823,"children":824},{},[825,830,835,840],{"type":40,"tag":65,"props":826,"children":827},{},[828],{"type":46,"value":829},"La rediseñé y desarrollé desde cero con Nuxt 3, Tailwind 4 y Nuxt Content, con todo el contenido en archivos Markdown.",{"type":40,"tag":65,"props":831,"children":832},{},[833],{"type":46,"value":834},"Todas las páginas se generan como HTML estático, en catalán, castellano e inglés.",{"type":40,"tag":65,"props":836,"children":837},{},[838],{"type":46,"value":839},"Está alojada en Cloudflare Pages: se publica automáticamente con cada cambio y mide las visitas sin cookies.",{"type":40,"tag":65,"props":841,"children":842},{},[843],{"type":46,"value":844},"Tiene SEO por idioma (hreflang, sitemap y Schema.org) y un hero con una animación de partículas interactiva.",{"type":40,"tag":41,"props":846,"children":847},{"id":92},[848],{"type":46,"value":95},{"type":40,"tag":49,"props":850,"children":851},{},[852],{"type":46,"value":853},"Es la web que estás viendo ahora.",{"title":7,"searchDepth":102,"depth":102,"links":855},[856,857,858],{"id":43,"depth":102,"text":47},{"id":56,"depth":102,"text":59},{"id":92,"depth":102,"text":95},"content:es:projects:david-crous.md","es\u002Fprojects\u002Fdavid-crous.md","es\u002Fprojects\u002Fdavid-crous",1791375139616]