Tous les case studies
Naofood
D’un MVP de précommande à une plateforme temps réel
Développement de bout en bout d’une plateforme de livraison de repas, puis transformation du workflow de précommande en commande temps réel.
Contexte
Le CTO/CEO voulait créer une plateforme associative à but non lucratif pour faciliter la livraison de repas, afin de donner une alternative plus équitable aux services de livraison traditionnels (Uber Eats, Deliveroo, Foodora). Le projet a débuté comme un MVP de précommande avant d'évoluer vers une plateforme de commande en temps réel.
Responsabilités
- Seul au développement de la plateforme, j'ai dû gérer l'ensemble des aspects techniques et opérationnels.
- Transformer les retours terrain en architecture produit.
- Prendre en charge le site client, interface/imprimantes aux restaurants et les workflows opérationnels.
- Maintenir la chaîne de déploiement et travailler directement avec les restaurants.
Problèmes adressés et solutions apportées
Lancer rapidement un premier service de précommande
- Problème
- Il fallait valider le fonctionnement opérationnel du service sans investir immédiatement dans une plateforme sur mesure.
- Solution
- Après avoir défini les parcours et les besoins opérationnels, j’ai retenu WooCommerce et WordPress pour livrer rapidement un site mobile first compatible avec les principaux navigateurs via Jquery/CSS/HTML. Heberger sur un serveur mutualisé OVH via FTP permettait de déployer rapidement sans infrastructure complexe.
- Effet
- L’équipe a pu tester le service sur le terrain et recueillir les retours nécessaires à la conception de la plateforme temps réel et se rendre commpte de la non adéquation du MVP pour la gestion en temps réel.
Intégrer le paiement et les dons
- Problème
- Les utilisateurs devaient pouvoir reverser une partie de leurs frais de livraison à une association, sans complexifier le paiement.
- Solution
- J’ai intégré Stripe et conçu la gestion des paiements, des dons, des erreurs et des cas d’exception.
- Effet
- Le don faisait partie du parcours de commande tout en conservant la fiabilité attendue d’un système de paiement.
Passer de la précommande à la commande en temps réel
- Problème
- Le workflow initial ne permettait plus de coordonner efficacement les clients, les restaurants et les coursiers.
- Solution
- J’ai mis en place une architecture Node.js et WebSockets, ainsi qu’un dashboard opérationnel permettant de suivre chaque commande : en attente, en préparation, prête, en livraison puis livrée. Des webhooks WordPress transmettaient également les informations aux coursiers dans Slack.
- Effet
- Les commandes pouvaient être suivies de bout en bout et transmises aux acteurs concernés sans intervention manuelle.
Faire parvenir immédiatement les commandes aux restaurants
- Problème
- Chaque restaurant devait pouvoir recevoir, valider et traiter une commande sans surveiller constamment une interface.
- Solution
- J’ai développé une application Ionic + typescript + Capacitor installée sur les tablettes des restaurants. Elle affichait les commandes en temps réel via web sockets et déclenchait leur impression automatique sur une imprimante POS connectée en Bluetooth.
- Effet
- Une commande était reçue par le restaurant en environ 30 secondes, avec plus de 20 établissements connectés au lancement.
Faire parvenir les courses aux livreurs
- Problème
- Les livreurs devaient recevoir les commandes une fois accepté par le restaurant.
- Solution
- J'ai développé une interface opérationnelle pour le CPO, puis mis en place un système de notifications en temps réel via webhooks wordpress + PHP vers un channel Slack.
- Effet
- Les livreurs recevaient immédiatement les nouvelles commandes, réduisant les délais de prise en charge et améliorant l'efficacité de la livraison.
Technologies
- Node.js
- WebSockets
- PHP
- Ionic
- Slack webhooks
- SQL
- WooCommerce
- Wordpress
- POS printer
- OVH
- FTP
- Stripe
- Jquery
- TypeScript
- Capacitor
Résultats
- Impressions de commandes traitées par jour au lancement
- 10+
- Restaurants connectés au lancement via des tablettes
- 20+
- Délai moyen entre la commande et sa réception par le restaurant
- ~30sec