
Tech Lead vs Senior Developer: la differenza che non ti aspetti
Il tuo lavoro non è più risolvere i problemi da solo, ma far sì che il team li risolva nel modo migliore possibile. Sei disposto a scrivere meno codic…
30/01/2026
02/04/2026 - 7 min di lettura

Quando lavori su frontend che crescono davvero, la gestione delle API inizia quasi sempre in modo semplice.
Una fetch qui. Una useQuery lì. Un paio di mutation sparse. Magari un po’ di logica condivisa infilata in utility o hook custom.
Finché il progetto è piccolo, regge.
Poi però il codice cresce, gli endpoint aumentano, i flussi diventano più articolati e iniziano a comparire problemi molto concreti:
È da qui che è nata ddmushi.
Una libreria open-source costruita dagli Arkers come esperimento per organizzare le API in modo più pulito, type-safe e vicino all’esperienza developer di tRPC, ma restando perfettamente compatibile con API REST già esistenti.
Chi usa TanStack React Query lo sa: è una libreria fortissima, flessibile, e ti lascia molta libertà.
Ma proprio questa libertà, in codebase grandi o in crescita, può trasformarsi in dispersione.
In molti progetti ci siamo trovati davanti a uno scenario abbastanza tipico:
Quello che mancava era un modo elegante per dare una forma coerente a tutto questo.
Perché non sempre puoi o vuoi cambiare il tuo backend.
tRPC offre una developer experience molto bella, soprattutto per il type-safety end-to-end, ma richiede un certo allineamento architetturale tra client e server.
Noi volevamo qualcosa che desse una sensazione simile lato organizzazione e DX, ma applicabile anche a contesti più realistici e frequenti:
Da qui l’idea:portare una struttura tRPC-like nella gestione delle operazioni API, sopra React Query, senza rinunciare alla libertà di lavorare con endpoint REST esistenti.
ddmushi è una libreria per organizzare operazioni API in modo type-safe, con integrazione automatica con TanStack React Query.
Il nome ddmushi viene dai Den Den Mushi di One Piece, le lumache usate per comunicare a distanza. Ci sembrava un riferimento perfetto per una libreria che organizza la comunicazione tra frontend e API 😉

L’idea è semplice:
In pratica, invece di avere logica API sparsa e convenzioni implicite, costruisci una struttura esplicita, modulare e riusabile.
Con ddmushi puoi definire una struttura come questa:
jsxE poi consumarla così dentro React:
jsxIl vantaggio non è solo sintattico.
Il vantaggio è che query, mutation, validazione, middleware e organizzazione dei moduli iniziano a parlare tutti la stessa lingua.
ddmushi è nata per affrontare una serie di problemi molto concreti.
In tanti progetti, la logica API è distribuita tra:
Risultato: per capire un flusso, devi attraversare troppi layer.
Con ddmushi volevamo riportare le operazioni in un punto più leggibile e strutturato.
Spesso la validazione esiste, ma è sparsa o usata in modo non uniforme.
Con ddmushi puoi dichiarare .input() e .output() direttamente nella definizione dell’operazione.
Questo rende più chiaro cosa entra, cosa esce e dove avviene il controllo.
React Query è ottima, ma il boilerplate si accumula facilmente.
Se ogni modulo definisce da sé query key, opzioni, logiche di fetch e binding, nel tempo rischi incoerenza.
ddmushi prova a ridurre questo attrito standardizzando il modo in cui esponi le operazioni.
Autenticazione, logging, error handling, caching, enrichment del context: sono esigenze normali.
Per questo abbiamo introdotto middleware componibili, così da rendere più facile applicare comportamenti condivisi senza duplicare logica.
Non volevamo reinventare il backend.
Volevamo migliorare il modo in cui il frontend ci parla.
ddmushi punta a rendere il flusso più sicuro senza appesantirlo.
Con TypeScript e schema validation, input e output possono essere inferiti automaticamente.
Libreria pensata per lavorare in modo naturale con query, mutation e infinite query.
Le operazioni possono essere nidificate in collezioni, mantenendo una struttura leggibile anche quando il progetto cresce.
Supporto a librerie Standard Schema-compatible come Zod, Yup, Valibot e altre.
Per gestire responsabilità trasversali come auth, logging e policy.
Con metodi come .input(), .output() e .use() puoi costruire operazioni in modo fluido e leggibile.
Uno dei punti che ci interessavano di più era rendere la validazione parte naturale della definizione delle operazioni.
Esempio:
jsxQuesto permette di ottenere due vantaggi:
In altre parole: non solo scrivi codice più comodo da usare, ma riduci anche il rischio di farti passare sotto il radar dati inconsistenti.
Un altro tema ricorrente nei progetti reali è la gestione delle concern trasversali.
Per esempio:
Con i middleware puoi comporre questi comportamenti senza incastrarli dentro ogni singola query o mutation.
Esempio:
jsxL’obiettivo qui non è aggiungere magia.
È rendere più esplicito e riusabile ciò che altrimenti finisce duplicato in giro per la codebase.
ddmushi può essere utile soprattutto in questi casi:
Non è pensata per forzare un paradigma ovunque.
È pensata per essere utile dove la complessità inizia a farsi sentire.
ddmushi nasce come esperimento interno.
L’abbiamo costruita per risolvere problemi che abbiamo incontrato davvero lavorando su progetti reali, e abbiamo deciso di renderla open-source perché pensiamo possa essere utile anche ad altri team che si trovano nella stessa situazione.
Non è una libreria nata per “inventare una nuova moda”.
È nata da un’esigenza pratica:
organizzare meglio le API lato frontend, senza perdere type-safety, ordine e developer experience.
Se trovi ddmushi interessante o utile:
Ci interessa raccogliere feedback veri, capire dove può migliorare e confrontarci con chi affronta problemi simili.
Molte librerie nascono da un’idea.
Quelle più utili, di solito, nascono da un fastidio ripetuto.
ddmushi nasce esattamente da lì: dal bisogno di gestire API, validazione, context e React Query in modo più ordinato, leggibile e scalabile.
Se anche tu hai sentito il peso di una gestione API troppo sparsa, troppo implicita o troppo difficile da mantenere nel tempo, magari questa libreria può esserti utile.
👉 E se vuoi contribuire a migliorarla: https://github.com/arkemis-labs/ddmushi

Il tuo lavoro non è più risolvere i problemi da solo, ma far sì che il team li risolva nel modo migliore possibile. Sei disposto a scrivere meno codic…
30/01/2026

Il software non è solo codice. È un processo fatto di scelte, compromessi e responsabilità. Capire l’intero ciclo DevOps prima di specializzarsi cambi…
09/01/2026

Se vuoi costruire un progetto GitHub che abbia davvero valore, evita il classico CRUD da portfolio e punta su qualcosa che ti faccia affrontare proble…
19/03/2026

Le matrici decisionali rappresentano uno strumento potente per trasformare le decisioni tecniche da scelte istintive a valutazioni consapevoli e docum…
13/02/2026