303 lines
14 KiB
Plaintext
303 lines
14 KiB
Plaintext
---
|
|
import BaseLayout from '../layouts/BaseLayout.astro';
|
|
import Header from '../components/layout/Header.astro';
|
|
import Footer from '../components/layout/Footer.astro';
|
|
---
|
|
|
|
<BaseLayout
|
|
title="About"
|
|
description="Spanish builder. From goldsmith to photographer to developer. Building products and sharing the journey."
|
|
>
|
|
<Header />
|
|
<main class="flex-1 max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
|
|
<article class="prose prose-invert prose-lg max-w-none">
|
|
<h1 class="text-4xl font-bold mb-8">About Me</h1>
|
|
|
|
<div class="flex flex-col md:flex-row gap-8 mb-8 not-prose">
|
|
<div class="flex-shrink-0">
|
|
<img
|
|
src="/david-aragon.jpg"
|
|
alt="David Aragón"
|
|
class="w-48 h-48 rounded-full object-cover border-4 border-primary/20"
|
|
/>
|
|
</div>
|
|
<div class="flex-1">
|
|
<h2 class="text-2xl font-semibold mb-4 text-text-primary">Hi 👋</h2>
|
|
<p class="text-text-secondary text-lg leading-relaxed">
|
|
I'm David, a Spanish builder. I didn't start in tech — I was a goldsmith, then a professional
|
|
photographer for 13 years, instructor for LinkedIn Learning, and developer. Now I build products
|
|
that solve real problems.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<section class="mb-12">
|
|
<h2 class="text-3xl font-semibold mb-4">The Path</h2>
|
|
<p class="text-text-secondary leading-relaxed mb-4">
|
|
I started working with metal as a goldsmith. One day I got interested in photography,
|
|
and that obsession led me to build my own brand for 13 years. When I couldn't
|
|
afford the equipment I needed, I improvised. I built supports, modified
|
|
accessories, made what I had work.
|
|
</p>
|
|
<p class="text-text-secondary leading-relaxed mb-4">
|
|
That same drive led me to learn Python, build my own 3D printer from scratch,
|
|
work at Qloudea developing internal tools while managing social media
|
|
and providing technical support. Then Python developer at NTT Data, and now I work at KEO
|
|
Connectivity with IoT protocols for energy systems (EEBUS).
|
|
</p>
|
|
<p class="text-text-secondary leading-relaxed mb-4">
|
|
<strong class="text-text-primary">The pattern is always the same:</strong> identify a
|
|
problem, obsess over solving it, learn whatever it takes to fix it.
|
|
</p>
|
|
</section>
|
|
|
|
<section class="mb-12">
|
|
<h2 class="text-3xl font-semibold mb-4">What I'm Doing Now</h2>
|
|
<p class="text-text-secondary leading-relaxed mb-4">
|
|
I work full-time at KEO as Field Application Engineer, where I handle technical
|
|
documentation, workflow automation, internal tools, and customer-facing support.
|
|
</p>
|
|
<p class="text-text-secondary leading-relaxed mb-4">
|
|
<em class="text-text-tertiary text-sm">
|
|
Last site update: 2026-07-09 (build sha visible in the CI run that produced this
|
|
version of the page).
|
|
</em>
|
|
</p>
|
|
<p class="text-text-secondary leading-relaxed mb-4">
|
|
In parallel, I'm building <strong class="text-primary">WarrantyHub</strong> — a platform
|
|
for end users to manage warranties for their home products from one place.
|
|
It's a problem I had myself, and I discovered all my friends and family have the same problem.
|
|
</p>
|
|
<p class="text-text-secondary leading-relaxed mb-4">
|
|
I also work on other experimental projects: productivity CLIs, automation tools,
|
|
Discord bots, and templates to accelerate Python development.
|
|
</p>
|
|
</section>
|
|
|
|
<section class="mb-12">
|
|
<h2 class="text-3xl font-semibold mb-4">Current Projects</h2>
|
|
<div class="space-y-4">
|
|
<div class="bg-surface p-5 rounded-lg border border-text-tertiary/20">
|
|
<h3 class="text-lg font-semibold text-primary mb-2">WarrantyHub</h3>
|
|
<p class="text-text-secondary text-sm">
|
|
Digital home warranty manager. Self-hosted PWA with freemium model.
|
|
Stack: React + FastAPI + PostgreSQL.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="bg-surface p-5 rounded-lg border border-text-tertiary/20">
|
|
<h3 class="text-lg font-semibold text-primary mb-2">Python Project Template</h3>
|
|
<p class="text-text-secondary text-sm">
|
|
Opinionated template for Python projects: uv, ruff, mypy, pytest, Docker, Portainer.
|
|
CI/CD with Gitea Actions.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="bg-surface p-5 rounded-lg border border-text-tertiary/20">
|
|
<h3 class="text-lg font-semibold text-primary mb-2">Hermes Stack</h3>
|
|
<p class="text-text-secondary text-sm">
|
|
Hermes Agent gateway stack for QNAP/Portainer. Automation with AI agents
|
|
for infrastructure management.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="bg-surface p-5 rounded-lg border border-text-tertiary/20">
|
|
<h3 class="text-lg font-semibold text-primary mb-2">Other Experiments</h3>
|
|
<p class="text-text-secondary text-sm">
|
|
Discord bots (iRacing), automation tools (Portainer backups),
|
|
utility scripts (FLAC tagging, cookie extraction), and more.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="mb-12">
|
|
<h2 class="text-3xl font-semibold mb-4">Self-Hosted Infrastructure</h2>
|
|
<p class="text-text-secondary leading-relaxed mb-4">
|
|
All my projects run on local self-hosted infrastructure. I prefer to have complete
|
|
control over the stack and keep costs low while experimenting.
|
|
</p>
|
|
<div class="bg-surface p-6 rounded-lg border border-primary/20">
|
|
<h3 class="text-xl font-semibold mb-4 text-primary">Current Stack</h3>
|
|
<ul class="space-y-2 text-text-secondary">
|
|
<li class="flex items-start">
|
|
<span class="text-primary mr-2">→</span>
|
|
<span><strong class="text-text-primary">Local physical server</strong> -
|
|
Main Docker host</span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="text-primary mr-2">→</span>
|
|
<span><strong class="text-text-primary">Portainer</strong> - Stack and container
|
|
orchestration</span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="text-primary mr-2">→</span>
|
|
<span><strong class="text-text-primary">Gitea</strong> -
|
|
Git hosting + Docker registry + CI/CD</span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="text-primary mr-2">→</span>
|
|
<span><strong class="text-text-primary">MinIO</strong> - Object storage (S3-compatible)</span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="text-primary mr-2">→</span>
|
|
<span><strong class="text-text-primary">Nginx Proxy Manager</strong> - Reverse proxy
|
|
with automatic SSL (Let's Encrypt)</span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="text-primary mr-2">→</span>
|
|
<span><strong class="text-text-primary">PostgreSQL</strong> - Main database
|
|
for applications</span>
|
|
</li>
|
|
</ul>
|
|
<p class="text-text-secondary text-sm mt-4">
|
|
Fully automated CI/CD: push to main → build image → push to registry →
|
|
deploy to Portainer. Everything on local infrastructure.
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="mb-12">
|
|
<h2 class="text-3xl font-semibold mb-4">Why Build in Public</h2>
|
|
<ul class="space-y-3">
|
|
<li class="flex items-start">
|
|
<span class="text-primary mr-2">→</span>
|
|
<span class="text-text-secondary">
|
|
<strong class="text-text-primary">Accountability:</strong> It's harder to quit
|
|
when you share progress publicly
|
|
</span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="text-primary mr-2">→</span>
|
|
<span class="text-text-secondary">
|
|
<strong class="text-text-primary">Teaching:</strong> I've always been an instructor
|
|
(LinkedIn Learning, Podcast CulturaNAS 2000+ subs). Sharing what I learn is part of who I am
|
|
</span>
|
|
</li>
|
|
<li class="flex items-start">
|
|
<span class="text-primary mr-2">→</span>
|
|
<span class="text-text-secondary">
|
|
<strong class="text-text-primary">Community:</strong> I want to connect with other
|
|
Spanish builders on the same journey
|
|
</span>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<section class="mb-12">
|
|
<h2 class="text-3xl font-semibold mb-4">Tech Stack</h2>
|
|
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 not-prose">
|
|
<div class="bg-surface px-4 py-3 rounded-lg border border-text-tertiary/20">Python</div>
|
|
<div class="bg-surface px-4 py-3 rounded-lg border border-text-tertiary/20">FastAPI</div>
|
|
<div class="bg-surface px-4 py-3 rounded-lg border border-text-tertiary/20">React</div>
|
|
<div class="bg-surface px-4 py-3 rounded-lg border border-text-tertiary/20">TypeScript</div>
|
|
<div class="bg-surface px-4 py-3 rounded-lg border border-text-tertiary/20">PostgreSQL</div>
|
|
<div class="bg-surface px-4 py-3 rounded-lg border border-text-tertiary/20">Docker</div>
|
|
<div class="bg-surface px-4 py-3 rounded-lg border border-text-tertiary/20">Tailwind CSS</div>
|
|
<div class="bg-surface px-4 py-3 rounded-lg border border-text-tertiary/20">Astro</div>
|
|
<div class="bg-surface px-4 py-3 rounded-lg border border-text-tertiary/20">n8n</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="mb-12">
|
|
<h2 class="text-3xl font-semibold mb-4">Experience</h2>
|
|
<div class="space-y-6">
|
|
<div class="bg-surface p-6 rounded-lg border border-text-tertiary/20">
|
|
<div class="flex items-start justify-between mb-2">
|
|
<h3 class="text-xl font-semibold text-primary">Field Application Engineer</h3>
|
|
<span class="text-sm text-text-tertiary whitespace-nowrap ml-4">2023 - Present</span>
|
|
</div>
|
|
<p class="text-text-secondary mb-2">KEO Connectivity (Germany)</p>
|
|
<p class="text-text-secondary text-sm">
|
|
EEBUS protocol for IoT energy systems (e-mobility, smart homes,
|
|
heat pumps). Technical documentation, automation with n8n, internal tools,
|
|
technical support.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="bg-surface p-6 rounded-lg border border-text-tertiary/20">
|
|
<div class="flex items-start justify-between mb-2">
|
|
<h3 class="text-xl font-semibold text-primary">Python Developer</h3>
|
|
<span class="text-sm text-text-tertiary whitespace-nowrap ml-4">2022 - 2023</span>
|
|
</div>
|
|
<p class="text-text-secondary mb-2">NTT Data</p>
|
|
<p class="text-text-secondary text-sm">
|
|
Python development, Google Cloud, Kubernetes, BigQuery. Data analysis and BigData.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="bg-surface p-6 rounded-lg border border-text-tertiary/20">
|
|
<div class="flex items-start justify-between mb-2">
|
|
<h3 class="text-xl font-semibold text-primary">ICT Instructor + Developer</h3>
|
|
<span class="text-sm text-text-tertiary whitespace-nowrap ml-4">2013 - 2022</span>
|
|
</div>
|
|
<p class="text-text-secondary mb-2">Qloudea + LinkedIn Learning</p>
|
|
<p class="text-text-secondary text-sm">
|
|
Development of internal tools (HTML5, CSS, JavaScript, Python, Django, Flutter).
|
|
Official instructor on NAS servers for professionals. Social media management, YouTube,
|
|
product photography.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="bg-surface p-6 rounded-lg border border-text-tertiary/20">
|
|
<div class="flex items-start justify-between mb-2">
|
|
<h3 class="text-xl font-semibold text-primary">Professional Photographer</h3>
|
|
<span class="text-sm text-text-tertiary whitespace-nowrap ml-4">2003 - 2016</span>
|
|
</div>
|
|
<p class="text-text-secondary mb-2">Own Brand</p>
|
|
<p class="text-text-secondary text-sm">
|
|
13 years managing my own photography brand. Creator of CulturaNAS Podcast
|
|
(2000+ subscribers).
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section>
|
|
<h2 class="text-3xl font-semibold mb-4">Connect With Me</h2>
|
|
<p class="text-text-secondary mb-6">
|
|
Always open to talking with other builders, people interested in EEBUS/IoT,
|
|
or just curious people about building products.
|
|
</p>
|
|
<div class="flex flex-wrap gap-4 not-prose">
|
|
<a
|
|
href="https://twitter.com/davidaragon"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="bg-primary/10 hover:bg-primary/20 text-primary px-6 py-3 rounded-lg
|
|
font-medium transition-colors border border-primary/20"
|
|
>
|
|
X (Twitter)
|
|
</a>
|
|
<a
|
|
href="https://linkedin.com/in/david-aragon-galiana"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="bg-primary/10 hover:bg-primary/20 text-primary px-6 py-3 rounded-lg
|
|
font-medium transition-colors border border-primary/20"
|
|
>
|
|
LinkedIn
|
|
</a>
|
|
<a
|
|
href="https://github.com/davidaragon"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="bg-primary/10 hover:bg-primary/20 text-primary px-6 py-3 rounded-lg
|
|
font-medium transition-colors border border-primary/20"
|
|
>
|
|
GitHub
|
|
</a>
|
|
<a
|
|
href="mailto:david@impresion3d.pro"
|
|
class="bg-secondary/10 hover:bg-secondary/20 text-secondary px-6 py-3 rounded-lg
|
|
font-medium transition-colors border border-secondary/20"
|
|
>
|
|
Email
|
|
</a>
|
|
</div>
|
|
</section>
|
|
</article>
|
|
</main>
|
|
<Footer />
|
|
</BaseLayout>
|