- isEnglishContent() fetches each job page and drops descriptions with ≥6 German or French indicator words; called for every new job in index.ts before writing to CSV - New `bun recheck` command (recheck.ts) runs searches in raw mode, lists filtered-out jobs, and prints word-frequency suggestions for SOFTWARE_TITLE_RE - Expanded KEYWORDS and SOFTWARE_TITLE_RE to cover ML/AI, system/applications engineer, director, informatics, and more title variants - Added `raw` flag to fetchJobs() to bypass the software-role filter - Add CLAUDE.md with project workflow docs; add CV files and city temp scripts
234 lines
8.5 KiB
HTML
234 lines
8.5 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>Rafael Polo - CV</title>
|
||
<style>
|
||
@page {
|
||
size: 8.2681in 11.6929in;
|
||
margin: 0.5in;
|
||
}
|
||
body {
|
||
font-family: Calibri, Liberation Sans, sans-serif;
|
||
font-size: 11pt;
|
||
line-height: 1.2;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
.container {
|
||
display: table;
|
||
width: 100%;
|
||
}
|
||
.left-col {
|
||
display: table-cell;
|
||
width: 100%;
|
||
}
|
||
.title {
|
||
font-size: 24pt;
|
||
font-weight: bold;
|
||
margin-bottom: 0.05in;
|
||
}
|
||
.subtitle {
|
||
font-size: 11pt;
|
||
font-style: italic;
|
||
margin-bottom: 0.15in;
|
||
color: #444;
|
||
}
|
||
table.personal {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
margin-bottom: 0.2in;
|
||
}
|
||
table.personal td {
|
||
padding: 0.02in 0.05in;
|
||
vertical-align: top;
|
||
}
|
||
table.personal .label {
|
||
font-weight: bold;
|
||
color: #333;
|
||
width: 1in;
|
||
}
|
||
table.personal .header-row td {
|
||
font-weight: bold;
|
||
font-size: 11pt;
|
||
text-transform: uppercase;
|
||
border-bottom: 1px solid #999;
|
||
padding-bottom: 0.05in;
|
||
}
|
||
h3 {
|
||
font-size: 11pt;
|
||
font-weight: bold;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.05em;
|
||
margin: 0.15in 0 0.08in 0;
|
||
border-bottom: 1px solid #999;
|
||
padding-bottom: 0.03in;
|
||
}
|
||
ul {
|
||
margin: 0.05in 0;
|
||
padding-left: 0.15in;
|
||
}
|
||
li {
|
||
margin-bottom: 0.04in;
|
||
font-size: 10pt;
|
||
}
|
||
.job-item {
|
||
margin-bottom: 0.08in;
|
||
}
|
||
.job-title {
|
||
font-weight: bold;
|
||
font-size: 10pt;
|
||
}
|
||
.job-meta {
|
||
font-style: italic;
|
||
font-size: 9pt;
|
||
color: #555;
|
||
}
|
||
.job-desc {
|
||
font-style: italic;
|
||
font-size: 10pt;
|
||
color: #444;
|
||
margin-left: 0.1in;
|
||
}
|
||
.edu-item {
|
||
margin-bottom: 0.05in;
|
||
}
|
||
.edu-degree {
|
||
font-weight: bold;
|
||
font-size: 10pt;
|
||
}
|
||
.edu-school {
|
||
font-style: italic;
|
||
font-size: 10pt;
|
||
}
|
||
.skill-item {
|
||
font-size: 10pt;
|
||
margin-bottom: 0.02in;
|
||
}
|
||
.lang-item {
|
||
font-size: 10pt;
|
||
margin-bottom: 0.02in;
|
||
}
|
||
.footer {
|
||
font-size: 9pt;
|
||
color: #666;
|
||
margin-top: 0.2in;
|
||
padding-top: 0.1in;
|
||
border-top: 1px solid #ccc;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="title">Rafael Polo</div>
|
||
<div class="subtitle">Senior Software Engineer — Platform, Data & AI</div>
|
||
|
||
<table class="personal">
|
||
<tr>
|
||
<td colspan="2" class="header-row">Personal</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="label">First name:</td>
|
||
<td>Rafael</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="label">Last name:</td>
|
||
<td>Polo</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="label">Citizenship:</td>
|
||
<td>Portuguese (EU) · Brazilian — no work permit required</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="label">Address:</td>
|
||
<td>Basel, 4055, Switzerland</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="label">Email:</td>
|
||
<td>rafael@extrapolo.com</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="label">Web:</td>
|
||
<td>linkedin.com/in/rafaelpolo<br>extrapolo.com</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<h3>Formal Education</h3>
|
||
<ul>
|
||
<li class="edu-item">
|
||
<span class="edu-degree"><em><strong>Postgraduate in Data Science for Finance</strong></em> – 2021</span><br>
|
||
<span class="edu-school">NOVA IMS Information Management School, Lisbon</span>
|
||
</li>
|
||
<li class="edu-item">
|
||
<span class="edu-degree"><em><strong>Master in Information Systems</strong></em> – 2010–2012</span><br>
|
||
<span class="edu-school">PPGI/UNIRIO — Knowledge Representation & Reasoning</span>
|
||
</li>
|
||
<li class="edu-item">
|
||
<span class="edu-degree"><em><strong>Bachelor in Computer Science</strong></em> – 2004–2009</span><br>
|
||
<span class="edu-school">Metodista Bennett, Rio de Janeiro</span>
|
||
</li>
|
||
</ul>
|
||
|
||
<h3>Relevant Professional Experience</h3>
|
||
<ul>
|
||
<li class="job-item">
|
||
<span class="job-title">Swisscom</span> – <span class="job-meta">2024–2025 – Zürich, Switzerland</span><br>
|
||
<span class="job-desc"><strong>DevOps Engineer</strong> developing platforms for Telecommunication Operations.</span>
|
||
</li>
|
||
<li class="job-item">
|
||
<span class="job-title">EDGE Empower®</span> – <span class="job-meta">2024–2025 – Baar, Switzerland</span><br>
|
||
<span class="job-desc"><strong>Senior Technical Lead</strong> managing projects and external UX & Dev Teams for a SaaS Product.</span>
|
||
</li>
|
||
<li class="job-item">
|
||
<span class="job-title">ExtraPolo — Independent Consulting</span> – <span class="job-meta">2010–2022 – Rio de Janeiro · Berlin · Athens · Lisbon</span><br>
|
||
<span class="job-desc">40+ projects across civic tech, data journalism, open-source platforms and interactive installations for public and private clients.</span>
|
||
</li>
|
||
<li class="job-item">
|
||
<span class="job-title">Moedax Digital Services</span> – <span class="job-meta">2018–2021 – Lisbon · Rio de Janeiro</span><br>
|
||
<span class="job-desc"><strong>Founder & CTO</strong> – Fintech startup connecting CBDC digital currency with KYC compliance automation.</span>
|
||
</li>
|
||
<li class="job-item">
|
||
<span class="job-title">GFOSS.eu / Code + Create</span> – <span class="job-meta">2017–2018 – Athens, Greece</span><br>
|
||
<span class="job-desc"><strong>Web Programming Teacher</strong> – taught HTML, CSS, jQuery to refugee and local youth.</span>
|
||
</li>
|
||
<li class="job-item">
|
||
<span class="job-title">Tactical Tech Collective</span> – <span class="job-meta">2014–2016 – Berlin, Germany</span><br>
|
||
<span class="job-desc"><strong>Full-Stack Web Architect</strong> – investigative data tools under Exposing the Invisible team.</span>
|
||
</li>
|
||
<li class="job-item">
|
||
<span class="job-title">Trommsdorf + Drüner</span> – <span class="job-meta">2013–2014 – Berlin, Germany</span><br>
|
||
<span class="job-desc"><strong>Full-Stack Engineer</strong> – Innovation Team developing Business Intelligence dashboards.</span>
|
||
</li>
|
||
<li class="job-item">
|
||
<span class="job-title">Cortex Intelligence</span> – <span class="job-meta">2007–2008 – Rio de Janeiro, Brazil</span><br>
|
||
<span class="job-desc"><strong>Developer</strong> – Competitive Intelligence and Data Mining R&D team.</span>
|
||
</li>
|
||
</ul>
|
||
|
||
<h3>Certifications</h3>
|
||
<ul>
|
||
<li class="skill-item">Swiss Federal Act on Data Protection (nFADP)</li>
|
||
<li class="skill-item">Gen AI Foundational Models — NLP & LLMs</li>
|
||
<li class="skill-item">AI Agents using RAG and LangChain</li>
|
||
</ul>
|
||
|
||
<h3>Relevant Tech Skills</h3>
|
||
<ul>
|
||
<li class="skill-item"><strong>Languages & Frameworks:</strong> Python · Ruby on Rails · TypeScript · React · Java</li>
|
||
<li class="skill-item"><strong>DevOps & Infra:</strong> Docker · Kubernetes · CI/CD · AWS · Linux · Git</li>
|
||
<li class="skill-item"><strong>Data & AI:</strong> SQL · ETL · Data Engineering · RAG · LangChain · LLM integrations</li>
|
||
<li class="skill-item"><strong>Architecture:</strong> REST APIs · MVC · OOP · UML · System Design · Web Crawling</li>
|
||
</ul>
|
||
|
||
<h3>Natural Languages</h3>
|
||
<ul>
|
||
<li class="lang-item">Native Brazilian Portuguese</li>
|
||
<li class="lang-item">Full professional English</li>
|
||
<li class="lang-item">Full professional Spanish</li>
|
||
<li class="lang-item">German B1 – TELC certified · 3 yrs Berlin + 3 yrs Basel</li>
|
||
</ul>
|
||
|
||
<div class="footer">
|
||
References available upon request · CV updated May 2026
|
||
</div>
|
||
</body>
|
||
</html> |