Brian Amaya BRIAN AMAYA
  • HOME
  • ABOUT
  • BLOG
  • PROJECTS
<div class="ab-hero__photo">
  <img src="assets/img/portada.png" alt="Brian Amaya">
</div>
<div>
  <span class="ab-eyebrow">About Me</span>
  <h1 class="ab-name">Brian<br>Amaya</h1>
  <p class="ab-role">Bioeconomy Researcher &amp; Senior Data Analyst</p>
  <p class="ab-bio">
    My background blends bioeconomics, territorial analysis, and data science.
    I work at the Humboldt Institute researching Colombia's bioeconomy—combining
    R, Python, and geospatial tools to translate complex datasets into clear,
    actionable knowledge.
  </p>
  <div class="ab-hero__links">
    <a href="https://www.linkedin.com/in/brianamaya01/" class="ab-btn">LinkedIn</a>
    <a href="https://drive.google.com/file/d/1jD66-rrHv_ot_H3VS4YBsANXoeov2p1R" class="ab-btn ab-btn--outline">Download CV</a>
    <a href="about_es.html" class="ab-lang">
      <img src="assets/img/colombia.png" alt="ES"> ES
    </a>
  </div>
</div>
<div class="ab-stat">
  <span class="ab-stat__num">6+</span>
  <span class="ab-stat__label">Years of Experience</span>
</div>
<div class="ab-stat">
  <span class="ab-stat__num">10+</span>
  <span class="ab-stat__label">Research Projects</span>
</div>
<div class="ab-stat">
  <span class="ab-stat__num">3</span>
  <span class="ab-stat__label">Key Institutions</span>
</div>
<div class="ab-stat">
  <span class="ab-stat__num">10+</span>
  <span class="ab-stat__label">Certifications</span>
</div>
SHEET_ID  = "1eM7x2Si2bbUUBFjo9sR4XskrV41XsYpwmn4cWsLPj3I"
SHEET_GID = "1335221155"
PRESENT_LABEL = "Present"

// ── Fetch & parse ────────────────────────────────────────
sheetData = {
  try {
    const url = `https://docs.google.com/spreadsheets/d/${SHEET_ID}/export?format=csv&gid=${SHEET_GID}`
    const res  = await fetch(url)
    if (!res.ok) return []
    const text = await res.text()
    return d3.csvParse(text).filter(d => d.in_resume === "TRUE")
  } catch(e) {
    return []
  }
}

// ── Helpers ──────────────────────────────────────────────
function parseLink(str) {
  if (!str) return { text: "", url: null }
  const m = str.match(/^\[([^\]]+)\]\(([^)]+)\)/)
  return m ? { text: m[1], url: m[2] } : { text: str, url: null }
}

function fmtRange(start, end) {
  const e = (end || "").trim()
  return e ? `${start} — ${end}` : `${start} — ${PRESENT_LABEL}`
}

function bullets(row) {
  return [row.description_1, row.description_2, row.description_3]
    .filter(d => d && d.trim())
    .map(d => d.replace(/^[•\-]\s*/, "").trim())
}

// ── Filtered subsets ─────────────────────────────────────
workExp  = sheetData.filter(d => d.section === "working_experience")
                    .sort((a,b) => Number(b.start) - Number(a.start))

education = sheetData.filter(d => d.section === "education")
                     .sort((a,b) => Number(b.start) - Number(a.start))

projects  = sheetData.filter(d => d.section === "research_projects")
                     .sort((a,b) => Number(b.start) - Number(a.start))

certs     = sheetData.filter(d => d.section === "short_courses")
                     .sort((a,b) => Number(b.start) - Number(a.start))

