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