Senior Product Engineer

Leonardo Chiaramonti

Fullstack mobile-first. Dal componente RN al pod EKS.

Costruisco e modernizzo software in produzione end-to-end: app React Native sul campo, frontend web React 19, microservizi Java e la piattaforma AWS sotto — senza rompere quello che già funziona.

0+
anni di software in produzione
0
punti vendita su una piattaforma gestita end-to-end
0
release Kubernetes gestite su EKS

Case study

Lavoro andato in produzione

Una selezione dal SaaS enterprise per sicurezza alimentare e compliance retail (clienti GDO come Conad Nord Ovest e Carrefour). Il codice è proprietario — qui ci sono i problemi, l’approccio e cosa è cambiato.

REC-01 / Modernizzazione legacy · product ownership

Riscrivere un backoffice live senza fermare il business

Il backoffice web di una grande cooperativa retail italiana (Conad Nord Ovest) girava su Create React App, React 16, MUI v4 e JavaScript non tipizzato — difficile da evolvere, ancora più difficile trovarci sviluppatori. Per un anno ho gestito questo prodotto da solo — decisioni di ingegneria e di prodotto — al servizio di 650 punti vendita e ~300k€/anno di fatturato da solo.

Problema

Il prodotto richiedeva feature nuove ogni settimana. Un rewrite big-bang avrebbe congelato la delivery per mesi; restare sullo stack legacy rendeva ogni feature più lenta e rischiosa.

Impatto

  • Una codebase tipizzata e testabile su cui il team può davvero assumere.
  • Le nuove schermate di listing passano da giorni a ore grazie alla DataTable generica e alle convenzioni di routing.
  • Zero downtime in produzione durante la migrazione.
  • Prodotto e delivery gestiti da solo per un anno: roadmap, priorità e release per 650 punti vendita — un prodotto che da solo vale ~300k€/anno.

Approccio

  • Ricostruita l’applicazione su TanStack Start, React 19, TanStack Router/Query/Table/Form, Zod, shadcn/ui e Tailwind v4 — routing file-based, loader query con Suspense, search params come unica fonte di verità per paginazione, ordinamento e filtri.
  • Progettata una DataTable generica server-side e un design system brandizzato: le nuove schermate CRUD diventano configurazione, non codice.
  • App legacy mantenuta in produzione durante la transizione; lo stesso backend Spring Boot serve entrambe, quindi il cutover è per schermata, non per prodotto.
TanStack StartReact 19TypeScript strictZodshadcn/uiTailwind v4Vite
REC-02 / Mobile su larga scala

La field app su cui gli ispettori HACCP contano ogni giorno

BS-SAFE è l’app usata sul campo dagli ispettori di sicurezza alimentare: checklist, allegati, firme, calendari — spesso con connessioni instabili.

Problema

Una sola codebase doveva rilasciare in modo affidabile su iOS e Android tra dev, staging e produzione, con fix rapidi sul campo e nessuna release rotta.

Impatto

  • Gli ispettori ricevono i fix in ore via OTA invece che in giorni via store review.
  • Ogni release passa dai flussi E2E prima di arrivare su un dispositivo.
  • Un solo team rilascia tre ambienti e due store da una singola codebase.

Approccio

  • Expo SDK 53 + React 19 + React Native 0.79 con expo-router, NativeWind, MMKV, Reanimated e react-hook-form + Zod per form tolleranti all’offline.
  • Build EAS multi-ambiente (dev / staging / prod) con aggiornamenti over-the-air per hotfix immediati che saltano la review degli store.
  • Quality gate in CI: 12 workflow GitHub Actions tra lint, type-check, unit test e flussi end-to-end Maestro; Sentry in produzione.
  • Lavoro di performance dove serve: GridList al posto di FlatList, refactor del calendario, flussi BottomSheet, gestione tastiera.
Expo SDK 53React Native 0.79EAS Build + UpdatesMaestro E2ESentryGitHub Actions
REC-03 / IoT end-to-end

Monitoraggio catena del freddo: dalla scelta della sonda al pod in produzione

La compliance alimentare richiede il monitoraggio continuo delle temperature di frigoriferi e celle in ogni punto vendita. Ho ideato la soluzione IoT aziendale e gestito l’intera catena — inclusa la scelta della sonda fisica e del fornitore, fino all’installazione dell’hardware in loco.

Problema

La registrazione manuale delle temperature è soggetta a errori e non soddisfa gli auditor; le piattaforme IoT off-the-shelf erano costose, rigide e impossibili da integrare con la suite HACCP.

Impatto

  • Monitoraggio continuo e automatico della catena del freddo al posto dei registri manuali.
  • Registrazioni di temperatura pronte per gli audit, con alert sulle violazioni di soglia.
  • Una sola persona ha coperto l’intera catena: sourcing hardware → backend → release Kubernetes → installazione sul campo.

