Progetti scelti
-
Ruolo attuale2025 - oggi
-
Una suite di prodotti per un’azienda della formazione professionale, interni e rivolti ai clienti, con una sola identità: un gestionale per il core business, un authorization server centrale, un marketplace, ticketing e timesheet. Progetto l’architettura e scrivo gran parte del codice.
- Il problema
- L’azienda gestiva il proprio lavoro su strumenti separati con login separati. Ogni nuovo prodotto voleva dire un altro database utenti e un’altra password, e nessuno strumento parlava con gli altri.
- Cosa ho fatto
- Ho progettato e costruito i prodotti come un unico ecosistema con una sola identità. Il gestionale è il più grande: modella l’operatività quotidiana dell’azienda da capo a fondo, dalla pianificazione alla rendicontazione, e integra i servizi esterni su cui il business già si appoggia. Un authorization server separato gestisce il login di tutto ed emette token OIDC che portano solo l’identità, mentre ogni prodotto tiene i propri ruoli e decide chi entra. Il marketplace vende con checkout Stripe; ticketing e timesheet girano sullo stesso stack e sullo stesso login. Le decisioni sono scritte come ADR prima di andare in produzione.
- Sotto il cofano
- Spring Boot 4 su Java 25, Vaadin 25 con viste Flow e React, Spring Security, Spring Authorization Server (Authorization Code flow, gate di accesso per prodotto sull’endpoint authorize), JPA con Flyway su MySQL (78 migrazioni solo sul gestionale), checkout Stripe embedded. I rilasci sono tag git: GitHub Actions su runner self-hosted costruisce l’immagine, la pubblica su GHCR e ridistribuisce con docker compose. Circa 1.000 commit su cinque repository, primo committer in ognuno.
-
- Uno scraper Playwright in Java, porting di un prototipo Python, che alimenta un database MySQL.
- Un client desktop Electron per strumenti interni.
- Script Python che validano dati Excel e PDF per il processo di conformità di un cliente enterprise.
- Un sito aziendale in Next.js.
-
-
Ruolo precedente2022 - 2025
-
Una piattaforma di project management: app mobile, web app con gantt e timeline, automazioni sui task e integrazione Microsoft 365. Ero lo sviluppatore principale su entrambi i client.
- Il problema
- I team avevano bisogno di un posto solo per pianificare il lavoro da telefono e desktop, con le viste di pianificazione che fogli di calcolo e chat non potevano dare.
- Cosa ho fatto
- Ho costruito l’app Flutter con state management BLoC e la web app Next.js: gantt e timeline, automazioni sui task, editor rich-text, export PDF, accesso e calendario tramite Microsoft 365. La logica server gira come Firebase Cloud Functions.
- Sotto il cofano
- Flutter con flutter_bloc e dio, Next.js con React, TipTap, react-pdf, MSAL e Microsoft Graph, Firebase Auth, Firestore e Cloud Functions su Node. Circa 42.000 righe di Dart e 39.000 di TypeScript, oltre 1.000 commit come autore principale.
-
- Un’app social geolocalizzata per un cliente sotto NDA: Expo e Firebase, ricerca di prossimità con geohash, clustering su mappa, chat vincolata all’abbonamento. Circa 26.000 righe, 53 commit miei.
- Un sito aziendale in Next.js.
-
-
Personali2024 - 2026
-
Un’app nativa per organizzare viaggi di gruppo: votare la destinazione, proporre alloggi, costruire l’itinerario su mappa e calendario, dividere le spese, chattare. Costruita due volte, apposta.
- Il problema
- I viaggi di gruppo muoiono nelle chat: nessuno decide la destinazione, le spese si perdono, il piano vive nella testa di uno solo. La prima versione, fatta in sei nel 2025, funzionava, e ci ha insegnato cosa serviva davvero.
- Cosa ho fatto
- Ero primo committer della v1 (Angular, Ionic, Express, Prisma su Postgres). Poi ho scritto un piano tecnico e l’ho ricostruita da solo nel 2026 su Expo: voto della destinazione, spese con conguaglio automatico, itinerario su mappa e calendario, chat realtime, notifiche push. Stavolta le security rules di Firestore sono testate sull’emulatore e le decisioni di design vivono accanto al codice.
- Sotto il cofano
- Expo SDK 56 con expo-router e NativeWind, Zustand, react-hook-form e Zod, i18next in italiano e inglese, react-native-maps. Cloud Functions v2 su Node 20 per voti, spese, inviti e notifiche. Rules Firestore testate con l’emulatore, unit test sulla divisione spese. Circa 12.900 righe di TypeScript.
-
Un gioco musicale con carte stampate: inquadri il QR, parte la traccia su Spotify, indovini titolo e artista prima degli altri.
- Il problema
- I quiz musicali hanno bisogno di un conduttore con una playlist. Volevo una scatola di carte che facesse girare il gioco da sola, a un tavolo, con i telefoni che la gente ha già.
- Cosa ho fatto
- Ho costruito l’app in React Native con Expo: scansione con la fotocamera, riproduzione Spotify, punteggi in singolo e multiplayer. Uno script Python costruisce la lista dei brani da Spotify e genera le carte stampabili, dipingendo un gradiente radiale dentro ogni QR perché il mazzo sembri un mazzo e non un foglio di codici a barre.
- Sotto il cofano
- Expo SDK 51, expo-camera e lettura barcode, Zustand, NativeWind, Spotify Web API. Generatore di carte in Python con qrcode e Pillow. Codebase piccola, prodotto intero: carte stampate, fotocamera, API di streaming.
-
Competenze
In ordine di tempo di lavoro che occupano. Gira la pagina per le prove.
-
Linguaggi
- Java
- TypeScript
- Dart
- Python
- SQL
-
Backend
- Java
- Spring Boot
- Spring Security
- JPA
- MySQL
- Node.js
- Express
- FastAPI
-
Frontend
- Vaadin
- TypeScript
- React
- Next.js
- Vite
- Tailwind
-
Mobile
- Flutter
- React Native
- Expo
-
Cloud
- Firebase
- Cloud Functions
- Firestore
- Docker
- Traefik
- GitHub Actions
- Google Cloud
-
E poi
- Python
- Postgres
- Stripe
- Playwright
- Electron
Esperienza
-
Fullstack developerAzienda della formazione professionale
Progetto e sviluppo piattaforme fullstack per uso interno ed esterno, dalla prima bozza al go-live. Prendo le decisioni su architettura e stack, integro prodotti esterni e ho costruito il single sign-on centralizzato dell’intero ecosistema applicativo.
-
Fullstack developerSoftware house
Piattaforme web e mobile: architettura software, infrastruttura cloud e intero ciclo di sviluppo. Autore principale di entrambi i client di un prodotto di project management.
-
Sviluppatore webAgenzia digitale
Backend di un e-commerce personalizzato su WooCommerce, una mappa interattiva con Google Maps API e script di automazione per i processi interni. Primo approccio a Web3 e smart contract.
-
Analista di sistemi informaticiServizi IT per il settore bancario
Application management per istituti bancari: esecuzione e monitoraggio di elaborazioni, analisi dei log e risoluzione errori su ambienti Windows, Linux e Host, SQL per la gestione dei database.
Formazione
- 2021-2022Digital UniversitasPercorso full-time sulle competenze digitali, con borse di studio offerte da aziende e imprenditori
- 2018Istituto Industriale Statale Benedetto Castelli, BresciaDiploma di perito informatico, livello 4 EQF
Chi sono
Sono Federico, fullstack developer di Brescia. Scrivo software per lavoro dal 2020 e costruisco piattaforme a tutto tondo dal 2022: backend, frontend, mobile e il cloud sotto.
Quello che mi piace è il giro completo: capire cosa deve fare un prodotto, scegliere uno stack che ci stia, scriverlo, portarlo online e tenerlo onesto con documentazione e test. Scrivo le decisioni prima di scrivere il codice.
Fuori dal lavoro costruisco le cose che vorrei esistessero: un pianificatore di viaggi per gruppi di amici, un gioco musicale su carte stampate.
Italiano, madrelingua. Inglese, B2/C1.
Contatti
Vuoi più dettagli, o il mio CV? Basta chiedere: l’email è il modo più veloce per raggiungermi.