Inspiration
La communication est un droit fondamental, pourtant, pour la communauté sourde, chaque interaction quotidienne peut devenir un défi insurmontable. L'inspiration derrière KANSM3K est née d'un constat simple : la technologie actuelle progresse à pas de géant dans l'IA, mais elle laisse souvent de côté l'accessibilité réelle. En tant qu'étudiant en ingénierie, j'ai voulu créer un "pont numérique" capable de transformer le silence en dialogue et la parole en support visuel, en rendant la communication bidirectionnelle fluide et intuitive.
What it does
KANSM3K est une plateforme de communication inclusive qui fonctionne dans les deux sens :Sign-to-Text : L'utilisateur sourd signe face à la caméra. Le système capture une séquence vidéo de 8 secondes, l'analyse via l'IA, et affiche le texte traduit à gauche de l'écran.Speech-to-Text : L'interlocuteur entendant répond par la voix. Le micro capture la parole et la transforme instantanément en bulles de texte à droite de l'écran.L'interface utilise un design "Cyberpunk" néon pour rendre l'expérience moderne, technologique et engageante.
How we built it
Le projet repose sur une architecture hybride Frontend/Backend :Frontend : Développé avec React.js et Vite pour une performance maximale. Nous utilisons react-webcam pour le flux vidéo et l'API native MediaRecorder pour capturer les segments de signes.Intelligence Artificielle : Nous exploitons la puissance de Google Gemini 3 Flash. Le modèle analyse les vecteurs de mouvement dans la vidéo pour en extraire le sens sémantique.Backend : Un serveur Flask (Python) fait office de passerelle, gérant les requêtes POST, le traitement des fichiers temporaires et la communication sécurisée avec les API Google.Traitement Vocal : L'intégration de la Web Speech API permet une reconnaissance vocale côté client sans latence serveur.
Challenges we ran into
Le plus grand défi a été la gestion du conflit de ressources matérielles. À l'origine, le script Python et le navigateur tentaient d'accéder à la webcam simultanément, provoquant des crashs système. J'ai dû repenser l'architecture pour que le navigateur gère seul le flux vidéo et envoie des "blobs" (fichiers binaires) au serveur.Un autre défi technique a été l'optimisation des délais : il a fallu ajuster les setTimeout et les états asynchrones de React pour que l'enregistrement commence exactement au moment où l'UI indique que le système est prêt.
Accomplishments that we're proud of Je suis fier d'avoir réussi à créer une interface fluide qui gère deux flux de données totalement différents (vidéo/IA et audio/DOM) sur une seule page sans ralentissement. Le fait que le système puisse traduire des concepts complexes avec une latence réduite grâce à l'optimisation du modèle Flash est une grande réussite technique pour ce projet.
What we learned
Ce projet a été une leçon intensive sur le cycle de vie des données. J'ai approfondi mes connaissances sur :La gestion des CORS et des communications entre serveurs locaux.La manipulation des MediaStreams en JavaScript.L'importance de l'expérience utilisateur (UX) : dans un outil d'accessibilité, le feedback visuel (barres de scan, indicateurs de pulse) est aussi important que le code lui-même.La gestion des quotas d'API et la sélection de modèles IA en fonction du ratio coût/performance.
What's next for KANSM3K
L'objectif est d'aller au-delà des mots simples pour traduire des phrases complètes en tenant compte de la grammaire de la langue des signes.Support de la Darija : Adapter la reconnaissance vocale pour le dialecte marocain afin de rendre l'outil encore plus utile localement.Mobile-First : Transformer la plateforme en application mobile pour qu'elle puisse être utilisée dans la rue ou chez le médecin.Entraînement de modèles personnalisés : Utiliser TensorFlow pour créer un modèle local capable de fonctionner hors-ligne pour les signes de base.

Log in or sign up for Devpost to join the conversation.