chore: reorganize repo structure and update docs

- move temp scripts to scripts/, cv files to cv/, jobs.csv to results/
- update index.ts and recheck.ts CSV path to results/jobs.csv
- fix imports in scripts/ to use ../config.ts and ../fetch.ts
- update CLAUDE.md and README.md to reflect new structure
- add plans/ with LinkedIn post drafts
- update .gitignore: ignore results/, jobs/, cv binaries, .DS_Store
This commit is contained in:
2026-06-03 16:01:32 +02:00
parent bcb6ae5ea3
commit fb67c38edd
40 changed files with 1472 additions and 806 deletions
+21
View File
@@ -0,0 +1,21 @@
# Post 1 — Jun 3 · swissviz
**Angle:** Swiss data, first post intro, personal
---
This is my very first post on LinkedIn after years coming and going.
For the past months I decided to step back from work and give full attention to my family. It's been 13 years since I left Brazil, and I just had my newborn son here in Switzerland. Good timing to breathe together.
Meanwhile, I completed my B1 German and IBM AI certifications, and have been immersed in how AI agents are completely changing the way we build software.
I was already playing with programming years before having internet access, and it's been a fascinating adventure to be a technologist for the last 25 years.
Over the next weeks I'll be sharing side projects I've been building and just sharing among friends til now.
---
#1 swissviz — an interactive map of every company registered in Switzerland. Every dot is a real commercial register entity. Zoom into any canton, from Basel, Zürich, or the Valais valleys and the economic density becomes visible like city lights at night. No database or special server, just your browser.
🔗 github.com/rafapolo/swissviz
+17
View File
@@ -0,0 +1,17 @@
# Post 2 — Jun 10 · helvetiscan
**Angle:** Swiss infrastructure, technical depth, bold claim
---
I scanned 2.5 million Swiss .ch domains.
Not randomly — every registered domain in the country, systematically. The goal was to understand the real shape of Switzerland's web infrastructure: what's exposed, what's misconfigured, and where the risk concentrates.
The results were more interesting than expected. A significant share of domains have outdated TLS configurations, exposed admin panels, or missing security headers. Not dramatic zero-days — just the quiet rot that accumulates when no one is looking.
**helvetiscan** is the tool I built to do it. Open source, written in Python, designed to be run incrementally so the dataset stays current.
If you work in Swiss infosec, infrastructure, or just find this kind of data interesting — the repo is open.
🔗 github.com/rafapolo/helvetiscan
+18
View File
@@ -0,0 +1,18 @@
# Post 3 — Jun 17 · Rodado + datative
**Angle:** Data engineering at scale, pipeline story
---
675 GB. 533 datasets. One question: what do you actually do with Brazilian open data?
The government publishes it. The files exist. But they're scattered across formats, encodings, and schemas that change without notice. Most of it is effectively inaccessible to anyone who isn't willing to spend weeks just cleaning.
**Rodado** is my answer to that: a pipeline that organizes, normalizes, and indexes the full archive of Brazilian public datasets — census data, company registries, electoral records, public spending — into something you can actually query.
On top of that I built **datative**, an investigation platform that turns any of those datasets into interactive force-graphs. It was designed for journalists and researchers who need to follow connections, not just rows.
Both open source. The pipeline patterns transfer directly to any domain — scientific data, financial records, public health.
🔗 Rodado: git.extrapolo.com/polo/baseldosdados
🔗 datative: github.com/rafapolo/datative
+20
View File
@@ -0,0 +1,20 @@
# Post 4 — Jun 24 · Tocador
**Angle:** Product + design + cultural identity
---
I moved from Brazil to Berlin to Basel. The music came with me — but Spotify's algorithm never quite figured out what I was actually listening to.
So I built my own player.
**Tocador** is a Spotify-alternative with a catalogue of 7,000+ Brazilian artists, curated and indexed by hand. No recommendation algorithm, no ads, no "because you listened to X." Just artists, genres, and a search that works.
It's live at **tocador.cc** — and it still runs, four years later.
I built it in a weekend because I was frustrated. It ended up teaching me more about product design, music metadata, and what "simple" actually requires than most client projects I've taken on.
Sometimes the side projects that start from irritation are the ones that last.
🔗 tocador.cc
🔗 github.com/rafapolo/tocador
+17
View File
@@ -0,0 +1,17 @@
# Post 5 — Jul 1 · VISO
**Angle:** Civic accountability, live SQL, dataviz with substance
---
Parliamentary expenses are public. They're also 400,000 rows of CSV that nobody reads.
**VISO** is a dashboard I built to change that — not just charts, but a live SQL interface that lets anyone query the raw data directly from the browser. No download, no Excel, no waiting for a journalist to summarize it for you.
The design question was: what does transparency actually look like when you respect the user's intelligence? The answer I landed on was: give them the data and the tool to interrogate it, not just the conclusions.
Built with Python on the backend, React on the front, and a query engine that runs directly against the normalized dataset. Open source.
Civic tech is some of the most technically interesting work I've done — the constraint that the data is messy and the user is real makes everything harder and more honest.
🔗 github.com/rafapolo/viso
+17
View File
@@ -0,0 +1,17 @@
# LinkedIn Posts — June/July 2026
5 posts, every Wednesday. First post ever on LinkedIn.
| # | File | Date | Project |
|---|------|------|---------|
| 1 | [post-1-swissviz.md](post-1-swissviz.md) | Jun 3 | swissviz |
| 2 | [post-2-helvetiscan.md](post-2-helvetiscan.md) | Jun 10 | helvetiscan |
| 3 | [post-3-rodado-datative.md](post-3-rodado-datative.md) | Jun 17 | Rodado + datative |
| 4 | [post-4-tocador.md](post-4-tocador.md) | Jun 24 | Tocador |
| 5 | [post-5-viso.md](post-5-viso.md) | Jul 1 | VISO |
## Backlog (next candidates)
- **sumaria** — YouTube transcript summarizer with LLM. AI tooling angle.
- **VERAΞFIKO** — Awarded Web3 SmartContracts bridging fees into carbon credits. Swiss sustainability resonance.
- **Pegadas Tigrinho** — Corporate network of Brazilian gaming scam. Investigative dataviz storytelling.