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