Hoyame Zouhari
Développeur full-stack. Je conçois et livre des produits complets, du premier commit à la production.

À propos

Développeur full-stack autodidacte, je conçois et livre des produits complets : plateformes SaaS, applications métier déployées chez des clients, outils en ligne de commande et applications mobiles. Ces dernières années, j'ai mené une trentaine de projets de bout en bout — de la conception à l'exploitation en production — sur des secteurs variés : transport et logistique, restauration, prise de rendez-vous, force de vente, interfaces de jeu. Je travaille principalement avec TypeScript, React et Next.js, Supabase et Stripe, avec un goût marqué pour l'automatisation et les architectures pilotées par la configuration.

Projets

35 projets réalisés entre 2024 et 2026 — plateformes SaaS, applications métier, outils en ligne de commande, mobile et interfaces de jeu. Cliquez sur un projet pour le détail.

Logiciel multi-écrans déployé sur site chez un fast-food : menu boards animés au-dessus du comptoir, prise de commande en salle, écran cuisine temps réel, suivi de commande par le client sur son téléphone via QR code, et impression thermique des tickets. Architecture hybride local/cloud.

Caractéristiques techniques

Architecture multi-applicationsSynchronisation temps réelBase de données relationnelleAuthentificationAffichage dynamique (digital signage)Interface mobile de suiviImpression thermique bas niveau (ESC/POS, LPD)Génération de QR codesStockage de fichiersDéploiement on-premise

Points clés

  • Impression thermique bas niveau écrite à la main (ESC/POS et LPD), sans librairie
  • Temps réel de bout en bout : une commande saisie en salle apparaît instantanément en cuisine et sur le téléphone du client
  • Packaging de livraison automatisé : script produisant un zip prêt à installer sur le PC du restaurant avec deux fichiers .bat
  • Campagne de recette formalisée en deux passes documentée dans le dépôt
  • Commandes éphémères : purge automatique après récupération

Fonctionnalités

  • Trois menu boards animés (Framer Motion) + écran des commandes prêtes + compte à rebours
  • Back-office d'édition du menu : catégories, produits, prix, ingrédients, upload d'images
  • Prise de commande riche : tacos multi-viandes, sauces, gratinage, suppléments, retrait d'ingrédients, formules, menu enfant
  • Écran cuisine temps réel avec statuts Démarrer / Prêt
  • Suivi client en direct sur mobile (5 états, bip et vibration à chaque changement)
  • Annonce vocale des commandes prêtes via l'API Web Speech
  • Impression automatique des tickets en ESC/POS brut (port 9100) et LPD (port 515)
  • QR code de suivi encodé directement dans le flux imprimante
  • Numérotation des commandes par séquence PostgreSQL et fonction security definer
  • Site vitrine public dont le menu est synchronisé depuis la base

Rôle : Conception produit, développement full-stack, packaging et déploiement chez le client

TypeScript
JavaScript
SQL
SCSS
Vite 8
React 19
React Router 7
Framer Motion
Next.js 15 (×3 apps)
Tailwind CSS
Express 5
Node.js

Application mobile qui remplace l'enveloppe tachygraphe papier remplie chaque semaine par les chauffeurs poids lourd : saisie de la grille horaire d'activité, suivi du gasoil, repas et couchages, calculs automatiques, puis régénération d'un PDF A4 paysage fidèle au document officiel. Fonctionne intégralement hors ligne.

Caractéristiques techniques

Application mobile native (iOS / Android)Fonctionnement hors ligneStockage local persistantDesign system maisonMoteur de calcul métierGénération de documents PDFEnvoi par email et partage natifImport / export de données versionné

Points clés

  • Génération PDF fidèle au document officiel (A4 paysage 842×595, sans marges) à partir de templates HTML
  • Fonctionnement 100 % hors ligne, adapté à un usage en cabine sans réseau
  • Calculs métier réels : heures par activité au quart d'heure, amplitude pondérée, report des kilomètres d'une semaine sur l'autre
  • Cahier des charges de 15 pages avec exigences numérotées et références aux règlements (CE) 561/2006 et (UE) 165/2014

Fonctionnalités

  • Grille d'activité 00h–24h par jour (repos / conduite / travail) avec saisie par segments
  • Boutons d'action rapide : début et fin de journée, accrocher/décrocher, dormir, repas
  • Volet gasoil : pleins, litres, kilométrage, consommation moyenne calculée
  • Repas midi et soir (lieu, km, pays, heure) et couchage nuit — usage transport international
  • Gestion des voyages avec événements et options
  • Génération de 5 documents PDF : feuille hebdomadaire, ordre de mission, tous voyages, récap hebdo, récap mensuel
  • Envoi du rapport hebdomadaire par email à l'exploitation
  • Profil chauffeur et parc véhicules persistés, archive des semaines
  • Export/import de données versionné

Rôle : Rédaction du cahier des charges, conception et développement mobile

TypeScript
Expo 56
React Native 0.85
React 19
AsyncStorage (100 % local)
expo-print (HTML → PDF)
expo-sharing
expo-mail-composer
Design system maison (theme, Field, TimeField, DateField, Sheet, TopBar)
iOS
Android

