Sviluppatore full-stack freelance

Progetto e sviluppo applicazioni web per fondatori e team di prodotto.

Un SaaS che porto avanti dalla sua prima riga di codice, strumenti interni che alcuni team aprono ogni mattina, e attività ripetitive sostituite da codice che gira da solo.

Progetti in produzione

Un prodotto di cui mi occupo da solo e due strumenti consegnati a clienti. Questi ultimi due sono coperti da un accordo di riservatezza: descrivo che cosa fanno, non che cosa contengono.

Piattaforma SaaS per raccogliere e gestire i feedback degli utenti.

Prodotto personale

Feedbee

Piattaforma SaaS per raccogliere e gestire i feedback degli utenti.

I team di prodotto raccolgono i feedback in fogli di calcolo e canali Slack, poi dopo qualche settimana ne perdono il filo. Feedbee riunisce questi feedback in un unico posto, li collega a proposte che gli utenti votano e pubblica una roadmap consultabile da tutti. Ho costruito il prodotto dall'inizio alla fine: architettura multi-tenant, API REST, spazio pubblico per ogni cliente e abbonamento a pagamento. Mi occupo anche dell'hosting e del supporto, il che mi obbliga a scrivere codice che posso riprendere mesi dopo.

Stack

  • React
  • Node.js
  • API REST
  • PostgreSQL
  • Stripe
  • Multi-tenant

Vedere il prodotto online

Pianificazione delle dirette e dei team di una redazione, su un unico schermo.

Strumento consegnato a un cliente

LivePlanner

Pianificazione delle dirette e dei team di una redazione, su un unico schermo.

Una redazione organizzava le dirette tra un foglio di calcolo condiviso e messaggi inviati nel corso della giornata. Sapere chi era disponibile richiedeva di ricontattare metà della squadra. LivePlanner riunisce il piano delle dirette, le assegnazioni e le disponibilità in un'unica vista, con accesso tramite Slack e tramite lo strumento di gestione dei progetti già in uso, per evitare l'ennesima password. Gli amministratori hanno un accesso separato per gestire i team e arbitrare i turni che si sovrappongono. Lo strumento è interno alla redazione e l'accesso resta autenticato.

Stack

  • Next.js
  • TypeScript
  • NestJS
  • PostgreSQL
  • Slack API
  • OAuth

Applicazione gestionale per i team di un operatore immobiliare.

Strumento consegnato a un cliente

Icade

Applicazione gestionale per i team di un operatore immobiliare.

I team seguivano le operazioni in file separati, con regole di gestione che ognuno applicava a modo suo. Ho sviluppato un'applicazione interna che raccoglie queste operazioni e applica le stesse regole per tutti, con schermate adatte a ogni profilo. I diritti di accesso ricalcano i ruoli interni e le esportazioni alimentano gli strumenti già usati dal cliente. Il settore resta riservato, quindi mi limito a quello che l'applicazione fa.

Stack

  • React
  • TypeScript
  • Node.js
  • PostgreSQL
  • Docker

Come lavoro

Quattro modi di iniziare, a seconda del punto in cui si trova il suo progetto. In tutti i casi riceve un perimetro scritto prima che io cominci.

  1. Un MVP messo online

    Qualche settimana

    Ha un'idea e qualcuno da convincere: un investitore, un comitato o i suoi primi utenti. Riduco il perimetro a ciò che dimostra il valore e sviluppo questa versione, hosting e nome di dominio compresi. Se ne va con un prodotto che i suoi utenti possono aprire e con il repository del codice.

  2. Un prodotto completo

    Diversi mesi, suddivisi in tappe

    Ha un prodotto da costruire o uno strumento interno da distribuire ai suoi team. Mi occupo della progettazione tecnica, dello sviluppo, della messa in produzione e dell'accompagnamento dei primi utenti. Ogni tappa arriva già pubblicata su un indirizzo di prova e lei la usa prima che si passi alla successiva.

  3. La ripresa di un progetto esistente

    Audit breve, poi un ritmo tarato sul suo team

    Lo sviluppatore precedente se n'è andato e nessuno sa più che cosa fare del codice. Comincio facendo girare il progetto in locale e leggendolo, poi le consegno un quadro scritto della situazione: ciò che regge e ciò che si romperà per primo. Poi decide lei se correggere, riprendere o riscrivere una parte.

  4. L'automazione di un'attività ripetitiva

    Da qualche giorno a qualche settimana

    Un team ricopia dati da uno strumento all'altro, sollecita le stesse persone ogni settimana e controlla un foglio di calcolo per verificare che non sia sfuggito nulla. Sostituisco questo lavoro manuale con un servizio che gira da solo: si collega agli strumenti già in uso, invia i messaggi al momento giusto, riparte dopo un errore e tiene traccia di quello che ha fatto. Riprendo anche gli scenari no-code diventati lenti o costosi per trasformarli in codice che lei controlla e di cui conosce il prezzo.

