feat: refresh portfolio, add analytics and privacy policy

- Update project cards with honest statuses: Navidrome and n8n+Ollama
  moved to 'On the roadmap', Open Source marked 'Not started',
  Visualización Datos Baleares marked 'Migration pending (on Vercel)'.
- Remove past-dated Notes post (2 de Junio, 2026 / Próximamente) with
  never-written content.
- Add Cases Tancades as 5th project: open housing diagnostic for
  Balears crossing INE, Airbnb and Govern Balear HUT registries.
- Add self-hosted Umami analytics tracker to all 4 pages with
  data-domains='www.itziarzameza.dev' to exclude localhost/file://
  visits from analytics.
- Add RGPD-compliant privacy policy in ES/CA/EN
  (privacidad.html, privacidad-ca.html, privacidad-en.html) covering
  controller, data collected, purpose, legal basis, retention,
  user rights, and explicit no-cookies statement.
- Link to privacy policy from footer of all 4 pages.
This commit is contained in:
2026-07-21 19:41:07 +02:00
parent 335edbf316
commit 88b7742291
7 changed files with 857 additions and 148 deletions
+55 -51
View File
@@ -59,6 +59,12 @@
crossorigin
/>
<link rel="stylesheet" href="css/styles.css?v=1.1" />
<script
defer
src="https://stats.itziarzameza.dev/script.js"
data-website-id="8d8d648f-4a0c-4315-b287-5983ffedc8c4"
data-domains="www.itziarzameza.dev"
></script>
</head>
<body
class="bg-background-light dark:bg-background-dark font-display text-slate-900 dark:text-slate-100 selection:bg-primary/30 transition-colors duration-300"
@@ -668,18 +674,11 @@
Navidrome Server
</h4>
</div>
<p
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.
</p>
</div>
<div class="flex items-center justify-between mt-4">
<span
class="text-[10px] uppercase font-bold tracking-wider text-emerald-500 bg-emerald-500/10 px-2 py-1 rounded"
>Operational</span
class="text-[10px] uppercase font-bold tracking-wider text-amber-500 bg-amber-500/10 px-2 py-1 rounded"
>On the roadmap</span
>
<span class="text-xs text-slate-400"
>Docker • Hetzner</span
@@ -687,7 +686,7 @@
</div>
</div>
<!-- Flujo n8n + Ollama -->
<!-- n8n + Ollama Pipeline -->
<div
class="p-6 glass rounded-3xl border border-white/20 flex flex-col justify-between"
>
@@ -711,8 +710,8 @@
</div>
<div class="flex items-center justify-between mt-4">
<span
class="text-[10px] uppercase font-bold tracking-wider text-emerald-500 bg-emerald-500/10 px-2 py-1 rounded"
>Operational</span
class="text-[10px] uppercase font-bold tracking-wider text-amber-500 bg-amber-500/10 px-2 py-1 rounded"
>On the roadmap</span
>
<span class="text-xs text-slate-400"
>n8n • Ollama • Whisper</span
@@ -720,7 +719,7 @@
</div>
</div>
<!-- Contribución Open Source -->
<!-- Open Source Contribution -->
<div
class="p-6 glass rounded-3xl border border-white/20 flex flex-col justify-between"
>
@@ -734,17 +733,11 @@
Open Source Contribution
</h4>
</div>
<p
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.
</p>
</div>
<div class="flex items-center justify-between mt-4">
<span
class="text-[10px] uppercase font-bold tracking-wider text-primary bg-primary/10 px-2 py-1 rounded"
>Ongoing</span
class="text-[10px] uppercase font-bold tracking-wider text-slate-500 bg-slate-500/10 px-2 py-1 rounded"
>Not started</span
>
<span class="text-xs text-slate-400"
>Forgejo • GitHub</span
@@ -752,7 +745,7 @@
</div>
</div>
<!-- Visualización Datos Baleares -->
<!-- Balearic Data Visualization -->
<div
class="p-6 glass rounded-3xl border border-white/20 flex flex-col justify-between"
>
@@ -777,13 +770,47 @@
<div class="flex items-center justify-between mt-4">
<span
class="text-[10px] uppercase font-bold tracking-wider text-amber-500 bg-amber-500/10 px-2 py-1 rounded"
>In Development</span
>Migration pending (currently on Vercel)</span
>
<span class="text-xs text-slate-400"
>HTML5 • JS • D3.js</span
>
</div>
</div>
<!-- Cases Tancades -->
<div
class="p-6 glass rounded-3xl border border-white/20 flex flex-col justify-between"
>
<div>
<div class="flex items-center gap-3 mb-3">
<span
class="material-symbols-outlined text-primary text-2xl"
>query_stats</span
>
<h4 class="font-bold text-lg dark:text-white">
Cases Tancades
</h4>
</div>
<p
class="text-sm text-slate-600 dark:text-slate-400 leading-relaxed mb-4"
>
Open diagnostic of housing in the Balearic Islands:
cross-references official data from INE, Airbnb, and
Govern Balear HUT registries to show how many flats
sit empty against the pressure of tourist rentals.
</p>
</div>
<div class="flex items-center justify-between mt-4">
<span
class="text-[10px] uppercase font-bold tracking-wider text-emerald-500 bg-emerald-500/10 px-2 py-1 rounded"
>Operational</span
>
<span class="text-xs text-slate-400"
>Next.js · Open data INE/Govern Balear</span
>
</div>
</div>
</div>
</div>
@@ -1044,34 +1071,6 @@
</div>
</article>
<article class="p-6 glass rounded-2xl border border-white/10">
<span
class="text-xs text-slate-400 dark:text-slate-500 font-mono"
>June 2, 2026</span
>
<h4
class="font-bold dark:text-white text-lg mt-1 mb-2 hover:text-primary transition-colors cursor-pointer"
>
Migrating Code: From GitHub to Forgejo on My Own VPS
</h4>
<p
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...
</p>
<span class="text-xs text-slate-400 mt-4 block"
>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"
>
These are learning notes, not definitive guides. If you
spot something that can be improved, I'd love to hear from
you.
</div>
</article>
</div>
</div>
</div>
@@ -1142,6 +1141,11 @@
href="https://www.linkedin.com/in/itziarzamezagarcia"
>LinkedIn</a
>
<a
class="hover:text-primary transition-colors text-slate-600 dark:text-slate-400"
href="privacidad-en.html"
>Privacy</a
>
</div>
</div>
</div>