feat: update email
This commit is contained in:
+256
-76
@@ -29,11 +29,35 @@
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<link rel="alternate" hreflang="es" href="https://www.itziarzameza.dev/index.html" />
|
<link
|
||||||
<link rel="alternate" hreflang="ca" href="https://www.itziarzameza.dev/index-ca.html" />
|
rel="alternate"
|
||||||
<link rel="alternate" hreflang="en" href="https://www.itziarzameza.dev/index-en.html" />
|
hreflang="es"
|
||||||
<link rel="preload" href="fonts/material-symbols-outlined.woff2" as="font" type="font/woff2" crossorigin />
|
href="https://www.itziarzameza.dev/index.html"
|
||||||
<link rel="preload" href="fonts/space/space-grotesk-v22-latin-regular.woff2" as="font" type="font/woff2" crossorigin />
|
/>
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
hreflang="ca"
|
||||||
|
href="https://www.itziarzameza.dev/index-ca.html"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
hreflang="en"
|
||||||
|
href="https://www.itziarzameza.dev/index-en.html"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="preload"
|
||||||
|
href="fonts/material-symbols-outlined.woff2"
|
||||||
|
as="font"
|
||||||
|
type="font/woff2"
|
||||||
|
crossorigin
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="preload"
|
||||||
|
href="fonts/space/space-grotesk-v22-latin-regular.woff2"
|
||||||
|
as="font"
|
||||||
|
type="font/woff2"
|
||||||
|
crossorigin
|
||||||
|
/>
|
||||||
<link rel="stylesheet" href="css/styles.css?v=1.1" />
|
<link rel="stylesheet" href="css/styles.css?v=1.1" />
|
||||||
</head>
|
</head>
|
||||||
<body
|
<body
|
||||||
@@ -95,12 +119,24 @@
|
|||||||
</nav>
|
</nav>
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-3">
|
||||||
<!-- Language Switcher -->
|
<!-- Language Switcher -->
|
||||||
<div class="flex items-center gap-1.5 glass px-3 py-1.5 rounded-full text-xs font-bold">
|
<div
|
||||||
<a href="index.html" class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors" title="Español">ES</a>
|
class="flex items-center gap-1.5 glass px-3 py-1.5 rounded-full text-xs font-bold"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
href="index.html"
|
||||||
|
class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors"
|
||||||
|
title="Español"
|
||||||
|
>ES</a
|
||||||
|
>
|
||||||
<span class="text-slate-300 dark:text-slate-700">|</span>
|
<span class="text-slate-300 dark:text-slate-700">|</span>
|
||||||
<span class="text-primary">CA</span>
|
<span class="text-primary">CA</span>
|
||||||
<span class="text-slate-300 dark:text-slate-700">|</span>
|
<span class="text-slate-300 dark:text-slate-700">|</span>
|
||||||
<a href="index-en.html" class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors" title="English">EN</a>
|
<a
|
||||||
|
href="index-en.html"
|
||||||
|
class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors"
|
||||||
|
title="English"
|
||||||
|
>EN</a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
class="size-10 flex items-center justify-center rounded-full glass hover:bg-white/60 dark:hover:bg-white/10 transition-colors"
|
class="size-10 flex items-center justify-center rounded-full glass hover:bg-white/60 dark:hover:bg-white/10 transition-colors"
|
||||||
@@ -146,12 +182,18 @@
|
|||||||
<h1
|
<h1
|
||||||
class="text-4xl md:text-6xl font-serif italic leading-[1.2] text-slate-900 dark:text-white mb-6 max-w-4xl font-light"
|
class="text-4xl md:text-6xl font-serif italic leading-[1.2] text-slate-900 dark:text-white mb-6 max-w-4xl font-light"
|
||||||
>
|
>
|
||||||
Quan necessitis utilitzar la tecnologia per generar impacte social de forma responsable, parla <span class="text-primary not-italic font-display font-black tracking-tighter">amb mi</span>.
|
Quan necessitis utilitzar la tecnologia per generar impacte social
|
||||||
|
de forma responsable, parla
|
||||||
|
<span
|
||||||
|
class="text-primary not-italic font-display font-black tracking-tighter"
|
||||||
|
>amb mi</span
|
||||||
|
>.
|
||||||
</h1>
|
</h1>
|
||||||
<p
|
<p
|
||||||
class="text-lg md:text-xl text-slate-600 dark:text-slate-400 max-w-2xl mb-12 leading-relaxed"
|
class="text-lg md:text-xl text-slate-600 dark:text-slate-400 max-w-2xl mb-12 leading-relaxed"
|
||||||
>
|
>
|
||||||
Desenvolupadora front-end especialitzada en tecnologia lleugera, accessible i sobirana. Amb base a Eivissa.
|
Desenvolupadora front-end especialitzada en tecnologia lleugera,
|
||||||
|
accessible i sobirana. Amb base a Eivissa.
|
||||||
</p>
|
</p>
|
||||||
<div class="flex flex-wrap justify-center gap-4">
|
<div class="flex flex-wrap justify-center gap-4">
|
||||||
<a
|
<a
|
||||||
@@ -176,7 +218,8 @@
|
|||||||
class="absolute inset-0 bg-gradient-to-t from-background-light/80 dark:from-background-dark/80 to-transparent"
|
class="absolute inset-0 bg-gradient-to-t from-background-light/80 dark:from-background-dark/80 to-transparent"
|
||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
</main> <!-- Manifest Section -->
|
</main>
|
||||||
|
<!-- Manifest Section -->
|
||||||
<section class="py-24 bg-white/30 dark:bg-white/5" id="manifiesto">
|
<section class="py-24 bg-white/30 dark:bg-white/5" id="manifiesto">
|
||||||
<div class="mx-auto max-w-6xl px-6">
|
<div class="mx-auto max-w-6xl px-6">
|
||||||
<div class="max-w-4xl mx-auto text-center mb-16">
|
<div class="max-w-4xl mx-auto text-center mb-16">
|
||||||
@@ -203,7 +246,8 @@
|
|||||||
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
||||||
Democratitzar i humanitzar la tecnologia, posant-la al servei
|
Democratitzar i humanitzar la tecnologia, posant-la al servei
|
||||||
de les persones i del planeta, i no al revés. Busco crear
|
de les persones i del planeta, i no al revés. Busco crear
|
||||||
eines que empoderin les comunitats en lloc de concentrar el poder.
|
eines que empoderin les comunitats en lloc de concentrar el
|
||||||
|
poder.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-8 glass rounded-3xl border border-white/20">
|
<div class="p-8 glass rounded-3xl border border-white/20">
|
||||||
@@ -220,7 +264,8 @@
|
|||||||
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
||||||
Desenvolupar solucions digitals eficients, accessibles i
|
Desenvolupar solucions digitals eficients, accessibles i
|
||||||
respectuoses amb els drets digitals, demostrant que una altra
|
respectuoses amb els drets digitals, demostrant que una altra
|
||||||
tecnologia és possible des del compromís local i l'impacte global.
|
tecnologia és possible des del compromís local i l'impacte
|
||||||
|
global.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -250,8 +295,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Optimitzar el consum de recursos, minimitzant la transferència
|
Optimitzar el consum de recursos, minimitzant la
|
||||||
de dades i l'empremta de carboni de les aplicacions web que desenvolupo.
|
transferència de dades i l'empremta de carboni de les
|
||||||
|
aplicacions web que desenvolupo.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<a
|
<a
|
||||||
@@ -260,9 +306,13 @@
|
|||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
class="inline-flex items-center gap-2 px-3.5 py-2.5 bg-emerald-500/10 border border-emerald-500/20 text-emerald-600 dark:text-emerald-400 rounded-xl text-xs font-bold hover:bg-emerald-500/20 transition-colors mt-2"
|
class="inline-flex items-center gap-2 px-3.5 py-2.5 bg-emerald-500/10 border border-emerald-500/20 text-emerald-600 dark:text-emerald-400 rounded-xl text-xs font-bold hover:bg-emerald-500/20 transition-colors mt-2"
|
||||||
>
|
>
|
||||||
<span class="material-symbols-outlined text-base">verified</span>
|
<span class="material-symbols-outlined text-base"
|
||||||
|
>verified</span
|
||||||
|
>
|
||||||
<span>Green Software Practitioner</span>
|
<span>Green Software Practitioner</span>
|
||||||
<span class="material-symbols-outlined text-xs ml-auto">open_in_new</span>
|
<span class="material-symbols-outlined text-xs ml-auto"
|
||||||
|
>open_in_new</span
|
||||||
|
>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -282,7 +332,8 @@
|
|||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Recolzar i contribuir al codi obert com a bé públic digital
|
Recolzar i contribuir al codi obert com a bé públic digital
|
||||||
que fomenta la sobirania tecnològica i l'aprenentatge compartit.
|
que fomenta la sobirania tecnològica i l'aprenentatge
|
||||||
|
compartit.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -295,14 +346,13 @@
|
|||||||
>
|
>
|
||||||
<span class="material-symbols-outlined">groups</span>
|
<span class="material-symbols-outlined">groups</span>
|
||||||
</div>
|
</div>
|
||||||
<h4 class="font-bold text-lg mb-2 dark:text-white">
|
<h4 class="font-bold text-lg mb-2 dark:text-white">Bé Comú</h4>
|
||||||
Bé Comú
|
|
||||||
</h4>
|
|
||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Prioritzar projectes i eines que generin un impacte social
|
Prioritzar projectes i eines que generin un impacte social
|
||||||
positiu, mesurable i orientat a resoldre necessitats reals de la societat.
|
positiu, mesurable i orientat a resoldre necessitats reals de
|
||||||
|
la societat.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -324,7 +374,8 @@
|
|||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Dissenyar interfícies web inclusives perquè tothom pugui
|
Dissenyar interfícies web inclusives perquè tothom pugui
|
||||||
accedir a la informació sense barreres físiques, cognitives o tecnològiques.
|
accedir a la informació sense barreres físiques, cognitives o
|
||||||
|
tecnològiques.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -344,7 +395,8 @@
|
|||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Respectar la sobirania de les dades personals, utilitzant
|
Respectar la sobirania de les dades personals, utilitzant
|
||||||
analítiques ètiques i cookieless, protegint els usuaris del rastreig corporatiu.
|
analítiques ètiques i cookieless, protegint els usuaris del
|
||||||
|
rastreig corporatiu.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -364,7 +416,8 @@
|
|||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Utilitzar models d'IA de forma ètica i transparent,
|
Utilitzar models d'IA de forma ètica i transparent,
|
||||||
prioritzant l'execució local i vetllant perquè serveixin de suport a l'agència humana.
|
prioritzant l'execució local i vetllant perquè serveixin de
|
||||||
|
suport a l'agència humana.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -381,7 +434,8 @@
|
|||||||
El meu laboratori
|
El meu laboratori
|
||||||
</h2>
|
</h2>
|
||||||
<p class="text-slate-500 dark:text-slate-400">
|
<p class="text-slate-500 dark:text-slate-400">
|
||||||
Un espai d'experimentació tècnica, eines reals i infraestructura digital sobirana.
|
Un espai d'experimentació tècnica, eines reals i infraestructura
|
||||||
|
digital sobirana.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -427,7 +481,10 @@
|
|||||||
<p
|
<p
|
||||||
class="text-slate-700 dark:text-slate-300 leading-relaxed"
|
class="text-slate-700 dark:text-slate-300 leading-relaxed"
|
||||||
>
|
>
|
||||||
La sobirania tecnològica comença als fonaments. He decidit gestionar la meva pròpia infraestructura per assegurar el control de les meves dades, la privacitat dels meus projectes i reduir la dependència dels gegants del núvol.
|
La sobirania tecnològica comença als fonaments. He decidit
|
||||||
|
gestionar la meva pròpia infraestructura per assegurar el
|
||||||
|
control de les meves dades, la privacitat dels meus
|
||||||
|
projectes i reduir la dependència dels gegants del núvol.
|
||||||
</p>
|
</p>
|
||||||
<div
|
<div
|
||||||
class="p-6 bg-emerald-500/10 border border-emerald-500/20 rounded-2xl"
|
class="p-6 bg-emerald-500/10 border border-emerald-500/20 rounded-2xl"
|
||||||
@@ -439,7 +496,10 @@
|
|||||||
<span>Compromís Verd</span>
|
<span>Compromís Verd</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-sm text-slate-600 dark:text-slate-400">
|
<p class="text-sm text-slate-600 dark:text-slate-400">
|
||||||
La meva infraestructura està allotjada al centre de dades de Hetzner a Hèlsinki, alimentat per energia 100% lliure de carboni procedent de fonts eòliques i hidràuliques.
|
La meva infraestructura està allotjada al centre de
|
||||||
|
dades de Hetzner a Hèlsinki, alimentat per energia 100%
|
||||||
|
lliure de carboni procedent de fonts eòliques i
|
||||||
|
hidràuliques.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -455,7 +515,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
||||||
>
|
>
|
||||||
Servidors dedicats i VPS alimentats per energia verda a Finlàndia.
|
Servidors dedicats i VPS alimentats per energia verda a
|
||||||
|
Finlàndia.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-6 glass rounded-2xl border border-white/10">
|
<div class="p-6 glass rounded-2xl border border-white/10">
|
||||||
@@ -479,7 +540,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
||||||
>
|
>
|
||||||
Servei Git lleuger autohospedat per al control sobirà de codi.
|
Servei Git lleuger autohospedat per al control sobirà de
|
||||||
|
codi.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-6 glass rounded-2xl border border-white/10">
|
<div class="p-6 glass rounded-2xl border border-white/10">
|
||||||
@@ -491,7 +553,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
||||||
>
|
>
|
||||||
Automatització de fluxos de treball self-hosted lliure de lligams de SaaS.
|
Automatització de fluxos de treball self-hosted lliure
|
||||||
|
de lligams de SaaS.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-6 glass rounded-2xl border border-white/10">
|
<div class="p-6 glass rounded-2xl border border-white/10">
|
||||||
@@ -503,7 +566,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
||||||
>
|
>
|
||||||
Analítica web ètica, respectuosa amb la privacitat i cookieless.
|
Analítica web ètica, respectuosa amb la privacitat i
|
||||||
|
cookieless.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-6 glass rounded-2xl border border-white/10">
|
<div class="p-6 glass rounded-2xl border border-white/10">
|
||||||
@@ -515,7 +579,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
||||||
>
|
>
|
||||||
Eina de gravació de pantalla de codi lliure al nostre node.
|
Eina de gravació de pantalla de codi lliure al nostre
|
||||||
|
node.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -544,7 +609,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Comparació empírica del consum de CPU i xarxa entre arquitectures SSR (Astro/Next.js) i pàgines HTML estàtiques optimitzades.
|
Comparació empírica del consum de CPU i xarxa entre
|
||||||
|
arquitectures SSR (Astro/Next.js) i pàgines HTML
|
||||||
|
estàtiques optimitzades.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@@ -566,7 +633,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Execució de models petits com Llama 3.2 1B i Phi-3 amb Ollama en local per a tasques de classificació i etiquetatge amb zero cost d'API i privacitat garantida.
|
Execució de models petits com Llama 3.2 1B i Phi-3 amb
|
||||||
|
Ollama en local per a tasques de classificació i
|
||||||
|
etiquetatge amb zero cost d'API i privacitat garantida.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@@ -588,7 +657,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Auditoria manual d'interfícies complexes amb lectors NVDA i VoiceOver per validar fluxos interactius dinàmics i estats d'ARIA en viu.
|
Auditoria manual d'interfícies complexes amb lectors NVDA
|
||||||
|
i VoiceOver per validar fluxos interactius dinàmics i
|
||||||
|
estats d'ARIA en viu.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -619,7 +690,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Instància personal autohospedada de música a Hetzner per recuperar la sobirania sobre els meus arxius d'àudio i evitar algorismes corporatius d'streaming.
|
Instància personal autohospedada de música a Hetzner
|
||||||
|
per recuperar la sobirania sobre els meus arxius
|
||||||
|
d'àudio i evitar algorismes corporatius d'streaming.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between mt-4">
|
<div class="flex items-center justify-between mt-4">
|
||||||
@@ -650,7 +723,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Pipeline autònom en local que intercepta notes de veu, les transcriu i les processa utilitzant Ollama amb models d'IA de codi obert sense enviar dades a OpenAI.
|
Pipeline autònom en local que intercepta notes de veu,
|
||||||
|
les transcriu i les processa utilitzant Ollama amb
|
||||||
|
models d'IA de codi obert sense enviar dades a OpenAI.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between mt-4">
|
<div class="flex items-center justify-between mt-4">
|
||||||
@@ -681,7 +756,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Col·laboració activa i correcció d'errors en eines i frameworks de codi obert que utilitzem en el dia a dia.
|
Col·laboració activa i correcció d'errors en eines i
|
||||||
|
frameworks de codi obert que utilitzem en el dia a
|
||||||
|
dia.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between mt-4">
|
<div class="flex items-center justify-between mt-4">
|
||||||
@@ -712,7 +789,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Tauler interactiu i visualització ecològica sobre el consum d'aigua i recursos a l'arxipèlag balear, dissenyat amb tecnologies web lleugeres.
|
Tauler interactiu i visualització ecològica sobre el
|
||||||
|
consum d'aigua i recursos a l'arxipèlag balear,
|
||||||
|
dissenyat amb tecnologies web lleugeres.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between mt-4">
|
<div class="flex items-center justify-between mt-4">
|
||||||
@@ -760,8 +839,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Sistema de processament intel·ligent multimèdia.
|
Sistema de processament intel·ligent multimèdia. Rep
|
||||||
Rep àudios i PDFs, els transcriu i els estructura
|
àudios i PDFs, els transcriu i els estructura
|
||||||
mitjançant APIs d'IA comercials per a la seva
|
mitjançant APIs d'IA comercials per a la seva
|
||||||
posterior consulta semàntica.
|
posterior consulta semàntica.
|
||||||
</p>
|
</p>
|
||||||
@@ -789,7 +868,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Bot conversacional de Telegram connectat amb Supabase i RAG que suggereix receptes basant-se en ingredients disponibles en temps real.
|
Bot conversacional de Telegram connectat amb
|
||||||
|
Supabase i RAG que suggereix receptes basant-se en
|
||||||
|
ingredients disponibles en temps real.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-4 items-center">
|
<div class="flex gap-4 items-center">
|
||||||
@@ -817,11 +898,20 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<!-- Nota 1: Green Software Practitioner -->
|
<!-- Nota 1: Green Software Practitioner -->
|
||||||
<article class="p-6 glass rounded-2xl border border-white/10 space-y-4">
|
<article
|
||||||
|
class="p-6 glass rounded-2xl border border-white/10 space-y-4"
|
||||||
|
>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span class="text-xs text-slate-400 dark:text-slate-500 font-mono">20 de Juliol, 2026</span>
|
<span
|
||||||
<span class="px-2.5 py-0.5 bg-emerald-500/10 text-emerald-500 text-xs font-bold rounded-full flex items-center gap-1">
|
class="text-xs text-slate-400 dark:text-slate-500 font-mono"
|
||||||
<span class="material-symbols-outlined text-xs">verified</span>
|
>20 de Juliol, 2026</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="px-2.5 py-0.5 bg-emerald-500/10 text-emerald-500 text-xs font-bold rounded-full flex items-center gap-1"
|
||||||
|
>
|
||||||
|
<span class="material-symbols-outlined text-xs"
|
||||||
|
>verified</span
|
||||||
|
>
|
||||||
Green Software
|
Green Software
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -830,47 +920,111 @@
|
|||||||
Green Software Practitioner — 5 idees que em porto
|
Green Software Practitioner — 5 idees que em porto
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<div class="space-y-4 text-sm text-slate-700 dark:text-slate-300 leading-relaxed">
|
<div
|
||||||
|
class="space-y-4 text-sm text-slate-700 dark:text-slate-300 leading-relaxed"
|
||||||
|
>
|
||||||
<div>
|
<div>
|
||||||
<h5 class="font-bold text-slate-900 dark:text-white mb-1">Per què vaig fer aquesta certificació?</h5>
|
<h5
|
||||||
<p>Perquè vull construir tecnologia que tingui en compte el seu impacte ambiental i social.</p>
|
class="font-bold text-slate-900 dark:text-white mb-1"
|
||||||
|
>
|
||||||
|
Per què vaig fer aquesta certificació?
|
||||||
|
</h5>
|
||||||
|
<p>
|
||||||
|
Perquè vull construir tecnologia que tingui en compte
|
||||||
|
el seu impacte ambiental i social.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h5 class="font-bold text-slate-900 dark:text-white mb-2">Cinc idees que em porto:</h5>
|
<h5
|
||||||
|
class="font-bold text-slate-900 dark:text-white mb-2"
|
||||||
|
>
|
||||||
|
Cinc idees que em porto:
|
||||||
|
</h5>
|
||||||
<ol class="list-decimal list-inside space-y-2.5 pl-1">
|
<ol class="list-decimal list-inside space-y-2.5 pl-1">
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">La millor energia és la que no es consumeix.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">Optimitzar no és només fer la web més ràpida. També significa consumir menys recursos.</p>
|
>La millor energia és la que no es
|
||||||
|
consumeix.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
Optimitzar no és només fer la web més ràpida.
|
||||||
|
També significa consumir menys recursos.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">L'eficiència comença en el disseny.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">Escollir una arquitectura senzilla sol ser millor que optimitzar després.</p>
|
>L'eficiència comença en el disseny.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
Escollir una arquitectura senzilla sol ser millor
|
||||||
|
que optimitzar després.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">Mesurar abans de millorar.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">No podem reduir allò que no mesurem.</p>
|
>Mesurar abans de millorar.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
No podem reduir allò que no mesurem.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">El programari també té empremta de carboni.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">Cada transferència de dades, procés o emmagatzematge té un cost.</p>
|
>El programari també té empremta de
|
||||||
|
carboni.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
Cada transferència de dades, procés o
|
||||||
|
emmagatzematge té un cost.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">Green Software no consisteix només a consumir menys.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">També implica dissenyar productes que ajudin a reduir l'impacte ambiental de les persones i les organitzacions.</p>
|
>Green Software no consisteix només a consumir
|
||||||
|
menys.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
També implica dissenyar productes que ajudin a
|
||||||
|
reduir l'impacte ambiental de les persones i les
|
||||||
|
organitzacions.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h5 class="font-bold text-slate-900 dark:text-white mb-1">I ara què?</h5>
|
<h5
|
||||||
<p>Estic llegint <em>Sobirania Tecnològica</em> perquè crec que la sostenibilitat no depèn només del consum energètic, sinó també de qui controla la infraestructura i el programari que utilitzem.</p>
|
class="font-bold text-slate-900 dark:text-white mb-1"
|
||||||
|
>
|
||||||
|
I ara què?
|
||||||
|
</h5>
|
||||||
|
<p>
|
||||||
|
Estic llegint <em>Sobirania Tecnològica</em> perquè
|
||||||
|
crec que la sostenibilitat no depèn només del consum
|
||||||
|
energètic, sinó també de qui controla la
|
||||||
|
infraestructura i el programari que utilitzem.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Frase fixa al final de la nota -->
|
<!-- Frase fixa al final de la nota -->
|
||||||
<div class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400">
|
<div
|
||||||
Aquestes són notes d'aprenentatge, no guies definitives. Si veus alguna cosa que es pugui millorar, m'encantarà escoltar-te.
|
class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400"
|
||||||
|
>
|
||||||
|
Aquestes són notes d'aprenentatge, no guies definitives.
|
||||||
|
Si veus alguna cosa que es pugui millorar, m'encantarà
|
||||||
|
escoltar-te.
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
@@ -902,8 +1056,12 @@
|
|||||||
>arrow_right_alt</span
|
>arrow_right_alt</span
|
||||||
>
|
>
|
||||||
</a>
|
</a>
|
||||||
<div class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4">
|
<div
|
||||||
Aquestes són notes d'aprenentatge, no guies definitives. Si veus alguna cosa que es pugui millorar, m'encantarà escoltar-te.
|
class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4"
|
||||||
|
>
|
||||||
|
Aquestes són notes d'aprenentatge, no guies definitives.
|
||||||
|
Si veus alguna cosa que es pugui millorar, m'encantarà
|
||||||
|
escoltar-te.
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
@@ -927,8 +1085,12 @@
|
|||||||
<span class="text-xs text-slate-400 mt-4 block"
|
<span class="text-xs text-slate-400 mt-4 block"
|
||||||
>Pròximament</span
|
>Pròximament</span
|
||||||
>
|
>
|
||||||
<div class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4">
|
<div
|
||||||
Aquestes són notes d'aprenentatge, no guies definitives. Si veus alguna cosa que es pugui millorar, m'encantarà escoltar-te.
|
class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4"
|
||||||
|
>
|
||||||
|
Aquestes són notes d'aprenentatge, no guies definitives.
|
||||||
|
Si veus alguna cosa que es pugui millorar, m'encantarà
|
||||||
|
escoltar-te.
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
@@ -966,7 +1128,7 @@
|
|||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
class="bg-slate-900 dark:bg-slate-800 text-white px-10 py-5 rounded-2xl font-bold flex items-center justify-center gap-3 hover:bg-slate-800 dark:hover:bg-slate-700 transition-colors shadow-2xl"
|
class="bg-slate-900 dark:bg-slate-800 text-white px-10 py-5 rounded-2xl font-bold flex items-center justify-center gap-3 hover:bg-slate-800 dark:hover:bg-slate-700 transition-colors shadow-2xl"
|
||||||
href="mailto:itziar.zameza@gmail.com"
|
href="mailto:itziar.zameza.dev@gmail.com"
|
||||||
>
|
>
|
||||||
<span class="material-symbols-outlined">mail</span>
|
<span class="material-symbols-outlined">mail</span>
|
||||||
Enviar un Email
|
Enviar un Email
|
||||||
@@ -1051,7 +1213,11 @@
|
|||||||
Descripció
|
Descripció
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
||||||
Sistema d'ingestió i processament intel·ligent de contingut multimèdia. Rep àudio, PDFs, vídeos i text. Utilitza models d'IA per transcriure, resumir i extreure informació clau, emmagatzemant tot a Supabase de forma estructurada per a la seva posterior reutilització.
|
Sistema d'ingestió i processament intel·ligent de contingut
|
||||||
|
multimèdia. Rep àudio, PDFs, vídeos i text. Utilitza models d'IA
|
||||||
|
per transcriure, resumir i extreure informació clau,
|
||||||
|
emmagatzemant tot a Supabase de forma estructurada per a la seva
|
||||||
|
posterior reutilització.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -1099,7 +1265,9 @@
|
|||||||
Resultat
|
Resultat
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-slate-700 dark:text-slate-300">
|
<p class="text-slate-700 dark:text-slate-300">
|
||||||
Pipeline completament automatitzat que redueix el temps de processament de contingut en un 85% i permet reutilitzar informació de forma intel·ligent mitjançant cerques semàntiques.
|
Pipeline completament automatitzat que redueix el temps de
|
||||||
|
processament de contingut en un 85% i permet reutilitzar
|
||||||
|
informació de forma intel·ligent mitjançant cerques semàntiques.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1156,7 +1324,11 @@
|
|||||||
Descripció
|
Descripció
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
||||||
Agent conversacional intel·ligent a Telegram que actua com a assistent culinari personal. Consulta el teu inventari a Supabase, accedeix a un RAG especialitzat amb receptes per evitar al·lucinacions, i suggereix plats personalitzats basats en el que tens disponible.
|
Agent conversacional intel·ligent a Telegram que actua com a
|
||||||
|
assistent culinari personal. Consulta el teu inventari a
|
||||||
|
Supabase, accedeix a un RAG especialitzat amb receptes per
|
||||||
|
evitar al·lucinacions, i suggereix plats personalitzats basats
|
||||||
|
en el que tens disponible.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -1169,8 +1341,12 @@
|
|||||||
>
|
>
|
||||||
<li>Integració bidireccional amb Supabase</li>
|
<li>Integració bidireccional amb Supabase</li>
|
||||||
<li>Consulta automàtica d'inventari a la base de dades</li>
|
<li>Consulta automàtica d'inventari a la base de dades</li>
|
||||||
<li>RAG (Retrieval-Augmented Generation) amb receptes verificades</li>
|
<li>
|
||||||
<li>Prevenció d'al·lucinacions mitjançant fine-tuning de prompts</li>
|
RAG (Retrieval-Augmented Generation) amb receptes verificades
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Prevenció d'al·lucinacions mitjançant fine-tuning de prompts
|
||||||
|
</li>
|
||||||
<li>Generació de receptes personalitzades sense al·lucinar</li>
|
<li>Generació de receptes personalitzades sense al·lucinar</li>
|
||||||
<li>Actualització automàtica de l'inventari</li>
|
<li>Actualització automàtica de l'inventari</li>
|
||||||
<li>Conversa natural i contextual</li>
|
<li>Conversa natural i contextual</li>
|
||||||
@@ -1210,7 +1386,11 @@
|
|||||||
Resultat
|
Resultat
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-slate-700 dark:text-slate-300">
|
<p class="text-slate-700 dark:text-slate-300">
|
||||||
Assistent culinari robust que elimina la decisió de "què cuinar" sense generar receptes inexistents. El RAG garanteix que totes les suggerències provenen d'un corpus de receptes verificades, proporcionant fiabilitat i personalització sense al·lucinacions de la IA.
|
Assistent culinari robust que elimina la decisió de "què cuinar"
|
||||||
|
sense generar receptes inexistents. El RAG garanteix que totes
|
||||||
|
les suggerències provenen d'un corpus de receptes verificades,
|
||||||
|
proporcionant fiabilitat i personalització sense al·lucinacions
|
||||||
|
de la IA.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+247
-73
@@ -29,11 +29,35 @@
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<link rel="alternate" hreflang="es" href="https://www.itziarzameza.dev/index.html" />
|
<link
|
||||||
<link rel="alternate" hreflang="ca" href="https://www.itziarzameza.dev/index-ca.html" />
|
rel="alternate"
|
||||||
<link rel="alternate" hreflang="en" href="https://www.itziarzameza.dev/index-en.html" />
|
hreflang="es"
|
||||||
<link rel="preload" href="fonts/material-symbols-outlined.woff2" as="font" type="font/woff2" crossorigin />
|
href="https://www.itziarzameza.dev/index.html"
|
||||||
<link rel="preload" href="fonts/space/space-grotesk-v22-latin-regular.woff2" as="font" type="font/woff2" crossorigin />
|
/>
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
hreflang="ca"
|
||||||
|
href="https://www.itziarzameza.dev/index-ca.html"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
hreflang="en"
|
||||||
|
href="https://www.itziarzameza.dev/index-en.html"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="preload"
|
||||||
|
href="fonts/material-symbols-outlined.woff2"
|
||||||
|
as="font"
|
||||||
|
type="font/woff2"
|
||||||
|
crossorigin
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="preload"
|
||||||
|
href="fonts/space/space-grotesk-v22-latin-regular.woff2"
|
||||||
|
as="font"
|
||||||
|
type="font/woff2"
|
||||||
|
crossorigin
|
||||||
|
/>
|
||||||
<link rel="stylesheet" href="css/styles.css?v=1.1" />
|
<link rel="stylesheet" href="css/styles.css?v=1.1" />
|
||||||
</head>
|
</head>
|
||||||
<body
|
<body
|
||||||
@@ -95,10 +119,22 @@
|
|||||||
</nav>
|
</nav>
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-3">
|
||||||
<!-- Language Switcher -->
|
<!-- Language Switcher -->
|
||||||
<div class="flex items-center gap-1.5 glass px-3 py-1.5 rounded-full text-xs font-bold">
|
<div
|
||||||
<a href="index.html" class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors" title="Español">ES</a>
|
class="flex items-center gap-1.5 glass px-3 py-1.5 rounded-full text-xs font-bold"
|
||||||
|
>
|
||||||
|
<a
|
||||||
|
href="index.html"
|
||||||
|
class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors"
|
||||||
|
title="Español"
|
||||||
|
>ES</a
|
||||||
|
>
|
||||||
<span class="text-slate-300 dark:text-slate-700">|</span>
|
<span class="text-slate-300 dark:text-slate-700">|</span>
|
||||||
<a href="index-ca.html" class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors" title="Català">CA</a>
|
<a
|
||||||
|
href="index-ca.html"
|
||||||
|
class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors"
|
||||||
|
title="Català"
|
||||||
|
>CA</a
|
||||||
|
>
|
||||||
<span class="text-slate-300 dark:text-slate-700">|</span>
|
<span class="text-slate-300 dark:text-slate-700">|</span>
|
||||||
<span class="text-primary">EN</span>
|
<span class="text-primary">EN</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -146,12 +182,18 @@
|
|||||||
<h1
|
<h1
|
||||||
class="text-4xl md:text-6xl font-serif italic leading-[1.2] text-slate-900 dark:text-white mb-6 max-w-4xl font-light"
|
class="text-4xl md:text-6xl font-serif italic leading-[1.2] text-slate-900 dark:text-white mb-6 max-w-4xl font-light"
|
||||||
>
|
>
|
||||||
When you need to use technology to generate social impact responsibly, talk <span class="text-primary not-italic font-display font-black tracking-tighter">with me</span>.
|
When you need to use technology to generate social impact
|
||||||
|
responsibly, talk
|
||||||
|
<span
|
||||||
|
class="text-primary not-italic font-display font-black tracking-tighter"
|
||||||
|
>with me</span
|
||||||
|
>.
|
||||||
</h1>
|
</h1>
|
||||||
<p
|
<p
|
||||||
class="text-lg md:text-xl text-slate-600 dark:text-slate-400 max-w-2xl mb-12 leading-relaxed"
|
class="text-lg md:text-xl text-slate-600 dark:text-slate-400 max-w-2xl mb-12 leading-relaxed"
|
||||||
>
|
>
|
||||||
Front-end developer specialized in lightweight, accessible, and sovereign technology. Based in Ibiza.
|
Front-end developer specialized in lightweight, accessible, and
|
||||||
|
sovereign technology. Based in Ibiza.
|
||||||
</p>
|
</p>
|
||||||
<div class="flex flex-wrap justify-center gap-4">
|
<div class="flex flex-wrap justify-center gap-4">
|
||||||
<a
|
<a
|
||||||
@@ -204,8 +246,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
||||||
Democratize and humanize technology, putting it at the service
|
Democratize and humanize technology, putting it at the service
|
||||||
of people and the planet, and not the other way around. I seek to create
|
of people and the planet, and not the other way around. I seek
|
||||||
tools that empower communities rather than concentrate power.
|
to create tools that empower communities rather than
|
||||||
|
concentrate power.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-8 glass rounded-3xl border border-white/20">
|
<div class="p-8 glass rounded-3xl border border-white/20">
|
||||||
@@ -252,8 +295,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Optimize resource consumption, minimizing data transfer
|
Optimize resource consumption, minimizing data transfer and
|
||||||
and the carbon footprint of the web applications I develop.
|
the carbon footprint of the web applications I develop.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<a
|
<a
|
||||||
@@ -262,9 +305,13 @@
|
|||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
class="inline-flex items-center gap-2 px-3.5 py-2.5 bg-emerald-500/10 border border-emerald-500/20 text-emerald-600 dark:text-emerald-400 rounded-xl text-xs font-bold hover:bg-emerald-500/20 transition-colors mt-2"
|
class="inline-flex items-center gap-2 px-3.5 py-2.5 bg-emerald-500/10 border border-emerald-500/20 text-emerald-600 dark:text-emerald-400 rounded-xl text-xs font-bold hover:bg-emerald-500/20 transition-colors mt-2"
|
||||||
>
|
>
|
||||||
<span class="material-symbols-outlined text-base">verified</span>
|
<span class="material-symbols-outlined text-base"
|
||||||
|
>verified</span
|
||||||
|
>
|
||||||
<span>Green Software Practitioner</span>
|
<span>Green Software Practitioner</span>
|
||||||
<span class="material-symbols-outlined text-xs ml-auto">open_in_new</span>
|
<span class="material-symbols-outlined text-xs ml-auto"
|
||||||
|
>open_in_new</span
|
||||||
|
>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -283,8 +330,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Support and contribute to open source as a digital public
|
Support and contribute to open source as a digital public good
|
||||||
good that fosters technological sovereignty and shared learning.
|
that fosters technological sovereignty and shared learning.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -304,7 +351,8 @@
|
|||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Prioritize projects and tools that generate a positive,
|
Prioritize projects and tools that generate a positive,
|
||||||
measurable social impact oriented toward solving real society needs.
|
measurable social impact oriented toward solving real society
|
||||||
|
needs.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -326,7 +374,8 @@
|
|||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Design inclusive web interfaces so everyone can access
|
Design inclusive web interfaces so everyone can access
|
||||||
information without physical, cognitive, or technological barriers.
|
information without physical, cognitive, or technological
|
||||||
|
barriers.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -339,14 +388,13 @@
|
|||||||
>
|
>
|
||||||
<span class="material-symbols-outlined">shield</span>
|
<span class="material-symbols-outlined">shield</span>
|
||||||
</div>
|
</div>
|
||||||
<h4 class="font-bold text-lg mb-2 dark:text-white">
|
<h4 class="font-bold text-lg mb-2 dark:text-white">Privacy</h4>
|
||||||
Privacy
|
|
||||||
</h4>
|
|
||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Respect personal data sovereignty, using ethical and
|
Respect personal data sovereignty, using ethical and
|
||||||
cookieless analytics, protecting users from corporate tracking.
|
cookieless analytics, protecting users from corporate
|
||||||
|
tracking.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -383,7 +431,8 @@
|
|||||||
My Laboratory
|
My Laboratory
|
||||||
</h2>
|
</h2>
|
||||||
<p class="text-slate-500 dark:text-slate-400">
|
<p class="text-slate-500 dark:text-slate-400">
|
||||||
A space for technical experimentation, real tools, and sovereign digital infrastructure.
|
A space for technical experimentation, real tools, and sovereign
|
||||||
|
digital infrastructure.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -429,7 +478,10 @@
|
|||||||
<p
|
<p
|
||||||
class="text-slate-700 dark:text-slate-300 leading-relaxed"
|
class="text-slate-700 dark:text-slate-300 leading-relaxed"
|
||||||
>
|
>
|
||||||
Technological sovereignty begins at the foundations. I have chosen to manage my own infrastructure to ensure control over my data, project privacy, and reduce dependency on cloud giants.
|
Technological sovereignty begins at the foundations. I
|
||||||
|
have chosen to manage my own infrastructure to ensure
|
||||||
|
control over my data, project privacy, and reduce
|
||||||
|
dependency on cloud giants.
|
||||||
</p>
|
</p>
|
||||||
<div
|
<div
|
||||||
class="p-6 bg-emerald-500/10 border border-emerald-500/20 rounded-2xl"
|
class="p-6 bg-emerald-500/10 border border-emerald-500/20 rounded-2xl"
|
||||||
@@ -441,7 +493,9 @@
|
|||||||
<span>Green Commitment</span>
|
<span>Green Commitment</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="text-sm text-slate-600 dark:text-slate-400">
|
<p class="text-sm text-slate-600 dark:text-slate-400">
|
||||||
My infrastructure is hosted at Hetzner's data center in Helsinki, powered by 100% carbon-free energy from wind and hydro sources.
|
My infrastructure is hosted at Hetzner's data center in
|
||||||
|
Helsinki, powered by 100% carbon-free energy from wind
|
||||||
|
and hydro sources.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -457,7 +511,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
||||||
>
|
>
|
||||||
Dedicated servers and VPS powered by green energy in Finland.
|
Dedicated servers and VPS powered by green energy in
|
||||||
|
Finland.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-6 glass rounded-2xl border border-white/10">
|
<div class="p-6 glass rounded-2xl border border-white/10">
|
||||||
@@ -481,7 +536,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
class="text-xs text-slate-500 dark:text-slate-400 mt-1"
|
||||||
>
|
>
|
||||||
Lightweight self-hosted Git service for sovereign code control.
|
Lightweight self-hosted Git service for sovereign code
|
||||||
|
control.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-6 glass rounded-2xl border border-white/10">
|
<div class="p-6 glass rounded-2xl border border-white/10">
|
||||||
@@ -534,7 +590,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Empirical comparison of CPU and network consumption between SSR (Astro/Next.js) architectures and optimized static HTML pages.
|
Empirical comparison of CPU and network consumption
|
||||||
|
between SSR (Astro/Next.js) architectures and optimized
|
||||||
|
static HTML pages.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@@ -556,7 +614,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Running small models like Llama 3.2 1B and Phi-3 with Ollama locally for classification and tagging tasks with zero API cost and guaranteed privacy.
|
Running small models like Llama 3.2 1B and Phi-3 with
|
||||||
|
Ollama locally for classification and tagging tasks with
|
||||||
|
zero API cost and guaranteed privacy.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@@ -578,7 +638,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Manual audit of complex interfaces using NVDA and VoiceOver screen readers to validate dynamic interactive flows and live ARIA states.
|
Manual audit of complex interfaces using NVDA and
|
||||||
|
VoiceOver screen readers to validate dynamic interactive
|
||||||
|
flows and live ARIA states.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -609,7 +671,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Personal self-hosted music instance on Hetzner to regain sovereignty over my audio files and avoid corporate streaming algorithms.
|
Personal self-hosted music instance on Hetzner to
|
||||||
|
regain sovereignty over my audio files and avoid
|
||||||
|
corporate streaming algorithms.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between mt-4">
|
<div class="flex items-center justify-between mt-4">
|
||||||
@@ -640,7 +704,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Autonomous local pipeline that captures voice notes, transcribes them, and processes them using Ollama with open-source AI models without sending data to OpenAI.
|
Autonomous local pipeline that captures voice notes,
|
||||||
|
transcribes them, and processes them using Ollama with
|
||||||
|
open-source AI models without sending data to OpenAI.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between mt-4">
|
<div class="flex items-center justify-between mt-4">
|
||||||
@@ -671,7 +737,8 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Active collaboration and bug fixing in open-source tools and frameworks used daily.
|
Active collaboration and bug fixing in open-source
|
||||||
|
tools and frameworks used daily.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between mt-4">
|
<div class="flex items-center justify-between mt-4">
|
||||||
@@ -702,7 +769,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Interactive dashboard and ecological visualization of water and resource consumption in the Balearic archipelago, built with lightweight web technologies.
|
Interactive dashboard and ecological visualization of
|
||||||
|
water and resource consumption in the Balearic
|
||||||
|
archipelago, built with lightweight web technologies.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-between mt-4">
|
<div class="flex items-center justify-between mt-4">
|
||||||
@@ -750,7 +819,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Intelligent multimedia processing system. Receives audio files and PDFs, transcribes, and structures them using commercial AI APIs for semantic querying.
|
Intelligent multimedia processing system. Receives
|
||||||
|
audio files and PDFs, transcribes, and structures
|
||||||
|
them using commercial AI APIs for semantic querying.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-4 items-center">
|
<div class="flex gap-4 items-center">
|
||||||
@@ -776,7 +847,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Conversational Telegram bot connected to Supabase and RAG that suggests recipes based on available ingredients in real time.
|
Conversational Telegram bot connected to Supabase
|
||||||
|
and RAG that suggests recipes based on available
|
||||||
|
ingredients in real time.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex gap-4 items-center">
|
<div class="flex gap-4 items-center">
|
||||||
@@ -804,11 +877,20 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<!-- Note 1: Green Software Practitioner -->
|
<!-- Note 1: Green Software Practitioner -->
|
||||||
<article class="p-6 glass rounded-2xl border border-white/10 space-y-4">
|
<article
|
||||||
|
class="p-6 glass rounded-2xl border border-white/10 space-y-4"
|
||||||
|
>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span class="text-xs text-slate-400 dark:text-slate-500 font-mono">July 20, 2026</span>
|
<span
|
||||||
<span class="px-2.5 py-0.5 bg-emerald-500/10 text-emerald-500 text-xs font-bold rounded-full flex items-center gap-1">
|
class="text-xs text-slate-400 dark:text-slate-500 font-mono"
|
||||||
<span class="material-symbols-outlined text-xs">verified</span>
|
>July 20, 2026</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="px-2.5 py-0.5 bg-emerald-500/10 text-emerald-500 text-xs font-bold rounded-full flex items-center gap-1"
|
||||||
|
>
|
||||||
|
<span class="material-symbols-outlined text-xs"
|
||||||
|
>verified</span
|
||||||
|
>
|
||||||
Green Software
|
Green Software
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -817,47 +899,111 @@
|
|||||||
Green Software Practitioner — 5 Key Takeaways
|
Green Software Practitioner — 5 Key Takeaways
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<div class="space-y-4 text-sm text-slate-700 dark:text-slate-300 leading-relaxed">
|
<div
|
||||||
|
class="space-y-4 text-sm text-slate-700 dark:text-slate-300 leading-relaxed"
|
||||||
|
>
|
||||||
<div>
|
<div>
|
||||||
<h5 class="font-bold text-slate-900 dark:text-white mb-1">Why did I get this certification?</h5>
|
<h5
|
||||||
<p>Because I want to build technology that takes its environmental and social impact into account.</p>
|
class="font-bold text-slate-900 dark:text-white mb-1"
|
||||||
|
>
|
||||||
|
Why did I get this certification?
|
||||||
|
</h5>
|
||||||
|
<p>
|
||||||
|
Because I want to build technology that takes its
|
||||||
|
environmental and social impact into account.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h5 class="font-bold text-slate-900 dark:text-white mb-2">Five ideas I'm taking away:</h5>
|
<h5
|
||||||
|
class="font-bold text-slate-900 dark:text-white mb-2"
|
||||||
|
>
|
||||||
|
Five ideas I'm taking away:
|
||||||
|
</h5>
|
||||||
<ol class="list-decimal list-inside space-y-2.5 pl-1">
|
<ol class="list-decimal list-inside space-y-2.5 pl-1">
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">The best energy is the energy not consumed.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">Optimizing isn't just about making websites faster. It also means using fewer resources.</p>
|
>The best energy is the energy not
|
||||||
|
consumed.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
Optimizing isn't just about making websites
|
||||||
|
faster. It also means using fewer resources.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">Efficiency starts with design.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">Choosing a simple architecture is usually better than optimizing later.</p>
|
>Efficiency starts with design.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
Choosing a simple architecture is usually better
|
||||||
|
than optimizing later.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">Measure before improving.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">We cannot reduce what we do not measure.</p>
|
>Measure before improving.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
We cannot reduce what we do not measure.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">Software also has a carbon footprint.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">Every data transfer, process, or storage has a cost.</p>
|
>Software also has a carbon footprint.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
Every data transfer, process, or storage has a
|
||||||
|
cost.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">Green Software isn't just about consuming less.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">It also means designing products that help reduce the environmental impact of people and organizations.</p>
|
>Green Software isn't just about consuming
|
||||||
|
less.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
It also means designing products that help reduce
|
||||||
|
the environmental impact of people and
|
||||||
|
organizations.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h5 class="font-bold text-slate-900 dark:text-white mb-1">What's next?</h5>
|
<h5
|
||||||
<p>I am currently reading <em>Technological Sovereignty</em> because I believe sustainability doesn't depend solely on energy consumption, but also on who controls the infrastructure and software we use.</p>
|
class="font-bold text-slate-900 dark:text-white mb-1"
|
||||||
|
>
|
||||||
|
What's next?
|
||||||
|
</h5>
|
||||||
|
<p>
|
||||||
|
I am currently reading
|
||||||
|
<em>Technological Sovereignty</em> because I believe
|
||||||
|
sustainability doesn't depend solely on energy
|
||||||
|
consumption, but also on who controls the
|
||||||
|
infrastructure and software we use.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Fixed footer note -->
|
<!-- Fixed footer note -->
|
||||||
<div class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400">
|
<div
|
||||||
These are learning notes, not definitive guides. If you spot something that can be improved, I'd love to hear from you.
|
class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400"
|
||||||
|
>
|
||||||
|
These are learning notes, not definitive guides. If you
|
||||||
|
spot something that can be improved, I'd love to hear from
|
||||||
|
you.
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
@@ -869,12 +1015,16 @@
|
|||||||
<h4
|
<h4
|
||||||
class="font-bold dark:text-white text-lg mt-1 mb-2 hover:text-primary transition-colors cursor-pointer"
|
class="font-bold dark:text-white text-lg mt-1 mb-2 hover:text-primary transition-colors cursor-pointer"
|
||||||
>
|
>
|
||||||
Imperfection as an Ally: Why I Avoid Purism When Measuring Web Carbon
|
Imperfection as an Ally: Why I Avoid Purism When Measuring
|
||||||
|
Web Carbon
|
||||||
</h4>
|
</h4>
|
||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
Sometimes obsessing over maximum technical optimization blocks publishing useful tools. In this post I explain my infrastructure decisions and the pragmatic limits I accept...
|
Sometimes obsessing over maximum technical optimization
|
||||||
|
blocks publishing useful tools. In this post I explain my
|
||||||
|
infrastructure decisions and the pragmatic limits I
|
||||||
|
accept...
|
||||||
</p>
|
</p>
|
||||||
<a
|
<a
|
||||||
href="huella.html"
|
href="huella.html"
|
||||||
@@ -885,8 +1035,12 @@
|
|||||||
>arrow_right_alt</span
|
>arrow_right_alt</span
|
||||||
>
|
>
|
||||||
</a>
|
</a>
|
||||||
<div class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4">
|
<div
|
||||||
These are learning notes, not definitive guides. If you spot something that can be improved, I'd love to hear from you.
|
class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4"
|
||||||
|
>
|
||||||
|
These are learning notes, not definitive guides. If you
|
||||||
|
spot something that can be improved, I'd love to hear from
|
||||||
|
you.
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
@@ -903,13 +1057,19 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed"
|
||||||
>
|
>
|
||||||
First steps configuring Forgejo via Docker. Detail of RAM memory consumption (spoiler: uses less than 100MB on medium repositories) and ease of use...
|
First steps configuring Forgejo via Docker. Detail of RAM
|
||||||
|
memory consumption (spoiler: uses less than 100MB on
|
||||||
|
medium repositories) and ease of use...
|
||||||
</p>
|
</p>
|
||||||
<span class="text-xs text-slate-400 mt-4 block"
|
<span class="text-xs text-slate-400 mt-4 block"
|
||||||
>Coming soon</span
|
>Coming soon</span
|
||||||
>
|
>
|
||||||
<div class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4">
|
<div
|
||||||
These are learning notes, not definitive guides. If you spot something that can be improved, I'd love to hear from you.
|
class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4"
|
||||||
|
>
|
||||||
|
These are learning notes, not definitive guides. If you
|
||||||
|
spot something that can be improved, I'd love to hear from
|
||||||
|
you.
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
@@ -947,7 +1107,7 @@
|
|||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
class="bg-slate-900 dark:bg-slate-800 text-white px-10 py-5 rounded-2xl font-bold flex items-center justify-center gap-3 hover:bg-slate-800 dark:hover:bg-slate-700 transition-colors shadow-2xl"
|
class="bg-slate-900 dark:bg-slate-800 text-white px-10 py-5 rounded-2xl font-bold flex items-center justify-center gap-3 hover:bg-slate-800 dark:hover:bg-slate-700 transition-colors shadow-2xl"
|
||||||
href="mailto:itziar.zameza@gmail.com"
|
href="mailto:itziar.zameza.dev@gmail.com"
|
||||||
>
|
>
|
||||||
<span class="material-symbols-outlined">mail</span>
|
<span class="material-symbols-outlined">mail</span>
|
||||||
Enviar un Email
|
Enviar un Email
|
||||||
@@ -1032,7 +1192,10 @@
|
|||||||
Description
|
Description
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
||||||
Intelligent multimedia content processing and ingestion system. Receives audio files, PDFs, videos, and text. Uses AI models to transcribe, summarize, and extract key information, storing everything structured in Supabase for subsequent retrieval.
|
Intelligent multimedia content processing and ingestion system.
|
||||||
|
Receives audio files, PDFs, videos, and text. Uses AI models to
|
||||||
|
transcribe, summarize, and extract key information, storing
|
||||||
|
everything structured in Supabase for subsequent retrieval.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -1080,7 +1243,9 @@
|
|||||||
Result
|
Result
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-slate-700 dark:text-slate-300">
|
<p class="text-slate-700 dark:text-slate-300">
|
||||||
Fully automated pipeline that reduces content processing time by 85% and enables intelligent information reuse through semantic search.
|
Fully automated pipeline that reduces content processing time by
|
||||||
|
85% and enables intelligent information reuse through semantic
|
||||||
|
search.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1137,7 +1302,10 @@
|
|||||||
Description
|
Description
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
<p class="text-slate-700 dark:text-slate-300 leading-relaxed">
|
||||||
Intelligent conversational agent on Telegram acting as a personal culinary assistant. Queries your Supabase inventory, accesses a specialized recipe RAG to avoid hallucinations, and suggests customized dishes based on available ingredients.
|
Intelligent conversational agent on Telegram acting as a
|
||||||
|
personal culinary assistant. Queries your Supabase inventory,
|
||||||
|
accesses a specialized recipe RAG to avoid hallucinations, and
|
||||||
|
suggests customized dishes based on available ingredients.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -1150,7 +1318,9 @@
|
|||||||
>
|
>
|
||||||
<li>Bi-directional integration with Supabase</li>
|
<li>Bi-directional integration with Supabase</li>
|
||||||
<li>Automatic database inventory querying</li>
|
<li>Automatic database inventory querying</li>
|
||||||
<li>RAG (Retrieval-Augmented Generation) with verified recipes</li>
|
<li>
|
||||||
|
RAG (Retrieval-Augmented Generation) with verified recipes
|
||||||
|
</li>
|
||||||
<li>Hallucination prevention via prompt fine-tuning</li>
|
<li>Hallucination prevention via prompt fine-tuning</li>
|
||||||
<li>Customized recipe generation without hallucinations</li>
|
<li>Customized recipe generation without hallucinations</li>
|
||||||
<li>Automatic inventory updating</li>
|
<li>Automatic inventory updating</li>
|
||||||
@@ -1191,7 +1361,11 @@
|
|||||||
Result
|
Result
|
||||||
</h3>
|
</h3>
|
||||||
<p class="text-slate-700 dark:text-slate-300">
|
<p class="text-slate-700 dark:text-slate-300">
|
||||||
Robust culinary assistant that eliminates the "what to cook" decision without generating non-existent recipes. The RAG ensures all suggestions originate from a corpus of verified recipes, providing reliability and personalization without AI hallucinations.
|
Robust culinary assistant that eliminates the "what to cook"
|
||||||
|
decision without generating non-existent recipes. The RAG
|
||||||
|
ensures all suggestions originate from a corpus of verified
|
||||||
|
recipes, providing reliability and personalization without AI
|
||||||
|
hallucinations.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+157
-40
@@ -29,11 +29,35 @@
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<link rel="alternate" hreflang="es" href="https://www.itziarzameza.dev/index.html" />
|
<link
|
||||||
<link rel="alternate" hreflang="ca" href="https://www.itziarzameza.dev/index-ca.html" />
|
rel="alternate"
|
||||||
<link rel="alternate" hreflang="en" href="https://www.itziarzameza.dev/index-en.html" />
|
hreflang="es"
|
||||||
<link rel="preload" href="fonts/material-symbols-outlined.woff2" as="font" type="font/woff2" crossorigin />
|
href="https://www.itziarzameza.dev/index.html"
|
||||||
<link rel="preload" href="fonts/space/space-grotesk-v22-latin-regular.woff2" as="font" type="font/woff2" crossorigin />
|
/>
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
hreflang="ca"
|
||||||
|
href="https://www.itziarzameza.dev/index-ca.html"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
hreflang="en"
|
||||||
|
href="https://www.itziarzameza.dev/index-en.html"
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="preload"
|
||||||
|
href="fonts/material-symbols-outlined.woff2"
|
||||||
|
as="font"
|
||||||
|
type="font/woff2"
|
||||||
|
crossorigin
|
||||||
|
/>
|
||||||
|
<link
|
||||||
|
rel="preload"
|
||||||
|
href="fonts/space/space-grotesk-v22-latin-regular.woff2"
|
||||||
|
as="font"
|
||||||
|
type="font/woff2"
|
||||||
|
crossorigin
|
||||||
|
/>
|
||||||
<link rel="stylesheet" href="css/styles.css?v=1.1" />
|
<link rel="stylesheet" href="css/styles.css?v=1.1" />
|
||||||
</head>
|
</head>
|
||||||
<body
|
<body
|
||||||
@@ -97,12 +121,24 @@
|
|||||||
</nav>
|
</nav>
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-3">
|
||||||
<!-- Language Switcher -->
|
<!-- Language Switcher -->
|
||||||
<div class="flex items-center gap-1.5 glass px-3 py-1.5 rounded-full text-xs font-bold">
|
<div
|
||||||
|
class="flex items-center gap-1.5 glass px-3 py-1.5 rounded-full text-xs font-bold"
|
||||||
|
>
|
||||||
<span class="text-primary">ES</span>
|
<span class="text-primary">ES</span>
|
||||||
<span class="text-slate-300 dark:text-slate-700">|</span>
|
<span class="text-slate-300 dark:text-slate-700">|</span>
|
||||||
<a href="index-ca.html" class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors" title="Català">CA</a>
|
<a
|
||||||
|
href="index-ca.html"
|
||||||
|
class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors"
|
||||||
|
title="Català"
|
||||||
|
>CA</a
|
||||||
|
>
|
||||||
<span class="text-slate-300 dark:text-slate-700">|</span>
|
<span class="text-slate-300 dark:text-slate-700">|</span>
|
||||||
<a href="index-en.html" class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors" title="English">EN</a>
|
<a
|
||||||
|
href="index-en.html"
|
||||||
|
class="text-slate-600 dark:text-slate-400 hover:text-primary transition-colors"
|
||||||
|
title="English"
|
||||||
|
>EN</a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
class="size-10 flex items-center justify-center rounded-full glass hover:bg-white/60 dark:hover:bg-white/10 transition-colors"
|
class="size-10 flex items-center justify-center rounded-full glass hover:bg-white/60 dark:hover:bg-white/10 transition-colors"
|
||||||
@@ -268,9 +304,9 @@
|
|||||||
<p
|
<p
|
||||||
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
|
||||||
>
|
>
|
||||||
Optimizar el consumo de recursos, minimizando la transferencia
|
Optimizar el consumo de recursos, minimizando la
|
||||||
de datos y la huella de carbono de las aplicaciones web que
|
transferencia de datos y la huella de carbono de las
|
||||||
desarrollo.
|
aplicaciones web que desarrollo.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<a
|
<a
|
||||||
@@ -279,9 +315,13 @@
|
|||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
class="inline-flex items-center gap-2 px-3.5 py-2.5 bg-emerald-500/10 border border-emerald-500/20 text-emerald-600 dark:text-emerald-400 rounded-xl text-xs font-bold hover:bg-emerald-500/20 transition-colors mt-2"
|
class="inline-flex items-center gap-2 px-3.5 py-2.5 bg-emerald-500/10 border border-emerald-500/20 text-emerald-600 dark:text-emerald-400 rounded-xl text-xs font-bold hover:bg-emerald-500/20 transition-colors mt-2"
|
||||||
>
|
>
|
||||||
<span class="material-symbols-outlined text-base">verified</span>
|
<span class="material-symbols-outlined text-base"
|
||||||
|
>verified</span
|
||||||
|
>
|
||||||
<span>Green Software Practitioner</span>
|
<span>Green Software Practitioner</span>
|
||||||
<span class="material-symbols-outlined text-xs ml-auto">open_in_new</span>
|
<span class="material-symbols-outlined text-xs ml-auto"
|
||||||
|
>open_in_new</span
|
||||||
|
>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -856,11 +896,20 @@
|
|||||||
</p>
|
</p>
|
||||||
|
|
||||||
<!-- Nota 1: Green Software Practitioner -->
|
<!-- Nota 1: Green Software Practitioner -->
|
||||||
<article class="p-6 glass rounded-2xl border border-white/10 space-y-4">
|
<article
|
||||||
|
class="p-6 glass rounded-2xl border border-white/10 space-y-4"
|
||||||
|
>
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<span class="text-xs text-slate-400 dark:text-slate-500 font-mono">20 de Julio, 2026</span>
|
<span
|
||||||
<span class="px-2.5 py-0.5 bg-emerald-500/10 text-emerald-500 text-xs font-bold rounded-full flex items-center gap-1">
|
class="text-xs text-slate-400 dark:text-slate-500 font-mono"
|
||||||
<span class="material-symbols-outlined text-xs">verified</span>
|
>20 de Julio, 2026</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
class="px-2.5 py-0.5 bg-emerald-500/10 text-emerald-500 text-xs font-bold rounded-full flex items-center gap-1"
|
||||||
|
>
|
||||||
|
<span class="material-symbols-outlined text-xs"
|
||||||
|
>verified</span
|
||||||
|
>
|
||||||
Green Software
|
Green Software
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -869,47 +918,109 @@
|
|||||||
Green Software Practitioner — 5 ideas que me llevo
|
Green Software Practitioner — 5 ideas que me llevo
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<div class="space-y-4 text-sm text-slate-700 dark:text-slate-300 leading-relaxed">
|
<div
|
||||||
|
class="space-y-4 text-sm text-slate-700 dark:text-slate-300 leading-relaxed"
|
||||||
|
>
|
||||||
<div>
|
<div>
|
||||||
<h5 class="font-bold text-slate-900 dark:text-white mb-1">¿Por qué hice esta certificación?</h5>
|
<h5
|
||||||
<p>Porque quiero construir tecnología que tenga en cuenta su impacto ambiental y social.</p>
|
class="font-bold text-slate-900 dark:text-white mb-1"
|
||||||
|
>
|
||||||
|
¿Por qué hice esta certificación?
|
||||||
|
</h5>
|
||||||
|
<p>
|
||||||
|
Porque quiero construir tecnología que tenga en cuenta
|
||||||
|
su impacto ambiental y social.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h5 class="font-bold text-slate-900 dark:text-white mb-2">Cinco ideas que me llevo:</h5>
|
<h5
|
||||||
|
class="font-bold text-slate-900 dark:text-white mb-2"
|
||||||
|
>
|
||||||
|
Cinco ideas que me llevo:
|
||||||
|
</h5>
|
||||||
<ol class="list-decimal list-inside space-y-2.5 pl-1">
|
<ol class="list-decimal list-inside space-y-2.5 pl-1">
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">La mejor energía es la que no se consume.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">Optimizar no es solo hacer la web más rápida. También significa consumir menos recursos.</p>
|
>La mejor energía es la que no se consume.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
Optimizar no es solo hacer la web más rápida.
|
||||||
|
También significa consumir menos recursos.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">La eficiencia empieza en el diseño.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">Elegir una arquitectura sencilla suele ser mejor que optimizar después.</p>
|
>La eficiencia empieza en el diseño.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
Elegir una arquitectura sencilla suele ser mejor
|
||||||
|
que optimizar después.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">Medir antes de mejorar.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">No podemos reducir aquello que no medimos.</p>
|
>Medir antes de mejorar.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
No podemos reducir aquello que no medimos.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">El software también tiene huella de carbono.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">Cada transferencia de datos, proceso o almacenamiento tiene un coste.</p>
|
>El software también tiene huella de
|
||||||
|
carbono.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
Cada transferencia de datos, proceso o
|
||||||
|
almacenamiento tiene un coste.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong class="text-slate-900 dark:text-white">Green Software no consiste solo en consumir menos.</strong>
|
<strong class="text-slate-900 dark:text-white"
|
||||||
<p class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5">También implica diseñar productos que ayuden a reducir el impacto ambiental de las personas y las organizaciones.</p>
|
>Green Software no consiste solo en consumir
|
||||||
|
menos.</strong
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
class="text-xs text-slate-600 dark:text-slate-400 mt-0.5 pl-5"
|
||||||
|
>
|
||||||
|
También implica diseñar productos que ayuden a
|
||||||
|
reducir el impacto ambiental de las personas y las
|
||||||
|
organizaciones.
|
||||||
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h5 class="font-bold text-slate-900 dark:text-white mb-1">¿Y ahora qué?</h5>
|
<h5
|
||||||
<p>Estoy leyendo <em>Soberanía Tecnológica</em> porque creo que la sostenibilidad no depende solo del consumo energético, sino también de quién controla la infraestructura y el software que utilizamos.</p>
|
class="font-bold text-slate-900 dark:text-white mb-1"
|
||||||
|
>
|
||||||
|
¿Y ahora qué?
|
||||||
|
</h5>
|
||||||
|
<p>
|
||||||
|
Estoy leyendo <em>Soberanía Tecnológica</em> porque
|
||||||
|
creo que la sostenibilidad no depende solo del consumo
|
||||||
|
energético, sino también de quién controla la
|
||||||
|
infraestructura y el software que utilizamos.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Frase fija al final de la nota -->
|
<!-- Frase fija al final de la nota -->
|
||||||
<div class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400">
|
<div
|
||||||
Estas son notas de aprendizaje, no guías definitivas. Si ves algo que se pueda mejorar, me encantará escucharte.
|
class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400"
|
||||||
|
>
|
||||||
|
Estas son notas de aprendizaje, no guías definitivas. Si
|
||||||
|
ves algo que se pueda mejorar, me encantará escucharte.
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
@@ -941,8 +1052,11 @@
|
|||||||
>arrow_right_alt</span
|
>arrow_right_alt</span
|
||||||
>
|
>
|
||||||
</a>
|
</a>
|
||||||
<div class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4">
|
<div
|
||||||
Estas son notas de aprendizaje, no guías definitivas. Si ves algo que se pueda mejorar, me encantará escucharte.
|
class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4"
|
||||||
|
>
|
||||||
|
Estas son notas de aprendizaje, no guías definitivas. Si
|
||||||
|
ves algo que se pueda mejorar, me encantará escucharte.
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
@@ -966,8 +1080,11 @@
|
|||||||
<span class="text-xs text-slate-400 mt-4 block"
|
<span class="text-xs text-slate-400 mt-4 block"
|
||||||
>Próximamente</span
|
>Próximamente</span
|
||||||
>
|
>
|
||||||
<div class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4">
|
<div
|
||||||
Estas son notas de aprendizaje, no guías definitivas. Si ves algo que se pueda mejorar, me encantará escucharte.
|
class="pt-3 border-t border-slate-200 dark:border-slate-800 text-xs italic text-slate-500 dark:text-slate-400 mt-4"
|
||||||
|
>
|
||||||
|
Estas son notas de aprendizaje, no guías definitivas. Si
|
||||||
|
ves algo que se pueda mejorar, me encantará escucharte.
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
@@ -1005,7 +1122,7 @@
|
|||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
class="bg-slate-900 dark:bg-slate-800 text-white px-10 py-5 rounded-2xl font-bold flex items-center justify-center gap-3 hover:bg-slate-800 dark:hover:bg-slate-700 transition-colors shadow-2xl"
|
class="bg-slate-900 dark:bg-slate-800 text-white px-10 py-5 rounded-2xl font-bold flex items-center justify-center gap-3 hover:bg-slate-800 dark:hover:bg-slate-700 transition-colors shadow-2xl"
|
||||||
href="mailto:itziar.zameza@gmail.com"
|
href="mailto:itziar.zameza.dev@gmail.com"
|
||||||
>
|
>
|
||||||
<span class="material-symbols-outlined">mail</span>
|
<span class="material-symbols-outlined">mail</span>
|
||||||
Enviar un Email
|
Enviar un Email
|
||||||
|
|||||||
Reference in New Issue
Block a user