2025-11-04 19:07:34 +00:00
<!-- PAGE 1 -->
< div class = "cv-page page-1" >
<!-- Professional Title Badges - Full Width Top Bar -->
< div class = "cv-title-badges-header" >
2025-11-06 09:11:17 +00:00
< span class = "title-badge" > {{if eq .Lang "es"}}ANALISTA{{else}}ANALYST{{end}}< / span >
< span class = "badge-separator" > |< / span >
< span class = "title-badge" > {{if eq .Lang "es"}}CONSULTOR TÉCNICO{{else}}TECHNICAL CONSULTANT{{end}}< / span >
2025-11-04 19:07:34 +00:00
< span class = "badge-separator" > |< / span >
< span class = "title-badge" > NODEJS + REACTJS {{if eq .Lang "es"}}DESARROLLADOR{{else}}DEVELOPER{{end}}< / span >
< span class = "badge-separator" > |< / span >
< span class = "title-badge" > WEB {{if eq .Lang "es"}}DESARROLLADOR{{else}}DEVELOPER{{end}}< / span >
< span class = "badge-separator" > |< / span >
2025-11-06 09:11:17 +00:00
< span class = "title-badge" > GO + HTMX {{if eq .Lang "es"}}DESARROLLADOR{{else}}DEVELOPER{{end}}< / span >
2025-11-04 19:07:34 +00:00
< span class = "badge-separator" > |< / span >
< span class = "title-badge" > PHP {{if eq .Lang "es"}}DESARROLLADOR{{else}}DEVELOPER{{end}}< / span >
< / div >
2025-10-31 11:06:38 +00:00
2025-11-04 19:07:34 +00:00
<!-- Page 1 Content Grid: Left Sidebar + Main Content -->
< div class = "page-content" >
<!-- Left Sidebar - Skills (first half) -->
< aside class = "cv-sidebar cv-sidebar-left" >
{{range $index, $category := .SkillsLeft}}
< section class = "sidebar-section" >
< h3 class = "sidebar-title" > {{$category.Category}}< / h3 >
< div class = "sidebar-content" >
{{range $category.Items}}< div class = "skill-item" > {{.}}< / div > {{end}}
< / div >
< / section >
2025-11-04 13:34:44 +00:00
{{end}}
2025-11-04 19:07:34 +00:00
< / aside >
<!-- Main Content Area - Page 1 -->
< main class = "cv-main" >
<!-- Header with Name and Photo -->
< div class = "cv-header" >
< div class = "cv-header-content" >
< div class = "cv-header-left" >
2025-11-07 11:49:47 +00:00
< h1 class = "cv-name" > Moreno Rubio, Juan Andrés< / h1 >
2025-11-06 09:11:17 +00:00
< p class = "years-experience" > {{.YearsOfExperience}} {{if eq .Lang "es"}}años de experiencia{{else}}years of experience{{end}}< / p >
2025-11-04 19:07:34 +00:00
<!-- Intro/Excerpt Text - No section heading, just the text -->
< div class = "intro-text" > {{.CV.Summary}}< / div >
< / div >
< div class = "cv-photo" >
2025-11-07 11:49:47 +00:00
< img src = "/static/images/profile/dni.jpeg" alt = "{{.CV.Personal.Name}}" onerror = "this.src='/static/images/profile/placeholder.svg'" >
2025-11-04 19:07:34 +00:00
< / div >
< / div >
2025-10-31 11:06:38 +00:00
< / div >
2025-11-04 19:07:34 +00:00
<!-- Education -->
< section class = "cv-section" >
< h3 class = "section-title" > {{if eq .Lang "es"}}Formación{{else}}Training{{end}}< / h3 >
{{range .CV.Education}}
< div class = "education-item" >
< strong > {{.Degree}}< / strong > ({{.StartDate}}-{{.EndDate}}) {{if eq $.Lang "es"}}obtenido de{{else}}obtained from the{{end}} < strong > {{.Institution}}< / strong > ({{.Location}})
< / div >
{{end}}
< / section >
<!-- Skills Summary -->
< section class = "cv-section" >
< h3 class = "section-title" > {{if eq .Lang "es"}}Competencias{{else}}Skills{{end}}< / h3 >
< p class = "summary-text" >
{{if eq .Lang "es"}}
Amplio conocimiento en entornos web, tanto J2EE como PHP. Experto en tecnologías front-end, aunque con considerable experiencia en sistemas back-end. Receptivo al aprendizaje de nuevas tecnologías, y con una gran dosis de creatividad. Capacidad de analizar problemas y aportar soluciones específicas adaptadas a cada tipo de cliente. Me gusta trabajar tanto solo como en grupos.
{{else}}
Extensive knowledge in web environments, both J2EE and PHP. Expert in front-end technologies, although with considerable experience in back-end systems. Receptive to learning new technologies, and with a large dose of creativity. Ability to analyze problems and provide specific solutions tailored to each client type. I like to work both alone and in groups.
{{end}}
< / p >
< / section >
<!-- Experience -->
< section class = "cv-section" >
< h3 class = "section-title" > {{if eq .Lang "es"}}Experiencia{{else}}Experience{{end}}< / h3 >
{{range .CV.Experience}}
< div class = "experience-item" >
2025-11-05 12:15:43 +00:00
< div class = "company-logo" >
2025-11-06 10:36:00 +00:00
{{if .CompanyLogo}}
2025-11-07 11:49:47 +00:00
< img src = "/static/images/companies/{{.CompanyLogo}}" alt = "{{.Company}} logo" onerror = "this.parentElement.innerHTML='<iconify-icon icon=\'mdi:office-building\' width=\'60\' height=\'60\' class=\'default-company-icon\'></iconify-icon>'" >
2025-11-06 10:36:00 +00:00
{{else}}
2025-11-07 11:49:47 +00:00
< iconify-icon icon = "mdi:office-building" width = "60" height = "60" class = "default-company-icon" > < / iconify-icon >
2025-11-06 10:36:00 +00:00
{{end}}
2025-11-05 12:15:43 +00:00
< / div >
< div class = "experience-content" >
< div class = "experience-header" >
< div class = "experience-title-line" >
< h4 class = "position" >
< span class = "position-title" > {{.Position}}< / span >
{{if .Company}}
{{if .CompanyURL}}
< a href = "{{.CompanyURL}}" target = "_blank" rel = "noopener noreferrer" class = "company-link" > {{.Company}}< / a >
{{else}}
< span class = "company-name" > {{.Company}}< / span >
{{end}}
2025-11-04 19:56:40 +00:00
{{end}}
2025-11-07 17:16:36 +00:00
{{if .Current}}
< span class = "current-badge" > {{if eq $.Lang "es"}}ACTUAL{{else}}CURRENT{{end}}< / span >
{{end}}
{{if .Expired}}
< span class = "expired-badge" > {{if eq $.Lang "es"}}EXPIRADO{{else}}EXPIRED{{end}}< / span >
{{end}}
2025-11-05 12:15:43 +00:00
< / h4 >
< span class = "experience-period" > {{.StartDate}} / {{if .Current}}{{if eq $.Lang "es"}}presente{{else}}now{{end}}{{else}}{{.EndDate}}{{end}}< / span >
2025-11-06 10:36:00 +00:00
{{if .Duration}}
< span class = "experience-separator" > - < / span >
< span class = "experience-duration" > {{.Duration}}< / span >
{{end}}
2025-11-05 12:15:43 +00:00
< span class = "experience-separator" > - < / span >
< span class = "experience-location" > ({{.Location}})< / span >
< / div >
2025-11-04 19:07:34 +00:00
< / div >
2025-11-05 12:15:43 +00:00
{{if .ShortDescription}}
< p class = "short-desc" > {{.ShortDescription}}< / p >
{{end}}
2025-11-04 19:07:34 +00:00
2025-11-05 12:15:43 +00:00
< div class = "long-only" >
< ul class = "responsibilities" >
{{range .Responsibilities}}
< li > {{.}}< / li >
{{end}}
< / ul >
< / div >
2025-11-04 19:07:34 +00:00
< / div >
< / div >
{{end}}
< / section >
< / main >
2025-10-20 08:54:21 +01:00
< / div >
2025-11-04 19:07:34 +00:00
< / div >
<!-- PAGE 2 -->
< div class = "cv-page page-2" >
<!-- Professional Title Badges - Same as Page 1 -->
< div class = "cv-title-badges-header" >
< span class = "title-badge" > {{if eq .Lang "es"}}ANALISTA PROGRAMADOR{{else}}ANALYST PROGRAMMER{{end}}< / span >
< span class = "badge-separator" > |< / span >
< span class = "title-badge" > NODEJS + REACTJS {{if eq .Lang "es"}}DESARROLLADOR{{else}}DEVELOPER{{end}}< / span >
< span class = "badge-separator" > |< / span >
< span class = "title-badge" > WEB {{if eq .Lang "es"}}DESARROLLADOR{{else}}DEVELOPER{{end}}< / span >
< span class = "badge-separator" > |< / span >
2025-11-06 09:11:17 +00:00
< span class = "title-badge" > GO + HTMX {{if eq .Lang "es"}}DESARROLLADOR{{else}}DEVELOPER{{end}}< / span >
2025-11-04 19:07:34 +00:00
< span class = "badge-separator" > |< / span >
< span class = "title-badge" > PHP {{if eq .Lang "es"}}DESARROLLADOR{{else}}DEVELOPER{{end}}< / span >
< / div >
<!-- Page 2 Content Grid: Main Content + Right Sidebar -->
< div class = "page-content" >
<!-- Main Content Area - Page 2 -->
< main class = "cv-main" >
<!-- Awards Section -->
{{if .CV.Awards}}
< section class = "cv-section" >
< h3 class = "section-title" > {{if eq .Lang "es"}}Premios y Reconocimientos{{else}}Awards{{end}}< / h3 >
{{range .CV.Awards}}
< div class = "award-item" >
2025-11-07 11:49:47 +00:00
{{if .AwardLogo}}
< div class = "award-logo" >
< img src = "/static/images/companies/{{.AwardLogo}}" alt = "{{.Title}} logo" onerror = "this.parentElement.innerHTML='<iconify-icon icon=\'mdi:trophy\' width=\'60\' height=\'60\' class=\'default-award-icon\'></iconify-icon>'" >
< / div >
{{end}}
< div class = "award-content" >
< strong > {{.Title}}< / strong > < br >
< small > {{.Issuer}} - {{.Date}}< / small >
2025-11-07 18:10:42 +00:00
2025-11-07 17:23:30 +00:00
{{if .ShortDescription}}
2025-11-07 18:13:06 +00:00
< p class = "award-desc short-desc" > {{.ShortDescription}}< / p >
2025-11-07 17:23:30 +00:00
{{end}}
2025-11-07 18:06:25 +00:00
{{if .Responsibilities}}
2025-11-07 18:10:42 +00:00
< ul class = "responsibilities long-only" >
{{range .Responsibilities}}
< li > {{.}}< / li >
{{end}}
< / ul >
2025-11-07 18:06:25 +00:00
{{end}}
2025-11-07 11:49:47 +00:00
< / div >
2025-11-04 19:07:34 +00:00
< / div >
{{end}}
< / section >
{{end}}
2025-10-20 08:54:21 +01:00
2025-11-04 19:07:34 +00:00
<!-- Courses Section -->
{{if .CV.Courses}}
< section class = "cv-section" >
< h3 class = "section-title" > {{if eq .Lang "es"}}Cursos Realizados{{else}}Courses{{end}}< / h3 >
{{range .CV.Courses}}
< div class = "course-item" >
< strong > {{.Title}}< / strong > < br >
< small > {{.Institution}} - {{.Location}}< / small > < br >
< small > {{.Date}} ({{.Duration}})< / small >
{{if .Description}}< p class = "course-desc" > {{.Description}}< / p > {{end}}
< / div >
{{end}}
< / section >
2025-10-29 14:04:24 +00:00
{{end}}
2025-11-04 19:07:34 +00:00
<!-- Languages Section -->
< section class = "cv-section" >
< h3 class = "section-title" > {{if eq .Lang "es"}}Idiomas{{else}}Languages{{end}}< / h3 >
{{range .CV.Languages}}
< div class = "language-item" >
2025-11-07 18:23:56 +00:00
< strong > {{.Language}}:< / strong > {{.Proficiency}}{{if .Detail}} {{.Detail}}{{end}}
2025-10-29 14:04:24 +00:00
< / div >
2025-11-04 19:07:34 +00:00
{{end}}
< / section >
<!-- References Section -->
{{if .CV.References}}
< section class = "cv-section" >
< h3 class = "section-title" > {{if eq .Lang "es"}}Referencias{{else}}References{{end}}< / h3 >
{{range .CV.References}}
< div class = "reference-item" >
2025-11-07 18:23:56 +00:00
< a href = "{{.URL}}" target = "_blank" rel = "noopener noreferrer" > {{.Title}}< / a > < br >
2025-11-04 19:07:34 +00:00
< small class = "ref-type" > ({{.Type}})< / small >
< / div >
{{end}}
< / section >
{{end}}
2025-10-20 08:54:21 +01:00
2025-11-04 19:07:34 +00:00
<!-- Other Section (Driver's License) -->
{{if .CV.Other.DriverLicense}}
< section class = "cv-section" >
< h3 class = "section-title" > {{if eq .Lang "es"}}Otros{{else}}Other{{end}}< / h3 >
< div class = "other-content" >
2025-11-07 18:23:56 +00:00
{{if eq .Lang "es"}}Carnet de conducir tipo {{.CV.Other.DriverLicense}}{{else}}Driving License type {{.CV.Other.DriverLicense}}{{end}}
2025-11-04 19:07:34 +00:00
< / div >
< / section >
2025-10-29 14:04:24 +00:00
{{end}}
2025-11-04 19:07:34 +00:00
< / main >
2025-10-20 08:54:21 +01:00
2025-11-04 19:07:34 +00:00
<!-- Right Sidebar - Skills (second half) -->
< aside class = "cv-sidebar cv-sidebar-right" >
{{range $index, $category := .SkillsRight}}
< section class = "sidebar-section" >
< h3 class = "sidebar-title" > {{$category.Category}}< / h3 >
< div class = "sidebar-content" >
{{range $category.Items}}< div class = "skill-item" > {{.}}< / div > {{end}}
< / div >
< / section >
{{end}}
< / aside >
< / div >
2025-10-29 14:04:24 +00:00
2025-11-04 19:07:34 +00:00
<!-- Footer - Only on Page 2 -->
< footer class = "cv-footer" >
< ul class = "footer-content" >
< li >
2025-11-05 12:15:43 +00:00
< div class = "footer-label" > linkedin_< / div >
< div class = "footer-separator" > < i class = "fa fa-circle" > < / i > < / div >
< div class = "footer-value" >
< a href = "{{.CV.Personal.LinkedIn}}" target = "_blank" rel = "noopener noreferrer" > {{.CV.Personal.LinkedIn}}< / a >
< / div >
< / li >
< li >
< div class = "footer-label" > github_< / div >
2025-11-04 19:07:34 +00:00
< div class = "footer-separator" > < i class = "fa fa-circle" > < / i > < / div >
2025-11-05 12:15:43 +00:00
< div class = "footer-value" >
< a href = "{{.CV.Personal.GitHub}}" target = "_blank" rel = "noopener noreferrer" > {{.CV.Personal.GitHub}}< / a >
< / div >
2025-11-04 19:07:34 +00:00
< / li >
< li >
2025-11-05 12:15:43 +00:00
< div class = "footer-label" > behance_< / div >
2025-11-04 19:07:34 +00:00
< div class = "footer-separator" > < i class = "fa fa-circle" > < / i > < / div >
2025-11-05 12:15:43 +00:00
< div class = "footer-value" >
< a href = "{{.CV.Personal.Behance}}" target = "_blank" rel = "noopener noreferrer" > {{.CV.Personal.Behance}}< / a >
< / div >
2025-11-04 19:07:34 +00:00
< / li >
< li >
< div class = "footer-label" > email@< / div >
< div class = "footer-separator" > < i class = "fa fa-circle" > < / i > < / div >
< div class = "footer-value" >
2025-11-05 12:15:43 +00:00
< a href = "mailto:{{.CV.Personal.Email}}" target = "_blank" rel = "noopener noreferrer" > {{.CV.Personal.Email}}< / a >
2025-11-04 19:07:34 +00:00
< / div >
< / li >
2025-11-06 09:11:17 +00:00
< li >
< div class = "footer-label" > phone#< / div >
< div class = "footer-separator" > < i class = "fa fa-circle" > < / i > < / div >
< div class = "footer-value" >
< a href = "tel:+34676875420" target = "_blank" rel = "noopener noreferrer" > +34 676 875 420< / a >
< / div >
< / li >
2025-11-04 19:07:34 +00:00
< / ul >
< / footer >
< / div >