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