Revise README with new banner and skills overview
Updated README to reflect new banner and skills section. Removed outdated content and improved structure.
This commit is contained in:
@@ -1,180 +1,112 @@
|
|||||||
<!-- Custom SVG Header -->
|
|
||||||
<p align="center">
|
|
||||||
<img src="./one-ring-header.svg" alt="One Ring Inscription Header" width="100%" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
# Pietro Quintavalle
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<b>Systems Engineer · Developer · Homelabber · Economics Student @ USI 🇨🇭</b>
|
<img src="./assets/banner.svg" width="100%" alt="Pietro Quintavalle" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div align="center">
|
<br/>
|
||||||
<i>Open to work — Junior SysAdmin · IT Consulting · Junior Quant</i>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## About Me
|
|
||||||
|
|
||||||
> Hi — friends call me **Quinta**. I'm an Economics student at USI Lugano and a self-taught systems engineer who's been running homelab infrastructure since 2020.
|
|
||||||
>
|
|
||||||
> My setup spans bare-metal Proxmox clusters, DNS and domain management via Cloudflare (AAAA + Tunnels), Pangolin/Traefik reverse proxying with auto-TLS, and a full media & music automation pipeline.
|
|
||||||
>
|
|
||||||
> On the academic side I'm deepening my understanding of microeconomics, macroeconomics, game theory, and quantitative finance — finding more overlap with systems thinking than you'd expect.
|
|
||||||
|
|
||||||
- BSc in Economics @ USI (in progress) · 2 yrs BSc Informatics completed
|
|
||||||
- 5+ years SysAdmin & IT consulting · 6–10 production servers · 90%+ uptime
|
|
||||||
- Daily driver: Ryzen 7 9800X3D · RTX 5080 · hand-built custom keyboard
|
|
||||||
- Italian (Native) · English (Fluent) · German (Conversational) · Spanish & Norwegian (Basic)
|
|
||||||
- Lugano / Bellinzona, Switzerland
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🛠️ Tech Stack
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
**System & Infrastructure:**
|
Economics models incentives under constraints — infrastructure models constraints under load.
|
||||||
<img src="https://img.shields.io/badge/Proxmox_VE_8-3B4252?style=flat&logo=proxmox&logoColor=D8DEE9"/>
|
I like sitting where those two disciplines overlap.
|
||||||
<img src="https://img.shields.io/badge/UNRAID_7.3.1-4C566A?style=flat&logo=unraid&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/TrueNAS-3B4252?style=flat&logo=truenas&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Linux-5E81AC?style=flat&logo=linux&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Windows_Server-4C566A?style=flat&logo=windows&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Docker-81A1C1?style=flat&logo=docker&logoColor=2E3440"/>
|
|
||||||
<img src="https://img.shields.io/badge/LXC-4C566A?style=flat&logo=linuxcontainers&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/KVM-3B4252?style=flat&logo=linux&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Active_Directory-2E3440?style=flat&logo=microsoft&logoColor=D8DEE9"/>
|
|
||||||
|
|
||||||
**Networking & Security:**
|
**[Portfolio](https://quinta0.github.io/whoami/)** · **[LinkedIn](https://www.linkedin.com/in/pietro-quintavalle-996b96267/)** · **[Email](mailto:0pietroquintavalle0@gmail.com)**
|
||||||
<img src="https://img.shields.io/badge/Cloudflare_Tunnels-5E81AC?style=flat&logo=cloudflare&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Pangolin_+_Traefik-4C566A?style=flat&logo=traefikproxy&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Authelia_SSO-3B4252?style=flat&logo=authelia&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Tailscale-81A1C1?style=flat&logo=tailscale&logoColor=2E3440"/>
|
|
||||||
<img src="https://img.shields.io/badge/Fail2Ban-4C566A?style=flat&logo=fortinet&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Crowdsec-3B4252?style=flat&logo=crowdsec&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/VLAN-2E3440?style=flat&logo=networkx&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/AdGuard_Home-81A1C1?style=flat&logo=adguard&logoColor=2E3440"/>
|
|
||||||
<img src="https://img.shields.io/badge/UFW-4C566A?style=flat&logo=linux&logoColor=D8DEE9"/>
|
|
||||||
|
|
||||||
**Development:**
|
|
||||||
<img src="https://img.shields.io/badge/Python-5E81AC?style=flat&logo=python&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/TypeScript-4C566A?style=flat&logo=typescript&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/React-3B4252?style=flat&logo=react&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Next.js-81A1C1?style=flat&logo=nextdotjs&logoColor=2E3440"/>
|
|
||||||
<img src="https://img.shields.io/badge/Django-4C566A?style=flat&logo=django&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/SQL-3B4252?style=flat&logo=sqlite&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Ansible-2E3440?style=flat&logo=ansible&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Bash-81A1C1?style=flat&logo=gnubash&logoColor=2E3440"/>
|
|
||||||
<img src="https://img.shields.io/badge/HTML/CSS-4C566A?style=flat&logo=html5&logoColor=D8DEE9"/>
|
|
||||||
|
|
||||||
**Data & Monitoring:**
|
|
||||||
<img src="https://img.shields.io/badge/Grafana-5E81AC?style=flat&logo=grafana&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Prometheus-4C566A?style=flat&logo=prometheus&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/Uptime_Kuma-3B4252?style=flat&logo=uptimekuma&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/cAdvisor-2E3440?style=flat&logo=google&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/ZFS_RAID--Z-81A1C1?style=flat&logo=openzfs&logoColor=2E3440"/>
|
|
||||||
<img src="https://img.shields.io/badge/rsync-4C566A?style=flat&logo=rsync&logoColor=D8DEE9"/>
|
|
||||||
|
|
||||||
**Dev Tools:**
|
|
||||||
<img src="https://img.shields.io/badge/Git-5E81AC?style=flat&logo=git&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/LaTeX-4C566A?style=flat&logo=latex&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/PowerShell-3B4252?style=flat&logo=powershell&logoColor=D8DEE9"/>
|
|
||||||
<img src="https://img.shields.io/badge/CachyOS-2E3440?style=flat&logo=arch-linux&logoColor=D8DEE9"/>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
---
|
<br/>
|
||||||
|
|
||||||
## Homelab
|
|
||||||
|
|
||||||
Two-node setup built to enterprise patterns at personal scale. **Zero open ports** — all external access via Cloudflare Tunnels and Tailscale. Every service containerised, every entry-point proxied, every failure logged. The UNRAID box, **[Nargothrond](https://github.com/Quinta0/Nargothrond)**, is fully documented in its own repo — hardware, Docker stack, network segmentation, and traffic-flow diagrams.
|
|
||||||
|
|
||||||
| Component | UNRAID Server (Nargothrond) | Proxmox Node |
|
|
||||||
|-----------|--------------|-------------|
|
|
||||||
| **CPU** | Intel Core Ultra 5 225 | Intel Core i7-8700 |
|
|
||||||
| **RAM** | 48GB DDR5 5600MHz | 32GB DDR4 |
|
|
||||||
| **Storage** | WD Gold 14TB + 2× WD 12TB parity array + 2TB NVMe pool | SSD (OS) + SATA pool |
|
|
||||||
| **OS** | UNRAID 7.3.1 | Proxmox VE 8 |
|
|
||||||
| **Access** | Pangolin + Traefik | Tailscale + SSH |
|
|
||||||
| **Focus** | NAS · Docker · Media stack | Virtualisation · LXC · IaC |
|
|
||||||
|
|
||||||
**Key services:** Jellyfin · Navidrome · Sonarr/Radarr/Bazarr · Lidarr · AdGuard Home · Authelia · Grafana/Prometheus · Uptime Kuma · slskd (via VPN)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Projects
|
### 01 — About
|
||||||
|
|
||||||
| Project | Status | Stack | Description |
|
Economics student at USI Lugano and self-taught systems engineer, running homelab infrastructure since 2020.
|
||||||
|---------|--------|-------|-------------|
|
|
||||||
| [**valgo**](https://github.com/Quinta0/valgo) | ● Live | TypeScript · React · Next.js | Step-by-step algorithm visualiser — sorting, graph & search with live code annotations |
|
`Lugano, Switzerland` — `BSc Economics, USI` — `Open for work: Junior SysAdmin · IT Consulting · Junior Quant`
|
||||||
| [**Ainulindale**](https://github.com/Quinta0/Ainulindale) | ● Live | Docker · Navidrome · slskd · Gluetun | Fully self-hosted music discovery & streaming — auto-downloads via Soulseek P2P through VPN |
|
|
||||||
| [**re-soulcommand**](https://github.com/Quinta0/re-soulcommand) | ↗ Open Source | Python · Docker · ListenBrainz · Last.fm | Music recommendation downloader — ListenBrainz/Last.fm playlists into Navidrome via slskd |
|
<br/>
|
||||||
| [**ObsidianSetup**](https://github.com/Quinta0/ObsidianSetup) | ↗ Open Source · 26★ | PowerShell | Cross-platform provisioning utility for Obsidian and plugins — adopted by other users |
|
|
||||||
| [**Boston Housing Price Prediction**](https://github.com/Quinta0/BostonHousing) | ● Live | Python · scikit-learn · Jupyter · Seaborn | Linear-regression model with EDA to identify socioeconomic price drivers |
|
|
||||||
| [**Nargothrond**](https://github.com/Quinta0/Nargothrond) | ● Live | UNRAID · Docker · Traefik · Mermaid docs | Fully documented UNRAID home server — hardware build, Docker stack, network segmentation, and traffic-flow diagrams |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Experience
|
### 02 — Skills & Know-How
|
||||||
|
|
||||||
**Systems Engineering Consultant** · Freelance · Ticino, Switzerland · *Jan 2020 – Present*
|
**Infrastructure & Development**
|
||||||
|
|
||||||
- Delivered and maintained 6–10 production servers at 90%+ uptime for private and business clients
|
| | |
|
||||||
- Eliminated public server exposure across all clients via Cloudflare Tunnels + Pangolin/Traefik — zero open ports, DNSSEC enforced, split-DNS via AdGuard Home
|
|---|---|
|
||||||
- Implemented Authelia SSO + 2FA, Fail2Ban + Crowdsec intrusion detection, and UFW/iptables across all nodes
|
| **System & Infra** | Proxmox VE · UNRAID · TrueNAS · Docker · LXC · KVM · Linux · ZFS · Windows Server / AD |
|
||||||
- Reduced storage recovery time to under 30 minutes with ZFS RAID-Z snapshots and automated rsync offsite backups
|
| **Network & Security** | Cloudflare Tunnels · Tailscale · Traefik · Pangolin · Fail2Ban · CrowdSec · Authelia · VLANs · UFW |
|
||||||
- Enterprise Proxmox Cluster: VLAN segmentation, Pangolin/Traefik reverse proxy, Cloudflare Tunnels, Grafana/Prometheus monitoring
|
| **Development** | Python · TypeScript · React · Next.js · Django · Rust · SQL · Bash · HTML/CSS |
|
||||||
- 9-User TrueNAS NAS: RAID 10, per-user ACLs, ZFS snapshots, automated offsite backups
|
| **Data & Monitoring** | Grafana · Prometheus · Uptime Kuma · cAdvisor · ZFS/RAID · rsync |
|
||||||
- Windows Server: Active Directory, DNS, DHCP, Group Policy, Disaster Recovery planning
|
|
||||||
|
**Economics & Quantitative Methods**
|
||||||
|
|
||||||
|
| | |
|
||||||
|
|---|---|
|
||||||
|
| **Microeconomics** | Consumer & producer theory · market structures · welfare economics · externalities |
|
||||||
|
| **Macroeconomics** | GDP & growth models · IS-LM · monetary & fiscal policy · open economy models |
|
||||||
|
| **Game Theory** | Nash equilibrium · dominant strategies · extensive/normal form · mechanism design · auction theory |
|
||||||
|
| **Quantitative Finance** | Time value of money · probability & statistics · regression · financial modelling |
|
||||||
|
|
||||||
|
**Certifications**
|
||||||
|
|
||||||
|
`Google — Data Analytics Professional Certificate` · `Google — IT Support Professional Certificate` · `Microsoft — Foundations of IT Systems, Networking & Data Protection`
|
||||||
|
|
||||||
|
**Languages**
|
||||||
|
|
||||||
|
`Italian — Native (C2)` · `English — Fluent (C2)` · `German — Conversational (B1–B2)` · `Spanish — Basic (A1)` · `Norwegian — Basic (A1)`
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Education
|
### 03 — Homelab
|
||||||
|
|
||||||
**BSc in Economics** · USI Università della Svizzera italiana · Lugano · *Sep 2024 – Present*
|
Two nodes — **Nargothrond** (UNRAID) and a Proxmox node — fully containerised, every entry point proxied, zero open inbound ports.
|
||||||
Microeconomics · Macroeconomics · Game Theory · Quantitative Finance · Statistics · Financial Modelling
|
|
||||||
|
|
||||||
**BSc in Informatics** *(2 years completed)* · USI · *Sep 2022 – Jun 2024*
|
```
|
||||||
Algorithms & Data Structures · OOP (Java/C++) · Software Engineering · Web Development
|
Traefik + Pangolin reverse proxy, zero-trust access, auto-TLS
|
||||||
|
AdGuard Home + Unbound network-wide DNS filtering, split DNS
|
||||||
|
CrowdSec + Gluetun intrusion detection, VPN-locked downloads
|
||||||
|
Jellyfin + *Arr stack media library and automation
|
||||||
|
Navidrome + slskd self-hosted music discovery and streaming
|
||||||
|
Immich + Vaultwarden photo backup and password sync
|
||||||
|
```
|
||||||
|
|
||||||
**Maturità Cantonale & AFC Economics** · Scuola cantonale di commercio · Bellinzona · *2018 – 2022*
|
Full stack reproduced from code — Ansible + Docker Compose, rebuild in under 30 minutes.
|
||||||
Maturità: **4.5/6** · AFC Economics: **5/6** — Above average in both tracks
|
Documentation: **[Nargothrond](https://github.com/Quinta0/Nargothrond)**
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Certifications
|
### 04 — Selected Projects
|
||||||
|
|
||||||
- Google Data Analytics Professional Certificate
|
| Project | Description | Stack |
|
||||||
- Google IT Support Professional Certificate
|
|---|---|---|
|
||||||
- Microsoft — Foundations of IT Systems, Networking & Data Protection (Specialisation)
|
| **[riptune](https://github.com/Quinta0/riptune)** | Terminal-native music client for Subsonic servers, built for niri | Rust |
|
||||||
|
| **[re-soulcommand](https://github.com/Quinta0/re-soulcommand)** | ListenBrainz / Last.fm → Navidrome downloader via slskd | Python |
|
||||||
|
| **[Ainulindale](https://github.com/Quinta0/Ainulindale)** | Fully self-hosted music discovery and streaming stack | Shell |
|
||||||
|
| **[ObsidianSetup](https://github.com/Quinta0/ObsidianSetup)** | Cross-platform Obsidian and plugin installer — 26 stars | PowerShell |
|
||||||
|
| **[Nargothrond](https://github.com/Quinta0/Nargothrond)** | Homelab provisioning documentation | Docs |
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## GitHub Stats
|
### 05 — Open Source Contributions
|
||||||
|
|
||||||
[](https://github-stats-extended.vercel.app/api?username=Quinta0&show_icons=true&include_all_commits=true&theme=nord)
|
**libratbag / libratbag** — reverse-engineered the USB HID protocol for an unsupported gaming mouse, wrote a complete driver from scratch. [PR #1873](https://github.com/libratbag/libratbag/pull/1873)
|
||||||
|
|
||||||
[](https://github-stats-extended.vercel.app/api/top-langs?username=Quinta0&layout=compact&langs_count=6&theme=nord)
|
**ValveSoftware / steam-for-linux** — diagnosed and fixed a Steam Linux Runtime install bug. [Issue #13248](https://github.com/ValveSoftware/steam-for-linux/issues/13248)
|
||||||
|
|
||||||
|
**Recol / DLSS-Updater** — fixed a UI state desync bug between a popup overlay and the dropdown menu. [PR #252](https://github.com/Recol/DLSS-Updater/pull/252)
|
||||||
|
|
||||||
|
<br/>
|
||||||
## Connect
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
<a href="https://quinta0.github.io/whoami">
|
|
||||||
<img src="https://img.shields.io/badge/Portfolio-4C566A?style=for-the-badge&logo=About.me&logoColor=D8DEE9" alt="Portfolio"/>
|
|
||||||
</a>
|
|
||||||
<a href="mailto:0pietroquintavalle0@gmail.com">
|
|
||||||
<img src="https://img.shields.io/badge/Gmail-5E81AC?style=for-the-badge&logo=gmail&logoColor=D8DEE9" alt="Gmail"/>
|
|
||||||
</a>
|
|
||||||
<a href="https://www.linkedin.com/in/pietro-quintavalle-996b96267/">
|
|
||||||
<img src="https://img.shields.io/badge/LinkedIn-81A1C1?style=for-the-badge&logo=linkedin&logoColor=2E3440" alt="LinkedIn"/>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<sub>Built with a Nord-inspired monochrome palette • Pietro Quintavalle © 2025</sub>
|
|
||||||
|
<sub>© 2026 Pietro Quintavalle — Lugano, Switzerland</sub>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user