>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
TypeScript

Come trasformare il tuo profilo GitHub in una scheda calcistica da Ultimate Team

La maggior parte dei profili GitHub si assomigliano. Una noiosa griglia verde di commit, un paio di badge standard che mostrano i linguaggi di programmazione e un contatore di visualizzazioni direttamente dagli anni 2000. Un paio di giorni fa mi sono imbattuto nel progetto GitFut, che risolve questo problema in modo inaspettato. Trasforma l'attività degli sviluppatori in una scheda giocatore completa stile FIFA Ultimate Team con un rating fino a 99, una posizione in campo e una serie di trofei.

GitFut mascot

L'autore del progetto Younesfdj ha affrontato questo come un meticoloso analista sportivo. Il servizio non inventa numeri dal nulla e non ti chiede di compilare questionari. Interroga l'API GraphQL di GitHub, scarica la cronologia dell'account e mappa le metriche su sei attributi calcistici.

GitFut card GitFut card GitFut card

Sei attributi e calcolo della posizione

Invece delle solite righe di codice, il servizio valuta il tuo contributo reale agli open source e alle repository di lavoro. Ogni attributo calcistico è legato a un'azione specifica:

  • PAC (Velocità) viene calcolato in base al numero di commit nell'ultimo anno solare. Più regolarmente fai push del codice, più alta sarà la velocità.
  • SHO (Tiro) dipende dal numero di stelle che le tue repository hanno raccolto.
  • PAS (Passaggio) riflette il lavoro di squadra, combinando le pull request inviate e il numero di follower.
  • DRI (Dribbling) mostra la varietà dei linguaggi di programmazione nel tuo portfolio.
  • DEF (Difesa) si basa sul numero di code review effettuate e issue chiuse.
  • PHY (Fisico) valuta il volume totale di contributi per l'intera durata dell'account.

Gli attributi base hanno un tetto massimo di 88. Per entrare nella categoria 90+ e ottenere lo stato Icon, un anno di successo non basta. Servono anni di lavoro costante e un impatto reale sulla community.

La determinazione della posizione funziona in modo interessante. L'algoritmo guarda l'equilibrio delle statistiche: uno sviluppatore focalizzato su stelle e release popolari viene mandato in attacco (posizione ST o RW), mentre chi ama chiudere issue e fare review diventa un regista basso.

Bronze Silver Gold In-Form TOTY Icon

Protezione contro lo spam di commit

Il problema principale con qualsiasi rating GitHub sono i bot spam e gli auto-commit. GitFut ha risolto questo matematicamente.

Tutta l'attività annuale viene ponderata usando una formula logaritmica:

yearScore = 4·log(commits) + 3·log(PRs) + 3·log(reviews) + 2·log(issues) + 2·log(private)

Il logaritmo satura rapidamente. Se uno script genera 20.000 commit in una repository vuota, contribuirà con 17,2 punti. Nel frattempo, uno sviluppatore reale con 800 commit, 80 PR, 80 review e 40 issue in un anno otterrà 26 punti. L'attività versatile è valutata molto di più dall'algoritmo rispetto allo stupido riempimento del contatore.

Sala dei Trofei e Palloni d'Oro

Se la scheda ha superato la soglia di rating complessivo di 80, il profilo diventa eleggibile per i premi:

  1. Pallone d'Oro. Assegnato per un anno solare che ha significativamente superato la tua media di carriera. Devi accumulare almeno 2.000 contributi e mostrare un risultato 1,2 volte superiore alla mediana.
  2. Pallone d'Oro del Mondiale. Assegnato per un picco di produttività durante i veri tornei mondiali (dal 2010 al 2026). I requisiti sono più modesti per i tornei più vecchi, dato che nel 2010 avere semplicemente dei commit già faceva risaltare un account.
  3. Scarpa d'Oro. Un trofeo dinamico per la forma attuale. Viene tenuto dalle posizioni d'attacco con un rating di Tiro di 80 o superiore. Se le stelle sulle repository recenti calano, la scarpa passa a qualcun altro.
  4. Trofeo Coppa del Mondo. Una coppa speciale per tutti gli sviluppatori che hanno la Spagna nel loro profilo (la vincitrice del WC-2026 nell'impostazione del servizio).

I trofei sulla pagina del profilo vengono visualizzati usando sprite pre-renderizzati (script bake-award-sprites.ts), quindi il browser non deve caricare un motore 3D pesante.

Come incorporare la scheda nel tuo profilo

La scheda viene generata al volo e consegnata come immagine statica. Basta aggiungere una riga al Markdown del tuo profilo:

[![My GitFut card](https://gitfut.com/YOUR_USERNAME.png)](https://gitfut.com/YOUR_USERNAME)

L'immagine viene memorizzata nella cache tramite Redis e si aggiorna mentre fai push del codice e raccogli review. Se vuoi forzare un cambio di bandiera del paese sulla scheda, puoi aggiungere un parametro all'URL: ?country=KZ o ?country=RS.

Il progetto ha uno stack compatto: Next.js, TypeScript, Tailwind per lo stile e Redis per la memorizzazione nella cache delle risposte dell'API GraphQL.

Per chi è questo progetto

GitFut probabilmente non ti aiuterà a superare un rigido colloquio aziendale, ma è un'ottima sostituzione per i noiosi widget README. Il progetto è fatto con anima, le formule tengono onestamente conto del lavoro di squadra e il sistema di premi aggiunge eccitazione al chiudere regolarmente le pull request. Vai sul sito web, inserisci il tuo username e controlla quale posizione l'algoritmo ti assegna.

Progetti correlati