Plateforme interne qui centralise la comptabilité (collecte automatique des justificatifs), la prospection B2B, l'emailing multi-comptes, la supervision des projets clients et l'infrastructure cloud (Supabase, Netlify, IONOS, GitHub, Stripe). Conçue comme un hub : elle pilote ou consomme la plupart des autres projets de l'écosystème.

Caractéristiques techniques

API REST modulaire (14 routes)Back-office webBase de données relationnelleAuthentificationTraitement de mails (IMAP)Web scrapingIntégration IAPaiements en ligneDaemon planifiéExport statique / PWAAuto-hébergement (reverse proxy)

Points clés

  • Architecture modulaire à contrat unique permettant d'ajouter un domaine métier sans toucher au cœur
  • Automatisation comptable de bout en bout : de la boîte mail au dossier de justificatifs classés
  • Dashboard PWA en export statique (aucun serveur Next.js à maintenir)
  • Scripts d'exploitation maison : dev.sh/prod.sh avec daemon, PID files, statut, logs et rotation à 10 Mo

Fonctionnalités

  • Récupération automatique des factures Stripe payées (PDF classés par année)
  • Scan IMAP des boîtes mail, filtrage par mots-clés et extraction des pièces jointes comptables
  • Nommage normalisé des justificatifs (YYYY-MM-DD_fournisseur_montantDEVISE.pdf), sans écrasement
  • Prospection B2B via l'API Pappers + scraper de sites (regex email/téléphone FR, liste d'exclusion)
  • Pipeline de statuts prospect : available → contacted → negotiating → won/lost
  • Emailing multi-comptes avec signatures HTML, correction de texte par OpenAI, envoi via Resend/SES
  • Daemon keepalive : ping périodique des projets Supabase pour éviter leur mise en veille
  • Gestion DNS IONOS, sites Netlify, transfert de dépôts GitHub
  • Fiches projet client agrégeant Netlify + IONOS + Supabase + GitHub + charges + todos
  • Facturation Stripe multi-comptes et suivi des ventes commerciales

Rôle : Conception, développement full-stack, déploiement et exploitation

TypeScript
SQL
Node.js
Express 5
tsx (ESM)
Next.js 16
React 19
Tailwind CSS 4
shadcn/ui
Radix UI
Recharts
dnd-kit

Plateforme où des commerciaux indépendants s'inscrivent, passent un onboarding avec pièces justificatives, gèrent leurs prospects et clients, enregistrent une vente, génèrent un lien de paiement Stripe et suivent leurs commissions. Un espace admin valide les commerciaux et les ventes.

Caractéristiques techniques

Front-end applicatif (SSR)Fonctions serverlessBase de données relationnelleSécurité au niveau des lignes (RLS)Authentification à deux facteurs (TOTP)Paiements en ligne et webhooksUpload de documentsTableaux de bord et reportingApplication mobile hybridePWA

Points clés

  • Conformité pensée dès la conception : documents obligatoires, 2FA, traçabilité des modifications bancaires
  • Autorisation vérifiée côté serveur (Edge Function) avant toute création de lien de paiement
  • Compression des images côté client avant upload dans un bucket privé
  • Application web et mobile depuis une seule base de code via Capacitor

Fonctionnalités

  • Onboarding multi-étapes : identité, adresse, entreprise (SIRET, forme juridique, TVA), secteurs, langues, cibles
  • Collecte de documents de conformité : pièce d'identité, KBIS, RIB, attestation URSSAF, RC Pro
  • 2FA TOTP imposée, avec redirection forcée tant qu'elle n'est pas configurée
  • Modification de l'IBAN protégée par un second facteur et horodatée
  • Gestion des prospects (pool commun, statuts, historique de contacts) et des clients
  • Saisie de vente sur catalogue de 4 offres avec taux de commission différenciés (7,5 % à 10 %)
  • Génération sécurisée de liens de paiement Stripe (vérification JWT + statut actif du commercial)
  • Webhook Stripe mettant à jour l'état de la vente et déclenchant le calcul de commission
  • Dashboard commercial : KPI, graphiques d'activité, tableau des ventes et commissions
  • Espace admin : validation ou rejet des commerciaux, policies dédiées sur les ventes

Rôle : Conception, développement full-stack, sécurisation et mise en production

TypeScript
SQL
Deno
Next.js 16
React 19
Tailwind CSS 4
shadcn/ui
Radix UI
Motion
Recharts
TanStack Table
React Hook Form

