diff --git a/README.md b/README.md
index 6fc3fd0..eef49e8 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,75 @@
-# jrodriiguezg.link-page
+# jrodriiguezg.link — Personal Portfolio
-Files for jrodriiguezg.link main page
\ No newline at end of file
+> Deployment & Infrastructure consultancy site. Docker, Linux, AI stacks.
+
+**Live:** [jrodriiguezg.link](https://jrodriiguezg.link)
+
+---
+
+## Overview
+
+Personal portfolio and landing page for **Juan Raul Rodriguez Gil** — a deployment and infrastructure specialist focused on Linux, Docker, and AI pipelines. The site presents services offered, skills, projects, and contact information in a clean two-column layout.
+
+## Tech Stack
+
+| Layer | Technology |
+|---|---|
+| Markup | HTML5 |
+| Styling | Vanilla CSS |
+| Typography | Inter (Google Fonts) |
+| Hosting | Self-hosted (Cloudflare Tunnel) |
+
+## Structure
+
+```
+personal_site/
+├── index.html # Main portfolio page
+├── styles.css # Global stylesheet
+├── favicon.png # Site favicon
+├── robots.txt # SEO crawler rules
+├── sitemap.xml # XML sitemap
+├── lab/ # Home Lab subpage
+├── gamecathode/ # GameCathode project page
+├── grape/ # Grape Models project page
+├── PRRPC/ # PRRPC project page
+└── srag/ # SRag project page
+```
+
+## Services Featured
+
+- **Container Architecture** — Docker Compose stacks, isolated services, versioned configs
+- **AI & LLM Infrastructure** — Local Ollama, RAG pipelines, ChromaDB integration
+- **Linux Systems Engineering** — Server setup, hardening, administration (Debian, RHEL, Ubuntu, Fedora)
+- **Infrastructure Audit** — Deep deployment review and risk assessment
+
+## Skills Highlighted
+
+| Category | Tools |
+|---|---|
+| Infrastructure | Docker · Docker Compose · Podman · Cloudflare · Nginx · Bash · Git · Python |
+| Linux & Systems | Debian · RHEL · Ubuntu · Fedora · Windows Server |
+| Networking | DNS · Reverse proxy · VPN · Cloudflare Tunnels · Firewall |
+| AI & Data | Ollama · ChromaDB · LlamaIndex · OpenWebUI · AnythingLLM · Jupyter |
+| Electronics | Circuit design · Soldering · Arduino · ESP32 · Raspberry Pi · KiCad |
+| Business Software | Odoo ERP · Microsoft Excel · Office 365 |
+| Design & Docs | Inkscape · Canva · Markdown · FreeCAD |
+
+## Projects
+
+| Project | Description | Stack |
+|---|---|---|
+| [LEMoE](https://lemoe.link) | AI middleware with semantic routing across expert models | Docker · Python · Ollama |
+| [SRag](https://srag.jrodriiguezg.link) | Containerized RAG pipeline | ChromaDB · Docker Compose |
+| [PRRPC](https://prrpc.jrodriiguezg.link) | Physical Linux status monitor via RP2040 | Linux · Wayland · Hardware |
+| [Blog](https://blog.jrodriiguezg.link) | Technical writing in English and Spanish | Writing · Linux · Systems |
+| Lab | Two servers, 5.6TB storage, no cloud | HP EliteDesk · Raspberry Pi 4B |
+
+## Contact
+
+- **Email:** [hola@jrodriiguezg.link](mailto:hola@jrodriiguezg.link)
+- **LinkedIn:** [juanraulrodriguezgil](https://www.linkedin.com/in/juanraulrodriguezgil/)
+- **GitHub:** [@jrodriiguezg](https://github.com/jrodriiguezg)
+
+---
+
+© 2026 Juan Raul Rodriguez Gil
diff --git a/favicon.jpg b/favicon.jpg
new file mode 100644
index 0000000..e90aa83
Binary files /dev/null and b/favicon.jpg differ
diff --git a/favicon.png b/favicon.png
new file mode 100644
index 0000000..9175290
Binary files /dev/null and b/favicon.png differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..336d525
--- /dev/null
+++ b/index.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+ Juan Rodriguez Gil — Deployment & Infrastructure
+
+
+
+
+
+
+
+
+
+
+ jrodriiguezg.link
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Services
+
+
+
Container Architecture
+
Translating complex application dependencies into clean, reproducible Docker Compose stacks. Every service isolated, every config versioned.
+
+
+
AI & LLM Infrastructure
+
Private deployment of language models and RAG pipelines. Local Ollama setups, ChromaDB integration, and intelligent request routing.
+
+
+
Linux Systems Engineering
+
Server setup, hardening, and long-term administration. Debian, RHEL, Ubuntu, Fedora.
+
+
+
Infrastructure Audit
+
A deep review of your current deployment — finding the things that will hurt you before they do.
+
+
+
+
+
+ Tools & Skills
+
+
+
Infrastructure
+
Docker · Docker Compose · Podman · Cloudflare · Nginx · Bash · Git · Python
+
+
+
Linux & Systems
+
Debian · RHEL · Ubuntu · Fedora · Windows Server · Windows administration
+
+
+
Networking
+
DNS · Reverse proxy · VPN · LAN/WAN · Cloudflare Tunnels · Firewall configuration
+
+
+
AI & Data
+
Ollama · ChromaDB · LlamaIndex · OpenWebUI · AnythingLLM · Jupyter · Python
+
+
+
Electronics & Hardware
+
Circuit design · Soldering · Arduino · ESP32 · Raspberry Pi · KiCad · FreeCAD
+
+
+
Business Software
+
Odoo ERP · Microsoft Excel · Office 365
+
+
+
Design & Documentation
+
Inkscape · Canva · Markdown · FreeCAD
+
+
+
+
+
+ Home Lab
+ Two Linux servers running 15+ self-hosted services. See the hardware and what's deployed on it.
+ View the lab →
+
+
+
+
+
+
+
+
+
+
+ © 2026 Juan Raul Rodriguez Gil
+ jrodriiguezg.link
+
+
+
+
\ No newline at end of file
diff --git a/styles.css b/styles.css
new file mode 100644
index 0000000..32db233
--- /dev/null
+++ b/styles.css
@@ -0,0 +1,381 @@
+:root {
+ --bg: #111111;
+ --surface: #181818;
+ --text: #e2e2e2;
+ --muted: #666;
+ --border: #242424;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+}
+
+html { scroll-behavior: smooth; }
+
+body {
+ font-family: 'Inter', sans-serif;
+ background: var(--bg);
+ color: var(--text);
+ font-size: 1rem;
+ line-height: 1.7;
+ -webkit-font-smoothing: antialiased;
+}
+
+/* ─── NAV ─── */
+
+nav {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 1.8rem 4rem;
+ border-bottom: 1px solid var(--border);
+}
+
+.nav-name {
+ font-size: 0.95rem;
+ font-weight: 500;
+ color: var(--text);
+ text-decoration: none;
+}
+
+.nav-links {
+ display: flex;
+ gap: 2.5rem;
+}
+
+.nav-links a {
+ font-size: 0.85rem;
+ color: var(--muted);
+ text-decoration: none;
+ transition: color 0.2s;
+}
+
+.nav-links a:hover { color: var(--text); }
+
+/* ─── DESKTOP LAYOUT ─── */
+
+/* Hero: full width, 2 columns */
+header {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 4rem;
+ align-items: end;
+ padding: 6rem 4rem 5rem;
+ border-bottom: 1px solid var(--border);
+}
+
+.hero-left { }
+
+.hero-right {
+ padding-bottom: 0.4rem;
+}
+
+h1 {
+ font-size: clamp(2.4rem, 4vw, 3.8rem);
+ font-weight: 600;
+ line-height: 1.1;
+ letter-spacing: -0.03em;
+ margin-bottom: 0;
+}
+
+h1 em {
+ font-style: italic;
+ font-weight: 300;
+}
+
+.tagline {
+ font-size: 1rem;
+ color: var(--muted);
+ font-weight: 300;
+ line-height: 1.8;
+ margin-bottom: 2rem;
+}
+
+.cta {
+ display: inline-block;
+ font-size: 0.9rem;
+ font-weight: 500;
+ color: var(--bg);
+ background: var(--text);
+ text-decoration: none;
+ padding: 0.65rem 1.4rem;
+ border-radius: 4px;
+ transition: opacity 0.2s;
+}
+
+.cta:hover { opacity: 0.8; }
+
+/* ─── MAIN CONTENT AREA ─── */
+
+.content {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 0;
+ padding: 0 4rem;
+}
+
+/* Left column */
+.col-left {
+ padding: 4rem 4rem 4rem 0;
+ border-right: 1px solid var(--border);
+ display: flex;
+ flex-direction: column;
+ gap: 4rem;
+}
+
+/* Right column */
+.col-right {
+ padding: 4rem 0 4rem 4rem;
+ display: flex;
+ flex-direction: column;
+ gap: 4rem;
+}
+
+/* ─── SECTION TITLES ─── */
+
+h2 {
+ font-size: 0.72rem;
+ font-weight: 500;
+ text-transform: uppercase;
+ letter-spacing: 0.1em;
+ color: var(--muted);
+ margin-bottom: 2rem;
+}
+
+/* ─── SERVICES ─── */
+
+.service-list {
+ display: flex;
+ flex-direction: column;
+ gap: 1.8rem;
+}
+
+.service-title {
+ font-size: 0.95rem;
+ font-weight: 500;
+ margin-bottom: 0.3rem;
+}
+
+.service-desc {
+ font-size: 0.88rem;
+ color: var(--muted);
+ font-weight: 300;
+ line-height: 1.7;
+}
+
+/* ─── PROJECTS ─── */
+
+.projects {
+ display: flex;
+ flex-direction: column;
+ gap: 0;
+}
+
+.project {
+ display: block;
+ padding: 1.4rem 0;
+ text-decoration: none;
+ color: inherit;
+ border-top: 1px solid var(--border);
+ transition: padding-left 0.2s;
+}
+
+.project:last-child {
+ border-bottom: 1px solid var(--border);
+}
+
+.project:hover { padding-left: 0.5rem; }
+
+.project-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 0.4rem;
+}
+
+.project-name {
+ font-size: 0.95rem;
+ font-weight: 500;
+}
+
+.project-arrow {
+ font-size: 0.8rem;
+ color: var(--muted);
+}
+
+.project p {
+ font-size: 0.88rem;
+ color: var(--muted);
+ font-weight: 300;
+ margin-bottom: 0.8rem;
+ line-height: 1.6;
+}
+
+.project-stack {
+ font-size: 0.75rem;
+ color: var(--muted);
+ opacity: 0.6;
+}
+
+/* ─── TOOLS / SKILLS ─── */
+
+.skills-grid {
+ display: flex;
+ flex-direction: column;
+ gap: 1.4rem;
+}
+
+.skill-group-title {
+ font-size: 0.78rem;
+ font-weight: 500;
+ color: var(--text);
+ margin-bottom: 0.2rem;
+}
+
+.skill-group p:last-child {
+ font-size: 0.85rem;
+ color: var(--muted);
+ font-weight: 300;
+ line-height: 1.7;
+}
+
+/* ─── LAB CALLOUT ─── */
+
+.lab-callout {
+ display: flex;
+ flex-direction: column;
+ gap: 0.6rem;
+ padding: 1.5rem;
+ border: 1px solid var(--border);
+ border-radius: 4px;
+ text-decoration: none;
+ color: inherit;
+ transition: border-color 0.2s, background 0.2s;
+}
+
+.lab-callout:hover {
+ background: #181818;
+ border-color: #333;
+}
+
+.lab-callout-label {
+ font-size: 0.72rem;
+ text-transform: uppercase;
+ letter-spacing: 0.1em;
+ color: var(--muted);
+}
+
+.lab-callout p {
+ font-size: 0.88rem;
+ color: var(--muted);
+ font-weight: 300;
+ line-height: 1.6;
+}
+
+.lab-callout-link {
+ font-size: 0.85rem;
+ font-weight: 500;
+ color: var(--text);
+}
+
+/* ─── CONTACT ─── */
+
+.contact p {
+ font-size: 0.95rem;
+ color: var(--muted);
+ font-weight: 300;
+ margin-bottom: 1.5rem;
+ line-height: 1.8;
+}
+
+.email-link {
+ display: inline-block;
+ font-size: 1rem;
+ font-weight: 500;
+ color: var(--text);
+ text-decoration: none;
+ border-bottom: 1px solid var(--border);
+ padding-bottom: 2px;
+ margin-bottom: 1.5rem;
+ transition: border-color 0.2s;
+}
+
+.email-link:hover { border-color: var(--muted); }
+
+.social-links {
+ display: flex;
+ gap: 1.5rem;
+}
+
+.social-links a {
+ font-size: 0.85rem;
+ color: var(--muted);
+ text-decoration: none;
+ transition: color 0.2s;
+}
+
+.social-links a:hover { color: var(--text); }
+
+/* ─── FOOTER ─── */
+
+footer {
+ padding: 1.5rem 4rem;
+ border-top: 1px solid var(--border);
+ font-size: 0.8rem;
+ color: var(--muted);
+ display: flex;
+ justify-content: space-between;
+}
+
+/* ─── TABLET ─── */
+
+@media (max-width: 900px) {
+ nav { padding: 1.5rem 2rem; }
+
+ header {
+ grid-template-columns: 1fr;
+ gap: 2rem;
+ padding: 4rem 2rem;
+ }
+
+ .content {
+ grid-template-columns: 1fr;
+ padding: 0 2rem;
+ }
+
+ .col-left {
+ padding: 3rem 0;
+ border-right: none;
+ border-bottom: 1px solid var(--border);
+ }
+
+ .col-right { padding: 3rem 0; }
+
+ footer { padding: 1.5rem 2rem; }
+}
+
+/* ─── MOBILE ─── */
+
+@media (max-width: 520px) {
+ nav {
+ padding: 1.2rem 1.2rem;
+ }
+
+ .nav-links { gap: 1.2rem; }
+
+ header { padding: 3rem 1.2rem; }
+
+ h1 { font-size: 2.2rem; }
+
+ .content { padding: 0 1.2rem; }
+
+ footer {
+ padding: 1.5rem 1.2rem;
+ flex-direction: column;
+ gap: 0.3rem;
+ }
+
+ .social-links { flex-wrap: wrap; gap: 1rem; }
+}
\ No newline at end of file