Ho Costruito TrumpDaily per Seguire Donald Trump Senza il Rumore
Ascolta, seguire Trump è estenuante. L'uomo domina i titoli su BBC, Guardian, NPR, Al Jazeera e persino Babylon Bee. Controllare più di 10...

Ascolta, seguire Trump è estenuante. L'uomo domina i titoli su BBC, Guardian, NPR, Al Jazeera e persino Babylon Bee. Controllare più di 10 siti al giorno? No grazie. Così ho costruito Trump Daily! È un aggregatore RSS self-hosted che riversa tutto in un'unica interfaccia pulita. https://trumpdaily.site è nato!
E onestamente? È stato il divertimento più grande che abbia avuto programmando da mesi, qualche anno fa.
Lo Stack (Ovvero: Perché Ho Scelto Tech Noiosa)
- Backend: Python/Flask (sì, lo adoro!)
- Database: PostgreSQL
- Cache: Redis (per praticamente tutto)
- Task: Celery (fetch RSS in background)
- Frontend: Vanilla JS (niente React, sfidatemi)
- Deploy: Docker Compose (un comando, fatto)
Il tutto è circa 1.000 righe di Python e 400 righe di JS. Funziona in locale. Nessun tracking (Solo Google Analytics). Nessuna bolletta cloud. Nessuna cazzata.
Come Funziona
RSS Feeds → Celery → Keywords → PostgreSQL → Flask API → Browser
↓
(Divertente? Politico? Serio?)
Ogni 5 minuti, Celery recupera i feed e categorizza gli articoli usando la corrispondenza di parole chiave:
- "investigation" + "indictment" = Serio
- "ridiculous" + "bizarre" = Divertente
- "tariff" + "trade war" = Economico
Regex semplice, ~85% di accuratezza. Nessun ML necessario.
Perché È Stato Ridicolmente Divertente
1. Funziona Davvero
A differenza della maggior parte dei progetti collaterali che prendono polvere, lo uso ogni mattina. Costruire qualcosa di cui hai genuinamente bisogno ha un impatto diverso.
2. Vanilla JS è Liberatorio
Niente webpack. Niente babel. Niente node_modules da 500MB. Solo 400 righe di JavaScript che si caricano istantaneamente. Il frontend filtra più di 500 articoli lato client senza problemi.
3. Docker Compose è Magia
Un solo docker compose up -d avvia 5 servizi (nginx, flask, postgres, redis, celery). Zero inferno di configurazione.
4. Python Fa il Lavoro
Progetto del weekend → Prototipo funzionante in 3 giorni. L'ecosistema (feedparser, SQLAlchemy, Celery) funziona e basta. Zero bug di libreria.
I Compromessi (Ovvero: E Se Avessi Usato Go/Rust?)
Python non è veloce. Siamo onesti:
| Linguaggio | Parsing RSS | Memoria | Tempo di Sviluppo |
|---|---|---|---|
| Python | 15-30s | ~600MB | 3 giorni |
| Go | 3-5s | ~50MB | 5-7 giorni |
| Rust | 2-4s | ~30MB | 9-15 giorni |
| Node.js | 12-25s | ~500MB | 3 giorni |
| Bun | 5-8s | ~200MB | 3 giorni |
Go potrebbe fare il parsing dei feed 10x più veloce? Sì.
Importerebbe? Assolutamente no.
L'app sembra già istantanea. RSS si aggiorna ogni 5 minuti. A chi importa se l'ingestione richiede 15 secondi invece di 3? Non sto gestendo Twitter qui.
Quando Sceglierei Diversamente
- 10.000 utenti simultanei? Go o Rust.
- WebSocket in tempo reale? Elixir/Phoenix.
- VPS da $5/mese? Go (meno memoria).
- Conosci già Rust? Usa ciò che conosci.
Ma per uno strumento single-user, self-hosted? Python è perfetto.
Migliori Decisioni
- Filtraggio lato client - Carica tutti i 500 articoli, filtra nel browser. Veloce e semplice.
- Docker Compose - Niente complessità Kubernetes per un progetto personale.
- Niente framework - Vanilla JS si carica in millisecondi, nessun passaggio di build.
- PostgreSQL - Indici appropriati, niente drammi di locking di SQLite.
- Privacy-first - Funziona in locale, zero tracking, zero cloud.
Peggiori Decisioni
- Nessuna ricerca full-text - LIKE di PostgreSQL è basilare, ma sufficiente.
- Nessun aggiornamento in tempo reale - Gli articoli si aggiornano ogni 5 min, non in diretta.
- Uso della memoria - 600MB è eccessivo per questo, ma a chi importa.
Vuoi Contribuire?
Il repo è privato su GitHub, ma sono felice di aggiungere collaboratori. Se vuoi:
- Esplorare il codice
- Contribuire con funzionalità
- Forkarlo per il tuo aggregatore
Semplicemente inviami il tuo username GitHub o il tuo indirizzo email. L'ho tenuto privato per evitare spam, ma adoro la collaborazione.
Lezioni Apprese
- La tech noiosa vince - Flask, PostgreSQL, Redis sono noiosi. Sono anche testati in battaglia e prevedibili.
- Il rendering lato client è sottovalutato - I browser moderni sono veloci. Usali.
- Docker Compose > Kubernetes - Per piccoli progetti, K8s è una follia.
- Vanilla JS è sufficiente - React/Vue sono ottimi, ma complessità non necessaria per UI semplici.
- RSS non è morto - Semplice, standardizzato, nessuna chiave API, funziona e basta.
Il Verdetto
Python era assolutamente la scelta giusta. Non perché sia veloce (non lo è), ma perché:
- Ho rilasciato in 3 ore con Github Co-Pilot
- Il codice è leggibile
- Le prestazioni sono "abbastanza buone"
- Mi diverto davvero a mantenerlo
Go potrebbe essere 10x più veloce? Certo. Importerebbe? No.
Scegli strumenti che ti permettano di rilasciare velocemente, risolvere il problema e non fare over-engineering.
Tech: Python, Flask, PostgreSQL, Redis, Celery, Vanilla JS
Righe di Codice: ~1.400 totali
Tempo di Sviluppo: 3 ore con Github Co-Pilot
Deploy: docker compose up -d
Stato: Repo privato, collaboratori benvenuti
2026. Costruito, rilasciato, lo uso ogni giorno. Così dovrebbero sentirsi i progetti collaterali.
Riferimenti
- https://trumpdaily.site
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#the-stack-or-why-i-c
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#how-it-works
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#why-this-was-ridicul
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#the-trade-offs-or-wh
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#when-id-choose-diffe
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#best-decisions
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#worst-decisions
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#want-to-contribute
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#lessons-learned
- github.com/flightlesstux/trump-daily/blob/main/BLOG_POST.md#the-verdict
Altro da Ercan
Altri due siti, stesso autore, terreno diverso.
IA, LLMs, agenti, ML applicato.
Note sul campo su workload IA. Analisi dei costi Bedrock, pattern di agenti, trade-off di storage vettoriale, failure mode in produzione.
Visita ercan.ai →L'hub. Chi sono, consulenza, contatti.
Hub personale per entrambe le tracce di scrittura. Chi sono, come funziona la consulenza, come contattarmi.
Visita ercanermis.com →