Approccio

  • Scouting e selezione della sonda di temperatura e del fornitore hardware: valutazione di costi, affidabilità e aderenza ai requisiti di compliance.
  • Progettato il flusso di device management nel backend Java: registrazione dispositivi, auto-assegnazione al reparto responsabile, grant client-side, mock mode per lo sviluppo.
  • Logica di compliance sopra le letture: soglie, alert e registrazioni di non conformità che alimentano i flussi HACCP esistenti.
  • Rilasciato come release iot-compliance su EKS, osservabile via OpenTelemetry come ogni altro servizio.
  • Sonde installate e messe in servizio fisicamente in loco nei punti vendita.
Sonde di temperatura IoTJava / Spring BootPostgreSQLEKS (iot-compliance)OpenTelemetry + SigNoz
REC-04 / Ownership della piattaforma

La piattaforma AWS su cui deploya ogni prodotto

Un SaaS multi-prodotto (app mobile, backoffice web, microservizi Java, microfrontend) aveva bisogno di infrastruttura vera: ambienti isolati, deploy ripetibili, osservabilità.

Problema

I deploy erano manuali e il drift tra ambienti costante. Nessuno sapeva rispondere a "cosa gira esattamente in prod, e come ci è arrivato?"

Impatto

  • Owner di ~12 release Kubernetes in produzione sul cluster.
  • Un nuovo microservizio passa da repo a deploy prod-ready in un giorno, non in uno sprint.
  • Gli incident partono da trace e dashboard, non da ipotesi.

Approccio

  • Organizzazione AWS multi-account con Terraform: account management / audit / dev / staging / prod, CloudTrail centralizzato, IAM SSO, moduli riusabili per VPC, RDS, Redis, ECR ed EKS.
  • Un unico modulo Terraform riusabile eks-release-template: ogni servizio (auth, payments, copilot, IoT compliance, frontend...) deploya allo stesso modo, con External Secrets e AWS Load Balancer Controller.
  • Pipeline CI/CD tipizzate per classe di artefatto (Java, SPA, microfrontend, Python, migrazione DB) più ArgoCD per lo stato del cluster.
  • Osservabilità di default: auto-instrumentation OpenTelemetry su ogni servizio Java, trace e dashboard in SigNoz.
TerraformAWS (EKS, RDS, S3, IAM/IRSA)ArgoCDHelmOpenTelemetrySigNoz
REC-05 / AI in produzione

LLM che lavorano davvero, non demo

Due sistemi AI rilasciati per utenti enterprise: un copilot di prodotto integrato nella suite SaaS e un digitalizzatore di documenti per PDF arbitrari.

Problema

L’AI enterprise fallisce sulle parti noiose: PDF malformati, campi allucinati, controllo dei costi e integrazione con auth e dati esistenti.

Impatto

  • Documenti che prima richiedevano data entry manuale diventano record strutturati in automatico.
  • Il copilot risponde dentro il prodotto con contesto tenant-aware, non in una chat separata.
  • Lo sviluppo itera senza bruciare budget API grazie alla mock mode.

Approccio

  • Copilot: microservizio Spring Boot 3 / Java 17 con Spring AI, più frontend Next.js 15 + assistant-ui, integrato con l’identity provider OAuth della piattaforma.
  • Digitizer: pipeline NestJS + BullMQ che estrae JSON strutturato dai PDF con Claude, con fallback vision multimodale quando il layer testuale è inutilizzabile; retry/backoff e mock mode a costo zero per lo sviluppo.
  • Output strutturati validati contro schemi — il modello propone, il codice dispone.
Spring AIJava 17Next.js 15NestJS + BullMQAnthropic Claude (text + vision)PostgreSQL + Prisma

Progetti personali

Cosa costruisco fuori orario

Side project con disciplina da produzione: codice tipizzato, test, CI e specifiche scritte — non esperimenti del weekend.

Ouroboros

RPG incrementale con rinascite, per mobile

Un RPG incrementale mobile con run attive e progressione passiva dell’anima attraverso le rinascite, costruito su un game engine a funzioni pure con simulazione offline dei tick e matematica big-number.

  • Game engine deterministico custom (simulate) con sistema di modificatori e doppio store Zustand
  • 33 file di test su combattimento, rinascita, loot e logica delle zone
  • 24 documenti di engineering: architettura, formule, scope MVP
React Native 0.81Expo SDK 54TypeScriptZustand + MMKVReanimated 4Jest + Maestro
Repo disponibile su richiesta

Recovery Companion

App trauma-informed per il recupero dalle dipendenze

Un tracker dei giorni puliti con flusso SOS di crisi (respirazione guidata, SMS ai contatti fidati), costruito spec-first con una costituzione di prodotto scritta: trauma-informed, evidence-led, privacy by design.

  • Flusso SOS offline-first con test di accessibilità e VoiceOver (WCAG AA)
  • Vault MMKV cifrato per i dati personali, Drizzle + SQLite per i dati strutturati
  • Workflow spec-driven con 23+ file di test e CI