Stack

Gli strumenti che uso ogni giorno. Li cambio quando lo richiede un progetto, non quando esce una novità.

Front
  • React
  • Next.js
  • TypeScript
  • Tailwind CSS
Back
  • Node.js
  • NestJS
  • Express
  • API REST
Dati
  • PostgreSQL
  • Prisma
  • TypeORM
  • Redis
Infrastruttura
  • Docker
  • VPS Linux
  • Nginx
  • GitHub Actions
  • Vercel
Integrazioni
  • Stripe
  • Slack
  • OAuth
  • n8n
  • Make

Domande frequenti

Quello che mi chiedono prima di firmare.

È disponibile in questo momento?

Lavoro a un progetto principale alla volta, più qualche ora di manutenzione per vecchi clienti. Mi scriva indicando la sua scadenza: entro un giorno lavorativo le dico se riesco a rispettarla e da quale data posso iniziare. Quando non posso prendere il progetto, lo dico subito.

Lavora da remoto o nei nostri uffici?

Lavoro da remoto per impostazione predefinita, con un punto settimanale in videoconferenza e un canale condiviso per le domande di tutti i giorni. Per i clienti dell'Île-de-France mi sposto per l'inquadramento iniziale e per i momenti che lo meritano, per esempio una messa in produzione delicata. Il resto si gestisce benissimo a distanza.

Che tipo di progetti accetta?

Sviluppo applicazioni web su misura: strumenti interni, back-office gestionali, prodotti SaaS e interfacce collegate ad API esistenti. Mi occupo anche dell'automazione di attività ripetitive: sincronizzare due strumenti, sollecitare le persone, produrre un report ogni settimana o sostituire con un servizio su misura uno scenario no-code diventato troppo lento o troppo costoso. Non realizzo siti vetrina in WordPress né restyling puramente grafici.

Può automatizzare un'attività che il mio team fa a mano?

Sì, fa parte del mio lavoro. Comincio guardando l'attività così come viene svolta oggi, insieme alla persona che la svolge, poi scrivo un servizio che se ne occupa: si collega agli strumenti già in uso, si esegue al momento giusto, riparte dopo un errore e lascia traccia di ogni esecuzione. Quando l'automazione esiste già come scenario no-code e costa cara o si rompe spesso, la riscrivo in codice.

Riprende codice scritto da qualcun altro?

Sì, è una parte abituale della mia attività. Comincio facendo girare il progetto in locale e leggendo il codice, poi le consegno un quadro scritto della situazione: ciò che regge e ciò che si romperà per primo. Poi decide lei se correggere man mano o riscrivere una parte.

A chi appartiene il codice che scrive?

Il codice è suo. Lavoro sul suo repository, oppure le trasferisco il mio alla fine dell'incarico con gli accessi all'hosting e la documentazione di deployment. Non ha nessuna licenza da pagarmi e nessuno ha bisogno di me per portare avanti il progetto.

Come si svolge un incarico?

Un incarico comincia con una chiamata in cui lei descrive l'esigenza e io faccio domande. Poi le invio un perimetro scritto, con le tappe e il prezzo, prima della prima riga di codice. Durante lo sviluppo, ogni tappa viene pubblicata su un indirizzo di prova che lei usa. L'incarico si chiude con la messa in produzione e con un passaggio di consegne documentato.

In quali lingue lavora?

Lavoro in francese e in inglese, per iscritto come in riunione. Il codice, i commenti e la documentazione tecnica sono in inglese per impostazione predefinita, perché la prossima persona che aprirà il repository non parlerà necessariamente francese. Se il suo team preferisce il francese ovunque, si fa così.

Dove ha sede e per quali clienti lavora?

Ho sede a Parigi e lavoro per clienti in Francia e in Europa. I fusi orari vicini all'ora di Parigi non pongono alcuna difficoltà. Per differenze più ampie fissiamo una fascia comune all'inizio dell'incarico e la rispetto.

Parliamo del suo progetto

Descriva in poche righe che cosa vuole costruire, a che punto è e quando vuole vederlo online. Se non sono la persona giusta, glielo dico nella mia risposta.

Riceve una risposta il giorno lavorativo successivo.