Application de réservation pour un concept store coiffure-barbier, avec trois interfaces : clients (RDV en ligne et file d'attente sur place), coiffeurs (dashboard personnel) et administration. Inclut un système anti-fraude par empreinte d'appareil et un écran d'affichage temps réel en salon.

Caractéristiques techniques

Front-end applicatif (SSR)Fonctions serverlessMicro-service dédiéBase de données relationnelleAuthentification et vérification par codeEmails transactionnelsLimitation de débit (rate limiting)Détection de fraude par empreinteAffichage temps réelHTTPS et gestion de certificats

Points clés

  • Anti-fraude par empreinte d'appareil avec scoring et workflow de revue humaine
  • Séparation nette des responsabilités : l'envoi d'emails est sorti de l'app dans un service Fastify indépendant
  • Écran temps réel pensé pour l'usage en salon, sans interaction
  • Partage de composants préparé pour une future app React Native (react-native-web)

Fonctionnalités

  • Tunnel de réservation : catégorie homme/femme → barbier → prestation → créneau
  • Vérification de l'email par code à usage unique avant confirmation
  • Détection de réservations suspectes par empreinte d'appareil et score de risque
  • Mise en revue manuelle des RDV à risque, arbitrée par l'admin ou le barbier
  • File d'attente walk-in pour les clients sans rendez-vous (demande, acceptation, refus)
  • Écran d'affichage en salon : client en cours, prochain client, temps d'attente estimé, coupes du jour
  • Dashboard coiffeur : agenda, annulations, indisponibilités, décalage de journée entière
  • Back-office admin : barbiers, prestations, comptes staff, statistiques
  • Emails transactionnels via micro-service dédié avec limitation de débit

Rôle : Conception, développement full-stack, micro-service email et déploiement

TypeScript
SQL
Next.js 15
React 19
Tailwind CSS 4
Framer Motion
react-native-web
Supabase Edge Functions (Deno)
Fastify 4 (micro-service email)
Supabase (PostgreSQL)
Supabase Auth
Vérification email par code

Back-office minimaliste de deux sites vitrines : les formulaires web publient dans Discord, et ce bot convertit ces messages en lignes d'un classeur Excel structuré, avec déduplication, rapprochement des contacts et resynchronisation complète de l'historique.

Caractéristiques techniques

Bot d'intégrationParsing de messages structurésGénération de fichiers ExcelDéduplication et idempotenceRapprochement de donnéesPagination d'historique

Points clés

  • Choix pragmatique assumé : Excel comme base de données pour un client qui travaille déjà avec, plutôt qu'un CRM à déployer et à faire adopter
  • Le fichier livré est directement exploitable par le commercial : listes déroulantes de statut intégrées au classeur
  • Idempotent : la resynchronisation complète ne crée pas de doublons

Fonctionnalités

  • Création automatique du classeur avec en-têtes stylés, colonne ID masquée et largeurs calibrées
  • Onze colonnes métier : date, provider, client, email, téléphone, catégorie, dimensions, description, statut, notes
  • Validation de données Excel sur le statut (liste fermée de 8 valeurs de suivi commercial)
  • Analyse des embeds Discord avec extraction par expression régulière
  • Déduplication par identifiant de message
  • Complétion du téléphone d'une ligne existante par rapprochement sur l'email
  • Ajout des contacts sans devis associé
  • Resynchronisation complète d'un salon par pagination de l'historique

Rôle : Conception et développement

JavaScript (CommonJS)
discord.js 14
ExcelJS 4
dotenv
Classeur Excel (.xlsx)

Soft Skills

Créativité
Esprit d'équipe
Communication
Adaptabilité
Management
Négociation

Stack technique

Langages

TypeScript
JavaScript
SQL
Lua
Dart
Python
C

Front-end

React 18 / 19
Next.js 14 → 16 (App Router)
Vite
Tailwind CSS
shadcn/ui
Radix UI
Headless UI
SCSS
Framer Motion
Redux Toolkit
Zustand
Jotai
React Hook Form
Zod
Recharts

Back-end & API

Node.js
Express
Fastify
Deno (Edge Functions)
API REST
GraphQL
Webhooks
WebSocket / SSE

Données & temps réel

PostgreSQL
Supabase (Auth, Storage, Realtime)
Row Level Security
MySQL / Sequelize
Upstash Redis
AsyncStorage / SQLite

Mobile

React Native / Expo
Capacitor (iOS / Android)
Flutter
PWA

Paiements & intégrations

Stripe (Checkout, Payment Links, webhooks)
OpenAI
Resend / AWS SES
IMAP / SMTP
Discord API
Google Maps & Places
Sanity
API Twitch, Kick, Spotify

Média & streaming

ffmpeg
MediaMTX (RTMP / HLS)
WebRTC
Chromium headless (CDP)
Remotion
whisper.cpp
ESC/POS & LPD

Outillage & qualité

Git
Webpack
esbuild
Jest
ESLint / Prettier
Commander (CLI)
sharp
jsPDF

Infrastructure

Netlify
VPS Linux & systemd
Caddy (reverse proxy)
GitHub Actions
Déploiement on-premise
Let's Encrypt

Compétences techniques

Développement full-stack
Architecture applicative
Conception d'API REST
Modélisation de bases de données
Développement mobile
Intégration de paiements
Automatisation et génération de code
Intégration d'IA
Temps réel
Sécurité applicative
Déploiement et exploitation
Référencement technique (SEO)

Langues

Français
Italien
Arabe
Anglais (compréhension normale, expression orale difficile)
Contact

Contactez-moi

N'hésitez pas à m'écrire à contact@hoyame.fr