Expo SDK 53TypeScriptDrizzle ORM + SQLiteReact QueryZodLottie
Repo disponibile su richiesta

Babayaga

App mobile di lettura dei tarocchi con AI

Un’app di lettura dei tarocchi con stesa a croce animata: fai una domanda, scopri le carte una alla volta e leggi l’interpretazione della veggente con effetto macchina da scrivere.

  • Layout a croce animato e flusso di rivelazione costruiti con Reanimated
  • Scaffolding di monetizzazione: abbonamenti RevenueCat e interstitial AdMob
  • 79 asset illustrati delle carte, build EAS e CI GitHub Actions
Expo SDK 53React Native 0.79TypeScriptReact Query + ZustandReanimatedNativeWind
Repo disponibile su richiesta

Competenze

Quattro assi tecnici — più quello che li porta in produzione

La maggior parte dei fullstack copre due di questi assi. Io ci lavoro su tutti e quattro ogni giorno — e quando serve al team guido anche il processo di delivery.

01

Mobile

L’asse più forte: React Native in produzione dal 2018.

  • React Native + Expo (SDK 51→54)
  • expo-router, React Navigation
  • EAS Build / Submit / Updates (OTA)
  • MMKV, SQLite, secure storage
  • Reanimated, UI gesture-driven
  • jest-expo, Testing Library, Maestro E2E
  • Sentry, i18next, push notification
02

Frontend Web

Due generazioni: mantengo legacy React 16, costruisco React 19.

  • React 19, TypeScript strict
  • TanStack Router / Query / Table / Form / Start
  • Next.js 15, Module Federation (Nx 22)
  • Tailwind v4, shadcn/ui, Radix, MUI
  • Zod, react-hook-form, Zustand, SWR
  • Vitest, Playwright, Jest + RTL
  • Design system, theming, accessibilità
03

Backend Java / Node

Da un monolite Spring con 150 servizi ai microservizi Java 17.

  • Spring Boot 2.3 → 3.5, Java 8 → 17
  • JPA/Hibernate, Flyway, ShedLock
  • OAuth2 / JWT, Spring Security
  • Read/write splitting HikariCP, graceful shutdown
  • Pipeline di generazione PDF (PDFBox, Thymeleaf)
  • NestJS, BullMQ, Prisma, Redis
  • Integration test con Testcontainers
04

Platform / DevOps

L’asse che la maggior parte dei fullstack non ha.

  • Terraform multi-account AWS Organizations
  • EKS, Helm, ArgoCD, External Secrets
  • IAM IRSA — zero credenziali statiche
  • Docker multi-stage, JVM tuning container-aware
  • OpenTelemetry, SigNoz, dashboard custom
  • CodePipeline, Bitbucket Pipelines, GitHub Actions
  • CloudFront, S3, RDS, ElastiCache
05

Prodotto & Delivery

Non colleziono certificazioni: ruoli che ho coperto perché il prodotto ne aveva bisogno.

  • Product Owner (parentesi a livello azienda) — coordinato un team di 10+ persone: assegnazione attività, priorità, continuando a sviluppare sui progetti comuni
  • Hardware sourcing — scelta della sonda di temperatura e del fornitore per la soluzione IoT aziendale, installata poi in loco
  • BS-Conad gestito in completa autonomia per un anno — prodotto + sviluppo, 650 punti vendita, ~300k€/anno di fatturato
  • Scrum Master (attuale) — facilitazione senza rallentare chi sviluppa
  • Gestione stakeholder con clienti enterprise retail (GDO)
  • Discovery → spec → delivery: specifiche scritte, ADR, doc di engineering
  • Triage del backlog guidato dai dati di produzione (trace, Sentry, support)

Servizi

Come posso aiutarti

Disponibile per ruoli senior/lead e collaborazioni freelance selezionate.

Modernizzazione legacy

Rewrite incrementali di frontend React/JS datati verso stack moderni e tipizzati — mentre il prodotto continua a rilasciare. Strategia, architettura e codice hands-on.

Mobile end-to-end

App React Native / Expo da zero a entrambi gli store: architettura, UX tollerante all’offline, pipeline EAS, aggiornamenti OTA, test E2E e pubblicazione.

Piattaforma cloud su AWS

Setup AWS Terraform-first: organizzazioni multi-account, cluster EKS, pipeline CI/CD e osservabilità che ti dice cosa si è rotto prima che lo scoprano gli utenti.

Feature AI che arrivano in produzione

Integrazione LLM con disciplina da produzione: output strutturati, validazione a schema, controllo costi, fallback ed evaluation — copilot, estrazione documentale, RAG.

Contatti

Parliamone

Remote-first, base in Italia. Aperto a ruoli senior fullstack, mobile lead e platform — o a un problema concreto da risolvere.