// ── Arrow icon ───────────────────────────────────────────
arrowSvg = `<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg>`
// ══ WORK EXPERIENCE ══════════════════════════════════════
html`<section class="ab-section">
  <div class="ab-section__inner">
    <div class="ab-section__head">
      <div>
        <span class="ab-section__eyebrow">Career</span>
        <h2 class="ab-section__title">Work Experience</h2>
      </div>
    </div>
    <div class="ab-timeline">
      ${workExp.map(row => {
        const bs = bullets(row)
        return html`<div class="ab-card">
          <div class="ab-card__meta">
            <span class="ab-card__dates">${fmtRange(row.start, row.end)}</span>
            <p class="ab-card__institution">${row.institution}</p>
            <p class="ab-card__loc">${row.loc || ""}</p>
          </div>
          <div>
            <h3 class="ab-card__title">${row.title}</h3>
            ${bs.length ? html`<ul class="ab-card__bullets">${bs.map(b => html`<li>${b}</li>`)}</ul>` : ""}
          </div>
        </div>`
      })}
    </div>
  </div>
</section>`
// ══ EDUCATION ════════════════════════════════════════════
html`<section class="ab-section ab-section--alt">
  <div class="ab-section__inner">
    <div class="ab-section__head">
      <div>
        <span class="ab-section__eyebrow">Academic Background</span>
        <h2 class="ab-section__title">Education</h2>
      </div>
    </div>
    <div class="ab-timeline">
      ${education.map(row => {
        const bs = bullets(row)
        return html`<div class="ab-card">
          <div class="ab-card__meta">
            <span class="ab-card__dates">${fmtRange(row.start, row.end)}</span>
            <p class="ab-card__institution">${row.institution}</p>
            <p class="ab-card__loc">${row.loc || ""}</p>
          </div>
          <div>
            <h3 class="ab-card__title">${row.title}</h3>
            ${bs.length ? html`<ul class="ab-card__bullets">${bs.map(b => html`<li>${b}</li>`)}</ul>` : ""}
          </div>
        </div>`
      })}
    </div>
  </div>
</section>`
// ══ RESEARCH PROJECTS ════════════════════════════════════
html`<section class="ab-section">
  <div class="ab-section__inner">
    <div class="ab-section__head">
      <div>
        <span class="ab-section__eyebrow">Applied Research</span>
        <h2 class="ab-section__title">Research Projects</h2>
      </div>
    </div>
    <div class="ab-grid">
      ${projects.map(row => {
        const { text: title, url } = parseLink(row.title)
        const desc = (row.description_1 || "").replace(/^[•\-]\s*/, "").trim()
        if (url) {
          return html`<a href="${url}" target="_blank" rel="noopener noreferrer" class="ab-proj">
            <span class="ab-proj__year">${row.start}${row.end && row.end !== row.start ? " — " + row.end : ""}</span>
            <span class="ab-proj__title">${title}</span>
            <span class="ab-proj__inst">${row.institution}</span>
            ${desc ? html`<p style="font-size:13px;color:#666;line-height:1.5;margin:0;">${desc}</p>` : ""}
            <span class="ab-proj__link">View Project ${{innerHTML: arrowSvg}}</span>
          </a>`
        }
        return html`<div class="ab-proj" style="cursor:default;">
          <span class="ab-proj__year">${row.start}${row.end && row.end !== row.start ? " — " + row.end : ""}</span>
          <span class="ab-proj__title">${title}</span>
          <span class="ab-proj__inst">${row.institution}</span>
          ${desc ? html`<p style="font-size:13px;color:#666;line-height:1.5;margin:0;">${desc}</p>` : ""}
        </div>`
      })}
    </div>
  </div>
</section>`
// ══ CERTIFICATIONS ═══════════════════════════════════════
html`<section class="ab-section ab-section--alt">
  <div class="ab-section__inner">
    <div class="ab-section__head">
      <div>
        <span class="ab-section__eyebrow">Continuous Learning</span>
        <h2 class="ab-section__title">Certifications &amp; Courses</h2>
      </div>
    </div>
    <div class="ab-certs">
      ${certs.map(row => {
        const { text: title, url } = parseLink(row.title)
        return html`<div class="ab-cert">
          <span class="ab-cert__year">${row.start}${row.end && row.end !== row.start ? " — " + row.end : ""}</span>
          ${url
            ? html`<a href="${url}" target="_blank" rel="noopener noreferrer" class="ab-cert__title" style="text-decoration:none;color:inherit;">${title}</a>`
            : html`<span class="ab-cert__title">${title}</span>`
          }
          <span class="ab-cert__inst">${row.institution || ""}</span>
        </div>`
      })}
    </div>
  </div>
</section>`
Brian Amaya

Bioeconomy researcher and data analyst based in Bogotá, Colombia. Turning complex data into actionable insights for sustainable decisions.

✉ in

Pages

  • Home
  • About
  • Blog (EN)
  • Blog (ES)
  • Projects

Recent Posts

  • Three Years of DeepTech in Colombia
  • Centralizing Bioeconomy Information
  • Bioeconomy Policies

Projects

  • Global Bioeconomy News
  • Corozo Value Chain
  • Urban Sound Classification

© 2025 Brian Amaya — All rights reserved.

Bogotá, Colombia