Qui sommes-nous ?
Kidyschool est une agence tech spécialisée dans la conception et le développement de plateformes marketplace premium pour ses clients. Nos produits sont des applications React TypeScript haute performance avec des Design Systems sur mesure, une stack Supabase PostgreSQL, des paiements Stripe Connect et des features temps réel.
Vous rejoignez une équipe tech active, avec une codebase vivante et des utilisateurs réels dès les premières semaines. Pas de projets fictifs — du code en production.
Comment ça fonctionne ?
Chaque mission est un chantier autonome et critique. Vous choisissez celle qui correspond à votre expertise et envie d apprendre su un sujet qui vous intéresse, vous en êtes responsable de bout en bout, et vous travaillez en binôme avec notre lead React.
Choisissez votre mission
Mission 1 — Messagerie temps réel client / prestataire
Stack : React 18 · TypeScript · Supabase Realtime · WebSocket pattern
Vous implémentez le système de messagerie entre clients et prestataires sur une marketplace en production. Chaque réservation confirmée ouvre un canal de chat dédié. Les messages s'affichent en temps réel sans rechargement.
Ce que vous construisez :
- Composant <ChatRoom /> avec canal Supabase Realtime isolé par réservation
- Statuts messages : envoyé → reçu → lu avec timestamps
- Optimistic UI — message affiché immédiatement côté expéditeur
- Historique persistant avec pagination curseur au scroll
- Badge non-lus dans le header et la navigation mobile
- Gestion des cas limites : reconnexion réseau, messages longs, emojis
Profil recherché : Vous avez déjà implémenté du temps réel (WebSocket, Socket.IO, Firebase Realtime, ou Supabase Realtime). Vous comprenez la différence entre polling et pub/sub. TypeScript strict ne vous fait pas peur.
Mission 2 — Module Facturation & Paiements
Stack : React 18 · TypeScript · Stripe Elements · Supabase · pdf-lib
Vous construisez l'ensemble du module paiement côté frontend — du checkout à la génération des factures PDF téléchargeables. Les endpoints backend sont fournis par notre API, vous vous concentrez sur l'expérience utilisateur et la fiabilité.
Ce que vous construisez :
- Formulaire checkout Stripe Elements avec tous les états : loading, success, card_declined, 3DS, erreur réseau
- Page historique des paiements avec statuts en temps réel via Supabase
- Page détail réservation + téléchargement facture PDF
- Dashboard revenus côté prestataire — virements, commissions, historique mensuel
- Génération PDF factures avec pdf-lib — template, stockage Supabase Storage, envoi email
- Tests Jest sur tous les états du checkout
Profil recherché : Vous avez des connaissance Stripe dans un de vos projets. Vous connaissez les webhooks et la gestion des erreurs Stripe. Bonus : expérience avec pdf-lib ou génération de documents.
Mission 3 — Dashboard B2C/B2B — Pages critiques
Stack : React 18 · TypeScript · ShadCN · React Query · Supabase
Vous implémentez les pages principales du dashboard client à partir de prototypes HTML et de specs techniques complètes. Shell, composants et Design System sont déjà en place — vous vous concentrez sur le contenu et la logique métier.
Ce que vous construisez :
- Page Accueil dashboard — expériences recommandées, accès rapide réservations, historique de navigation
- Page Réservations — liste, filtres, detail panel, statuts, timeline
- Page Profil — édition inline, preview temps réel, upload avatar Supabase Storage
- Page Paramètres — sections drill-down mobile, modales, toggles notifications
- Composants transversaux : skeleton loading, états vides, error boundaries
Profil recherché : React Query, ShadCN et TypeScript strict sont dans votre quotidien. Vous avez déjà travaillé sur une codebase existante avec un Design System documenté. Sensibilité mobile et UX.
Mission 4 — Système de notifications in-app
Stack : React 18 · TypeScript · Supabase Realtime · React Query
Vous construisez le système de notifications temps réel complet de l'application — du badge cloche dans le header jusqu'au centre de notifications avec deep links.
Ce que vous construisez :
- Composant <NotificationCenter /> — panneau slide-in depuis la cloche
- Supabase Realtime subscription filtrée par utilisateur connecté
- Types de notifications : réservation confirmée, message non lu, rappel J-1, avis demandé, paiement reçu
- Badge compteur en temps réel — mise à jour sans rechargement
- Navigation mobile : badge sur le bottom nav
- Marquage lu individuel + tout marquer comme lu
- Deep link : clic → navigation vers la page concernée
- Persistance 30 jours avec archivage automatique
Profil recherché : React Query et Supabase Realtime ou équivalent (Firebase, Pusher). Vous avez construit des systèmes de notifications dans d'autres apps.
Ce qu'on vous garantit
- Codebase documentée — Design System V2, specs techniques complètes, CDC par module. Vous ne démarrez jamais dans le vide.
- Binôme lead React — point quotidien, revues de code, déblocage rapide.
- Impact immédiat — votre code est utilisé par de vrais utilisateurs dès la fin du stage.
- Remote total — votre setup, vos horaires, votre efficacité.
- Pas de réunions inutiles — on communique en async, on se retrouve sur les décisions importantes.
Conditions
- Durée : 2 mois (convention de stage obligatoire)
- Type : Stage conventionné
- Rémunération : Stage non rémunéré
- Lieu : 100% télétravail
- Disponibilité : Immédiate ou été 2026
Rémunération : à partir de 1,00€ par mois
Lieu du poste : Télétravail