Développeur full-stack freelance

Je conçois et je développe des applications web pour des fondateurs et des équipes produit.

Un SaaS que je fais vivre depuis sa première ligne de code, des outils internes que des équipes ouvrent tous les matins, et des tâches répétitives remplacées par du code qui tourne seul.

Projets en production

Un produit dont je m'occupe seul et deux outils livrés à des clients. Ces deux derniers sont couverts par un accord de confidentialité : je décris ce qu'ils font, pas ce qu'ils contiennent.

Plateforme SaaS de collecte et de gestion des retours utilisateurs.

Produit personnel

Feedbee

Plateforme SaaS de collecte et de gestion des retours utilisateurs.

Les équipes produit ramassent leurs retours dans des tableurs et des canaux Slack, puis perdent le fil au bout de quelques semaines. Feedbee réunit ces retours au même endroit, les relie à des suggestions que les utilisateurs votent, et publie une roadmap consultable par tout le monde. J'ai construit le produit de bout en bout : architecture multi-tenant, API REST, espace public par client et abonnement payant. J'assure aussi l'hébergement et le support, ce qui m'oblige à écrire du code que je peux reprendre des mois plus tard.

Stack

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

Voir le produit en ligne

Planification des directs et des équipes d'une rédaction, sur un seul écran.

Outil livré à un client

LivePlanner

Planification des directs et des équipes d'une rédaction, sur un seul écran.

Une rédaction organisait ses directs entre un tableur partagé et des messages envoyés au fil de la journée. Savoir qui était disponible demandait de relancer la moitié de l'équipe. LivePlanner rassemble le planning des directs, les affectations et les disponibilités dans une vue unique, avec connexion par Slack et par l'outil de gestion de projet déjà en place, pour éviter un mot de passe de plus. Les administrateurs disposent d'un accès distinct pour gérer les équipes et arbitrer les créneaux qui se chevauchent. L'outil est interne à la rédaction et son accès reste authentifié.

Stack

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

Application métier pour les équipes d'un acteur de l'immobilier.

Outil livré à un client

Icade

Application métier pour les équipes d'un acteur de l'immobilier.

Les équipes suivaient leurs opérations dans des fichiers séparés, avec des règles de gestion que chacun appliquait à sa manière. J'ai développé une application interne qui regroupe ces opérations et applique les mêmes règles pour tout le monde, avec des écrans adaptés à chaque profil. Les droits d'accès reprennent les rôles internes et les exports alimentent les outils déjà utilisés par le client. Le métier reste confidentiel, je m'en tiens à ce que l'application fait.

Stack

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

Comment je travaille

Quatre façons d'entrer en relation, selon l'état de votre projet. Dans tous les cas, vous recevez un périmètre écrit avant que je commence.

  1. Un MVP mis en ligne

    Quelques semaines

    Vous avez une idée et quelqu'un à convaincre, un investisseur, un comité ou vos premiers utilisateurs. Je coupe le périmètre à ce qui prouve la valeur et je développe cette version, hébergement et nom de domaine compris. Vous repartez avec un produit que vos utilisateurs peuvent ouvrir, et avec le dépôt de code.

  2. Un produit complet

    Plusieurs mois, découpés en jalons

    Vous avez un produit à construire ou un outil interne à déployer pour vos équipes. Je prends la conception technique, le développement, la mise en production et l'accompagnement des premiers utilisateurs. Chaque jalon arrive déployé sur une adresse de test, vous le manipulez avant qu'on passe au suivant.

  3. La reprise d'un projet existant

    Audit court, puis un rythme calé sur votre équipe

    Le développeur précédent est parti et plus personne ne sait quoi faire de la base de code. Je commence par faire tourner le projet en local et par le lire, puis je vous remets un état des lieux écrit : ce qui tient et ce qui va casser en premier. Vous décidez ensuite si on corrige, si on reprend ou si on réécrit une partie.

  4. L'automatisation d'une tâche répétitive

    De quelques jours à quelques semaines

    Une équipe recopie des données d'un outil à l'autre, relance les mêmes personnes chaque semaine et surveille un tableur pour vérifier que rien n'est passé à travers. Je remplace ce travail manuel par un service qui tourne seul : il se branche sur les outils déjà en place, envoie les messages au bon moment, reprend après une erreur et garde une trace de ce qu'il a fait. Je reprends aussi les scénarios no-code devenus lents ou coûteux pour en faire du code que vous maîtrisez et dont vous connaissez le prix.

