[{"data":1,"prerenderedAt":441},["ShallowReactive",2],{"services":3,"outstanding-projects":214},[4,138,184],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"slug":11,"icon":12,"shortDescription":13,"order":14,"technologies":15,"steps":25,"body":41,"_type":132,"_id":133,"_source":134,"_file":135,"_stem":136,"_extension":137},"\u002Fen\u002Fservices\u002Fsoftware-development","services",false,"","Web & Software Development","I develop complete web applications — frontend, backend and infrastructure. My approach is to build products that are fast for the user, easy to maintain for the developer and scalable for the business.","software-development","code","I build fast, scalable and maintainable web applications with modern technologies. From a landing page to a full SaaS platform.",1,[16,17,18,19,20,21,22,23,24],"Laravel","Vue.js","Nuxt","Next.js","Node.js","Tailwind CSS","TypeScript","MySQL","Docker",[26,29,32,35,38],{"title":27,"text":28},"Definition & Scope","We define together what the project needs, what problems it solves and what the real scope is. No 50-page documents — clear and direct.",{"title":30,"text":31},"Technical Architecture","Choosing the right tech stack, data structure and architecture definition. Every technical decision is justified.",{"title":33,"text":34},"Iterative Development","We work in short sprints with frequent deliveries. You see real progress every week and can give continuous feedback.",{"title":36,"text":37},"Testing & Quality","Tested code, code reviews and performance validation. The final product works well, not just 'works'.",{"title":39,"text":40},"Deploy & Operations","Automated deployment with CI\u002FCD, monitoring and continuous maintenance. The project doesn't end when it ships.",{"type":42,"children":43,"toc":128},"root",[44,51,76,83],{"type":45,"tag":46,"props":47,"children":48},"element","p",{},[49],{"type":50,"value":10},"text",{"type":45,"tag":46,"props":52,"children":53},{},[54,56,61,63,68,70,74],{"type":50,"value":55},"I mainly work with ",{"type":45,"tag":57,"props":58,"children":59},"strong",{},[60],{"type":50,"value":16},{"type":50,"value":62}," and ",{"type":45,"tag":57,"props":64,"children":65},{},[66],{"type":50,"value":67},"Vue\u002FNuxt",{"type":50,"value":69}," for full-stack projects, and ",{"type":45,"tag":57,"props":71,"children":72},{},[73],{"type":50,"value":19},{"type":50,"value":75}," when the project calls for it. Every project has different needs and the stack adapts to the context, not the other way around.",{"type":45,"tag":77,"props":78,"children":80},"h2",{"id":79},"what-i-can-build",[81],{"type":50,"value":82},"What I can build",{"type":45,"tag":84,"props":85,"children":86},"ul",{},[87,98,108,118],{"type":45,"tag":88,"props":89,"children":90},"li",{},[91,96],{"type":45,"tag":57,"props":92,"children":93},{},[94],{"type":50,"value":95},"Custom web applications",{"type":50,"value":97}," — platforms, admin panels, internal tools",{"type":45,"tag":88,"props":99,"children":100},{},[101,106],{"type":45,"tag":57,"props":102,"children":103},{},[104],{"type":50,"value":105},"Corporate websites and landing pages",{"type":50,"value":107}," — fast, SEO-friendly and easy to edit",{"type":45,"tag":88,"props":109,"children":110},{},[111,116],{"type":45,"tag":57,"props":112,"children":113},{},[114],{"type":50,"value":115},"APIs and integrations",{"type":50,"value":117}," — connections to external services, payment gateways, CRMs",{"type":45,"tag":88,"props":119,"children":120},{},[121,126],{"type":45,"tag":57,"props":122,"children":123},{},[124],{"type":50,"value":125},"Migrations and refactors",{"type":50,"value":127}," — modernising existing projects without stopping the business",{"title":8,"searchDepth":129,"depth":129,"links":130},2,[131],{"id":79,"depth":129,"text":82},"markdown","content:en:services:software-development.md","content","en\u002Fservices\u002Fsoftware-development.md","en\u002Fservices\u002Fsoftware-development","md",{"_path":139,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":140,"description":141,"slug":142,"icon":143,"shortDescription":144,"order":129,"technologies":145,"steps":148,"body":173,"_type":132,"_id":181,"_source":134,"_file":182,"_stem":183,"_extension":137},"\u002Fen\u002Fservices\u002Fux-design","Design & User Experience (UX)","To provide a good UX service, we follow a process that includes research, information architecture, prototyping, visual design, usability testing and iteration.","ux-design","palette","Design and user experience (UX) focuses on optimizing the overall experience of users when they interact with a product or service.",[146,147],"Figma","Adobe Photoshop",[149,152,155,158,161,164,167,170],{"title":150,"text":151},"Define the problem","We start by understanding the problem we're trying to solve for users and determining product goals.",{"title":153,"text":154},"Research","We conduct user research to gain insights about the target audience, their needs and behaviors.",{"title":156,"text":157},"Conceptualization","Brainstorming and sketching initial ideas for the UI\u002FUX design.",{"title":159,"text":160},"Prototype","Create a low-fidelity prototype to quickly test and validate design concepts.",{"title":162,"text":163},"User Testing","Conduct user testing with a small group of representative users to get feedback.",{"title":165,"text":166},"Visual Design","Develop the high-fidelity design taking into account user testing feedback.",{"title":168,"text":169},"Development","Work with development to implement the design in the product.",{"title":171,"text":172},"Launch & Iteration","Launch the product and continue getting user feedback for improvements.",{"type":42,"children":174,"toc":179},[175],{"type":45,"tag":46,"props":176,"children":177},{},[178],{"type":50,"value":141},{"title":8,"searchDepth":129,"depth":129,"links":180},[],"content:en:services:ux-design.md","en\u002Fservices\u002Fux-design.md","en\u002Fservices\u002Fux-design",{"_path":185,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":186,"description":187,"slug":188,"icon":189,"shortDescription":190,"order":191,"technologies":192,"steps":193,"body":203,"_type":132,"_id":211,"_source":134,"_file":212,"_stem":213,"_extension":137},"\u002Fen\u002Fservices\u002Ftech-consulting","Expert guidance in the world of technology","To deliver the best results for clients, it's important to be informed and up to date with the latest trends and best practices. Effective communication is also essential to understand client needs and ensure the right solutions are being offered.","tech-consulting","lightbulb","I provide my knowledge and a strong understanding of best practices across various fields to ensure the best results.",3,[],[194,197,200],{"title":195,"text":196},"Stay up to date","Staying up to date with the latest trends and best practices in technology is essential to deliver the best results.",{"title":198,"text":199},"Offer innovative solutions","Being current allows offering innovative solutions that meet the evolving needs of clients.",{"title":201,"text":202},"Communicate effectively","Effective communication with clients is crucial to understand their specific needs and adapt services accordingly.",{"type":42,"children":204,"toc":209},[205],{"type":45,"tag":46,"props":206,"children":207},{},[208],{"type":50,"value":187},{"title":8,"searchDepth":129,"depth":129,"links":210},[],"content:en:services:tech-consulting.md","en\u002Fservices\u002Ftech-consulting.md","en\u002Fservices\u002Ftech-consulting",[215,292,368],{"_path":216,"_dir":217,"_draft":7,"_partial":7,"_locale":8,"title":218,"description":8,"slug":219,"order":14,"category":220,"sector":221,"year":222,"role":223,"status":224,"outstanding":225,"url":226,"image":227,"imageWidth":228,"imageHeight":229,"summary":230,"technologies":231,"body":236,"_type":132,"_id":289,"_source":134,"_file":290,"_stem":291,"_extension":137},"\u002Fen\u002Fprojects\u002Fgelinet","projects","Gelinet","gelinet","Website","Cleaning services","2021","Full-stack design and development","online",true,"https:\u002F\u002Fgelinet.net","\u002Fimages\u002Fprojects\u002Fgelinet-2026.webp",2560,1440,"Multilingual website for a cleaning company in Cassà de la Selva, now being migrated to a faster static site.",[16,232,233,234,235],"PHP","Bootstrap","HTML","Sass",{"type":42,"children":237,"toc":284},[238,244,249,255,273,279],{"type":45,"tag":77,"props":239,"children":241},{"id":240},"the-challenge",[242],{"type":50,"value":243},"The challenge",{"type":45,"tag":46,"props":245,"children":246},{},[247],{"type":50,"value":248},"Gelinet is a cleaning services company based in Cassà de la Selva (Girona) that works for businesses and households across the area. It needed a website to explain its services and the area it covers, which it could maintain itself in Catalan, Spanish and English.",{"type":45,"tag":77,"props":250,"children":252},{"id":251},"what-i-did",[253],{"type":50,"value":254},"What I did",{"type":45,"tag":84,"props":256,"children":257},{},[258,263,268],{"type":45,"tag":88,"props":259,"children":260},{},[261],{"type":50,"value":262},"I designed and built the website in 2021 with Laravel, on top of a custom CMS I had created for my client projects.",{"type":45,"tag":88,"props":264,"children":265},{},[266],{"type":50,"value":267},"Texts in each language, sections and the blog were managed from an admin panel, without relying on me for every change.",{"type":45,"tag":88,"props":269,"children":270},{},[271],{"type":50,"value":272},"In 2026 I am migrating it to a fully static site built with Nuxt and Tailwind, hosted on Cloudflare Pages: no database or server, with forms delivered through Resend.",{"type":45,"tag":77,"props":274,"children":276},{"id":275},"outcome",[277],{"type":50,"value":278},"Outcome",{"type":45,"tag":46,"props":280,"children":281},{},[282],{"type":50,"value":283},"The site has been online since 2021 and is the only one on this list that can still be visited. The new static version is faster, more secure and practically free to maintain.",{"title":8,"searchDepth":129,"depth":129,"links":285},[286,287,288],{"id":240,"depth":129,"text":243},{"id":251,"depth":129,"text":254},{"id":275,"depth":129,"text":278},"content:en:projects:gelinet.md","en\u002Fprojects\u002Fgelinet.md","en\u002Fprojects\u002Fgelinet",{"_path":293,"_dir":217,"_draft":7,"_partial":7,"_locale":8,"title":294,"description":8,"slug":295,"order":191,"category":296,"sector":297,"year":298,"role":299,"status":224,"outstanding":225,"url":300,"image":301,"imageWidth":228,"imageHeight":229,"summary":302,"technologies":303,"body":308,"_type":132,"_id":365,"_source":134,"_file":366,"_stem":367,"_extension":137},"\u002Fen\u002Fprojects\u002Fedicitnet","EdiCitNet","edicitnet","Web App","Research · Environment","2020–2024","Full-stack development","https:\u002F\u002Fediblecitiesnetwork.com","\u002Fimages\u002Fprojects\u002Fedicitnet-2x.webp","International platform for the European EdiCitNet project on edible cities, built with ICRA.",[304,20,305,23,306,307],"Vue","Express","Leaflet","Vue I18n",{"type":42,"children":309,"toc":360},[310,314,319,323,351,355],{"type":45,"tag":77,"props":311,"children":312},{"id":240},[313],{"type":50,"value":243},{"type":45,"tag":46,"props":315,"children":316},{},[317],{"type":50,"value":318},"EdiCitNet (Edible Cities Network) is a European Horizon 2020 project on edible cities: urban gardens, productive green roofs and other initiatives that bring food production into the city. The project needed an online platform where cities, organisations and researchers could share these solutions and learn from each other.",{"type":45,"tag":77,"props":320,"children":321},{"id":251},[322],{"type":50,"value":254},{"type":45,"tag":84,"props":324,"children":325},{},[326,331,336,341,346],{"type":45,"tag":88,"props":327,"children":328},{},[329],{"type":50,"value":330},"As a freelancer, I worked with the development team at ICRA (Catalan Institute for Water Research) on two versions of the platform, between 2020 and 2024.",{"type":45,"tag":88,"props":332,"children":333},{},[334],{"type":50,"value":335},"The first version was built with Vue 2 and Chart.js. The second is a full rewrite with Vue 3 and Vite.",{"type":45,"tag":88,"props":337,"children":338},{},[339],{"type":50,"value":340},"I developed both the frontend and the API, using Node.js, Express and MySQL. The API handles authentication, image uploads and email delivery.",{"type":45,"tag":88,"props":342,"children":343},{},[344],{"type":50,"value":345},"The platform includes a catalogue of initiatives and solutions with an interactive map (Leaflet), profiles, news and events, resources, community, Q&A and assessment questionnaires.",{"type":45,"tag":88,"props":347,"children":348},{},[349],{"type":50,"value":350},"The whole interface is multilingual.",{"type":45,"tag":77,"props":352,"children":353},{"id":275},[354],{"type":50,"value":278},{"type":45,"tag":46,"props":356,"children":357},{},[358],{"type":50,"value":359},"The platform is still live and serves the project's international network. It gave me the chance to collaborate with a research centre's distributed development team.",{"title":8,"searchDepth":129,"depth":129,"links":361},[362,363,364],{"id":240,"depth":129,"text":243},{"id":251,"depth":129,"text":254},{"id":275,"depth":129,"text":278},"content:en:projects:edicitnet.md","en\u002Fprojects\u002Fedicitnet.md","en\u002Fprojects\u002Fedicitnet",{"_path":369,"_dir":217,"_draft":7,"_partial":7,"_locale":8,"title":370,"description":8,"slug":371,"order":372,"category":296,"sector":373,"year":374,"role":299,"status":224,"outstanding":225,"url":375,"image":376,"imageWidth":228,"imageHeight":229,"summary":377,"technologies":378,"body":381,"_type":132,"_id":438,"_source":134,"_file":439,"_stem":440,"_extension":137},"\u002Fen\u002Fprojects\u002Fnat4wat","Nat4Wat","nat4wat",4,"Research · Water","2023–2025","https:\u002F\u002Fnat4wat.icra.cat","\u002Fimages\u002Fprojects\u002Fnat4wat-2x.webp","ICRA web tool for choosing nature-based solutions to treat, store and reuse water.",[379,304,380,20],"Nuxt 3","Pinia",{"type":42,"children":382,"toc":433},[383,387,392,396,424,428],{"type":45,"tag":77,"props":384,"children":385},{"id":240},[386],{"type":50,"value":243},{"type":45,"tag":46,"props":388,"children":389},{},[390],{"type":50,"value":391},"Nat4Wat is the tool of the European MULTISOURCE project, funded by the Horizon 2020 programme, that helps municipalities, companies and engineers choose nature-based solutions (such as constructed wetlands) to treat, store and reuse water. The research team's models and data at ICRA had to become a tool that non-specialists could use.",{"type":45,"tag":77,"props":393,"children":394},{"id":251},[395],{"type":50,"value":254},{"type":45,"tag":84,"props":397,"children":398},{},[399,404,409,414,419],{"type":45,"tag":88,"props":400,"children":401},{},[402],{"type":50,"value":403},"As a freelancer, between 2023 and 2025 I built the frontend with Nuxt 3 and Pinia and contributed to the Node.js API, together with the ICRA team.",{"type":45,"tag":88,"props":405,"children":406},{},[407],{"type":50,"value":408},"The core is \"Find your solution\", a step-by-step wizard: users describe their scenario (water, pollutants, available area, priorities) and the tool suggests the most suitable solutions.",{"type":45,"tag":88,"props":410,"children":411},{},[412],{"type":50,"value":413},"Solutions are compared through a multi-criteria analysis with charts, and a report can be generated.",{"type":45,"tag":88,"props":415,"children":416},{},[417],{"type":50,"value":418},"It also includes a catalogue of solutions, scientific publications and market cases, with a workflow to review and publish them.",{"type":45,"tag":88,"props":420,"children":421},{},[422],{"type":50,"value":423},"User profiles, saved scenarios, a helpdesk, guidelines and an FAQ complete the tool, all mobile-friendly.",{"type":45,"tag":77,"props":425,"children":426},{"id":275},[427],{"type":50,"value":278},{"type":45,"tag":46,"props":429,"children":430},{},[431],{"type":50,"value":432},"The tool is public and still live at nat4wat.icra.cat.",{"title":8,"searchDepth":129,"depth":129,"links":434},[435,436,437],{"id":240,"depth":129,"text":243},{"id":251,"depth":129,"text":254},{"id":275,"depth":129,"text":278},"content:en:projects:nat4wat.md","en\u002Fprojects\u002Fnat4wat.md","en\u002Fprojects\u002Fnat4wat",1791369457260]