OLIVA_JS / Skills

Skills & Tecnologie

Una panoramica delle tecnologie e degli strumenti che uso ogni giorno come sviluppatore web full-stack freelance. Le ho raggruppate per categoria per dare un'idea chiara di come gestisco un progetto a 360 gradi: dallo sviluppo frontend e backend al design, dal versioning al deploy in produzione.

Non è una lista esaustiva di tutto cio che ho toccato negli anni, ma uno snapshot reale del mio stack attuale e di cio che propongo nei progetti dei clienti.

Sviluppo

Frontend

Sul frontend lavoro principalmente con Next.js e React, scrivendo sempre in TypeScript per avere un codice solido, type-safe e mantenibile nel tempo.

Per lo styling il mio stack di default è Tailwind CSS affiancato a ShadCN/UI, che mi permette di partire da componenti accessibili e ben strutturati e personalizzarli senza vincoli di design system imposti.

Quando un'interfaccia ha bisogno di un'esperienza utente più viva uso GSAP per animazioni complesse, scroll-driven e timeline avanzate, oppure soluzioni più leggere per micro-interazioni dove servono.

Per la gestione dei form mi appoggio a React Hook Form abbinato a Zod per la validazione type-safe, sia lato client che lato server.

Backend

Lato server uso Node.js quando voglio leggerezza, controllo e una struttura su misura, mentre passo a NestJS quando il progetto richiede un'architettura più organizzata e scalabile basata su dependency injection, decoratori e moduli.

Espongo API REST o, quando ha senso, endpoint GraphQL, e mi occupo di tutta la parte di autenticazione, autorizzazione, gestione degli errori e business logic dell'applicazione.

Database & ORM

Conosco e utilizzo diverse soluzioni di database, sia SQL che NoSQL, scegliendo di volta in volta quella più adatta al progetto:

  • SQL: PostgreSQL, MySQL, SQLite, Neon
  • NoSQL: MongoDB

Per interagire con il database in ambiente TypeScript uso Prisma quando voglio una developer experience curata e un buon livello di astrazione, oppure Drizzle ORM quando ho bisogno di restare più vicino all'SQL e ottenere performance migliori. Su progetti basati su MongoDB lavoro con Mongoose.

Per ispezionare e gestire i dati durante lo sviluppo mi appoggio a DBeaver per i database SQL e a Drizzle Studio sui progetti che usano Drizzle.