Stack

Les outils que j'utilise au quotidien. J'en change quand un projet le demande, pas quand une nouveauté sort.

Front
  • React
  • Next.js
  • TypeScript
  • Tailwind CSS
Back
  • Node.js
  • NestJS
  • Express
  • API REST
Données
  • PostgreSQL
  • Prisma
  • TypeORM
  • Redis
Infrastructure
  • Docker
  • VPS Linux
  • Nginx
  • GitHub Actions
  • Vercel
Intégrations
  • Stripe
  • Slack
  • OAuth
  • n8n
  • Make

Questions fréquentes

Ce qu'on me demande avant de signer.

Êtes-vous disponible en ce moment ?

Je travaille sur un projet principal à la fois, plus quelques heures de maintenance pour d'anciens clients. Écrivez-moi avec votre échéance : je vous dis sous un jour ouvré si je peux la tenir et à partir de quelle date je démarre. Quand je ne peux pas prendre le projet, je le dis tout de suite.

Travaillez-vous à distance ou dans nos locaux ?

Je travaille à distance par défaut, avec un point hebdomadaire en visio et un canal partagé pour les questions du quotidien. Pour les clients en Île-de-France, je me déplace pour le cadrage de départ et pour les moments qui le méritent, une mise en production sensible par exemple. Le reste se pilote très bien à distance.

Quels types de projets prenez-vous ?

Je développe des applications web sur mesure : outils internes, back-offices métier, produits SaaS et interfaces branchées sur des API existantes. Je prends aussi l'automatisation des tâches répétitives : synchroniser deux outils, relancer des personnes, produire un rapport chaque semaine, ou remplacer un scénario no-code devenu trop lent ou trop cher par un service sur mesure. Je ne fais ni site vitrine sous WordPress ni refonte purement graphique.

Pouvez-vous automatiser une tâche que mon équipe fait à la main ?

Oui, c'est une partie de mon travail. Je commence par regarder la tâche telle qu'elle est faite aujourd'hui, avec la personne qui la fait, puis j'écris un service qui s'en charge : il se connecte aux outils déjà utilisés, s'exécute au bon moment, reprend après une erreur et laisse une trace de chaque exécution. Quand l'automatisation existe déjà sous forme de scénario no-code et qu'elle coûte cher ou casse souvent, je la reprends en code.

Reprenez-vous du code écrit par quelqu'un d'autre ?

Oui, c'est une partie régulière de mon activité. Je commence par faire tourner le projet en local et par lire le code, puis je vous remets un état des lieux écrit : ce qui tient et ce qui va casser en premier. Vous décidez ensuite si on corrige au fil de l'eau ou si on réécrit une partie.

À qui appartient le code que vous écrivez ?

Le code vous appartient. Je travaille sur votre dépôt, ou je vous transfère le mien à la fin de la mission avec les accès à l'hébergement et la documentation de déploiement. Vous n'avez aucune licence à me payer et personne n'a besoin de moi pour reprendre le projet.

Comment se déroule une mission ?

Une mission commence par un appel où vous décrivez le besoin et où je pose des questions. Je vous envoie ensuite un périmètre écrit, avec les jalons et le prix, avant la première ligne de code. Pendant le développement, chaque jalon est déployé sur une adresse de test que vous manipulez. La mission se termine par la mise en production et par un passage de relais documenté.

Dans quelles langues travaillez-vous ?

Je travaille en français et en anglais, à l'écrit comme en réunion. Le code, les commentaires et la documentation technique sont en anglais par défaut, parce que la prochaine personne à ouvrir le dépôt ne parlera pas forcément français. Si votre équipe préfère le français partout, on fait comme ça.

Où êtes-vous basé et pour quels clients intervenez-vous ?

Je suis basé à Paris et j'interviens pour des clients en France et en Europe. Les fuseaux proches de l'heure de Paris ne posent aucune difficulté. Pour les décalages plus larges, on fixe une plage commune en début de mission et je m'y tiens.

Parlons de votre projet

Décrivez en quelques lignes ce que vous voulez construire, où vous en êtes et quand vous voulez le voir en ligne. Si je ne suis pas la bonne personne, je vous le dis dans ma réponse.

Vous avez une réponse le jour ouvré suivant.