Pitchichi aide les grandes entreprises et les start-up à choisir leur agence de communication. Entre 2021 et 2023, j'ai conçu et développé l'API de la plateforme, dont je signe 471 des 783 commits. Le travail s'est fait en petite équipe : le site public et le back-office en React ont été écrits pour l'essentiel par un autre développeur, et un troisième est venu en renfort sur le back-end.
En images
Le projet en détail
Le cœur du produit est un annuaire d'agences structuré. Chaque fiche porte le positionnement de l'agence, son année de création, son budget minimal, son effectif, sa localisation, des photos de l'équipe et des bureaux, ainsi qu'un portfolio de réalisations et des cas clients. J'ai modélisé ces données dans 18 modèles Django répartis en six applications (agences, clients, cas clients, contenus de promotion, assistant de brief, utilisateurs), exposés par une API Django REST Framework avec authentification JWT, inscription et réinitialisation du mot de passe par e-mail.
J'ai aussi construit l'assistant de brief : une suite de questions à choix simple ou multiple qui enregistre les réponses de l'annonceur pour orienter la recherche d'agence. Pour lancer l'annuaire, j'ai écrit des commandes d'import en masse des agences, des contacts et des clients, ainsi qu'une commande qui compresse les images envoyées par les agences.
Côté exploitation, j'ai mis en place Celery et Redis pour les tâches asynchrones, Flower pour les superviser, et trois environnements Docker (local, préproduction, production) derrière Traefik. Une intégration continue GitLab exécute la suite de tests, répartie sur 18 fichiers de tests pytest.
Le site public a été pensé pour le référencement, avec des pages de listes par catégorie du type « meilleures agences luxe, mode et design » et des pages de cas clients. Il est toujours en ligne sur guide.pitchichi.com. Le site principal pitchichi.com a depuis été refait par le client sur une autre plateforme : ce n'est plus notre code.
L'essentiel du travail a eu lieu en 2021, avec plus de 670 commits sur l'API cette année-là, puis une phase de maintenance et d'évolutions jusqu'en 2023. Pendant cette période, chaque évolution partait d'un ticket numéroté, sur sa propre branche, et passait par une merge request avant d'être déployée en préproduction puis en production. Cette discipline a permis de livrer vite au lancement, puis de faire évoluer le produit sans casser l'annuaire en place.

