Aller au contenu
en ligne
frv0.46.1 · 1d135e2
mainlane.io

Portfolio

Les produits que nous avons créés : le défi, la solution et le résultat.

Plateforme
Technologies

4 sur 18 affichés

Missions en équipe

Projets sur lesquels j’ai travaillé au sein de l’équipe d’un client. Les noms des clients ne sont pas indiqués.

AI sales platform for B2B

2025 – 2026

RôleDéveloppeur full-stack

Un SaaS dans lequel les entreprises configurent des agents commerciaux IA pour les appels, les SMS, l’e-mail, les messageries et un widget web.

  • Laravel
  • Vue
  • FastAPI
  • PostgreSQL
  • Redis
  • Docker
Solution

En tant que développeur full-stack au sein d’une grande équipe, j’étais responsable d’une grande partie du tableau de bord client et de plusieurs services back-end :

  • Distribution des leads : stratégies round-robin, pondérée, par équipe et hybride, tenant compte de la disponibilité et des agendas des commerciaux ; un ordre manuel par glisser-déposer.
  • Agendas et réservation : Google Calendar et Calendly avec webhooks, synchronisation bidirectionnelle, un service de créneaux libres sur tous les agendas, protection contre les doubles réservations, réservation exposée à l’agent IA via le function calling.
  • Agent IA : appels de fonctions pour les créneaux, la réservation et la mise à jour des contacts ; recherche dans la base de connaissances avec indexation incrémentale ; changement de langue avec confirmation ; six styles de conversation ; garde-fous contre l’injection de prompt ; vérification des tokens avant chaque appel au modèle.
  • Éditeur de flux : un éditeur visuel repensé avec variables, liaisons validées et mise en page automatique, enregistrement automatique et retour arrière, et une migration de tous les flux du JSON vers des tables relationnelles sans perte de données.
  • Canaux : un configurateur unique pour la voix, l’e-mail, les SMS et iMessage avec validation en temps réel, et une page d’intégrations des canaux.
  • Téléphonie : historique des appels, enregistrements et transcriptions, réglages de voix pour plusieurs fournisseurs de synthèse vocale, campagnes d’appels à partir de CSV, appels de test dans le navigateur, passage à la reconnaissance vocale en streaming, et une passerelle SIP avec deux opérateurs — dont une race condition entre les événements de l’opérateur et la signalisation SIP, que j’ai identifiée et corrigée.
  • Facturation en tokens : un tableau de bord du solde avec prévision, paiement à l’usage via Stripe, abonnements, recharge automatique et factures, solde en direct via WebSocket, limites des formules et remises répercutées jusqu’à Stripe, rôles de propriétaire illimités synchronisés entre deux bases de données.
  • Marketplace de numéros de téléphone : recherche et achat de numéros facturés en tokens, vérification réglementaire par pays, rapports de dépenses, journal d’audit et rôles.
  • Sécurité : connexion à deux facteurs, y compris après OAuth, SSO SAML, JWT entre services, masquage des données personnelles.
  • DevOps : Dockerfiles pour chaque service, migration de la production d’AWS vers Azure en infrastructure as code, runbooks et bascule atomique de 13 enregistrements DNS ; PgBouncer pour 12 services Python après un épuisement du pool de connexions.
  • Qualité : environ 25 000 lignes de tests (PHPUnit, Vitest, pytest, E2E).

Accounting automation for small business

août – oct. 2025

RôleDéveloppeur full-stack

Une plateforme comptable pour les entrepreneurs individuels ukrainiens.

  • FastAPI
  • PostgreSQL
  • Redis
  • Next.js
  • Docker
Solution

J’étais responsable du microservice de notifications et de son front-end : un système de modèles unique pour l’e-mail, les SMS et Telegram, des journaux d’envoi avec le contenu complet, le statut de lecture, des réglages d’envoi par canal (passés d’un mode principal/secours à une sélection multiple), un bot Telegram ; l’authentification entre services avec un client de tokens mis en cache en mémoire et dans Redis, et un passage au JWT seul sans arrêter les autres services ; l’intégration avec le service public de données fiscales — recherche par numéro fiscal, vérification de l’expiration des signatures électroniques et analyse des paiements d’impôts avec score de risque ; une page de notifications et une cloche dans l’application web ; des tests et des guides de déploiement.