{"$schema":"https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json","basics":{"name":"Florian Sabaté","label":"Web & Mobile Software Engineer","label_fr":"Développeur Logiciel Web & Mobile","image":"https://floriansabate.top/assets/assets/images/profile.webp","email":"contact@floriansabate.top","url":"https://floriansabate.top","summary":"Web & Mobile Software Developer with 3+ years of production experience. Specialized in cross-platform (Flutter) and Web (Angular, React) development, UI architecture, and backend integration (REST/gRPC APIs, Golang, Node.js, SQL). I worked in a international team, from design through to production release of high-performing, reliable, and user-friendly applications.","summary_fr":"Développeur logiciel Web & Mobile avec plus de 3 ans d'expérience en production. Spécialisé dans le développement cross-platform (Flutter) et Web (Angular, React), l'architecture UI et l'intégration backend (APIs REST/gRPC, Golang, Node.js, SQL). J'ai travaillé dans une équipe internationale, de la conception à la mise en production d'applications performantes, fiables et ergonomiques.","location":{"city":"Perpignan","region":"Occitanie","countryCode":"FR"},"profiles":[{"network":"GitHub","username":"flrnsbt","url":"https://github.com/flrnsbt"},{"network":"LinkedIn","username":"florian-sabate","url":"https://www.linkedin.com/in/flrnsbt"}]},"work":[{"name":"Self-Employed · floriansabate.top","name_fr":"Auto-Entrepreneur · floriansabate.top","position":"Freelance Software Developer / Independent Web Developer","position_fr":"Développeur Logiciel Freelance / Développeur Web Indépendant","startDate":"Jun 2026","endDate":"Present","startDate_fr":"Juin 2026","endDate_fr":"Présent","summary":"Independent full-stack web developer delivering end-to-end production websites for clients. Primary project: designed, developed, and deployed the React 19 platform for Alter Ethno (alter-ethno.fr), a French anthropology podcast — featuring a dark editorial SPA, AI-powered transcription with Gladia SDK, comprehensive admin panel, and serverless backend. Managed direct client requirements gathering, iterative feedback loops, UI/UX implementation, responsive design, performance optimization, hosting configuration, domain deployment, and automated CI/CD pipelines.","summary_fr":"Développeur web full-stack indépendant livrant des sites de production de A à Z pour des clients. Projet principal : conception, développement et déploiement de la plateforme React 19 pour Alter Ethno (alter-ethno.fr), un podcast d'anthropologie française — avec un SPA au design éditorial sombre, transcription IA avec Gladia SDK, panneau d'administration complet et backend serverless. Gestion directe des besoins clients, boucles de feedback itératives, implémentation UI/UX, design responsive, optimisation des performances, configuration d'hébergement, déploiement de domaine et pipelines CI/CD automatisés.","highlights":["Designed and deployed the production React website for Alter Ethno (alter-ethno.fr) from concept to launch","Full-stack architecture: React SPA with Vite frontend, Cloudflare Workers serverless backend with TypeScript","AI-powered transcription system using Gladia SDK with speaker diarization and real-time transcript synchronization","Firebase Firestore real-time database with local caching and TTL expiration for episode and CMS data","Comprehensive admin panel with episode management, guest profiles, listening platforms, and analytics dashboard","Cloudflare Turnstile bot protection and Firebase App Check for secure admin operations","Domain infrastructure management: DNS zone delegation, NS records, and nameserver routing via OHVCloud for reliable .fr resolution","Responsive design, performance optimization, and automated CI/CD deployment pipelines"],"highlights_fr":["Conception et déploiement du site de production React pour Alter Ethno (alter-ethno.fr) de la conception au lancement","Architecture full-stack : SPA React avec Vite pour le frontend, backend serverless Cloudflare Workers avec TypeScript","Système de transcription IA utilisant Gladia SDK avec diarisation des intervenants et synchronisation en temps réel des transcripts","Base de données en temps réel Firebase Firestore avec cache local et expiration TTL pour les données d'épisodes et CMS","Panneau d'administration complet avec gestion des épisodes, profils d'invités, plateformes d'écoute et tableau de bord analytique","Protection contre les bots Cloudflare Turnstile et Firebase App Check pour des opérations d'administration sécurisées","Gestion de l'infrastructure du nom de domaine : délégation de zone DNS, enregistrements NS et routage des nameservers via OHVCloud pour une résolution .fr fiable","Design responsive, optimisation des performances et pipelines de déploiement CI/CD automatisés"]},{"name":"Frontware International Ltd. (Bangkok)","name_fr":"Frontware International Ltd. (Bangkok)","position":"Flutter Senior Developer","position_fr":"Développeur Senior Flutter","startDate":"Feb 2024","endDate":"May 2026","startDate_fr":"Févr 2024","endDate_fr":"Mai 2026","summary":"Mobile / Web developer working mainly with Flutter on cross-platform apps (mobile, web and desktop), from development and architecture to long-term maintenance. Versatile across the stack, with Go backends, system scripting and Angular frontends. Putting recent technologies into production on projects: WebAuthn, Web3 wallets with WalletConnect, AI/RAG applications and on-device AI. Experienced in leading frontend architecture, mentoring developers and interns, and delivering products to clients across the globe within international teams. Conducted a technical feasibility PoC by developing a custom product scanner app powered by an in-house TensorFlow model; optimized frontend rendering pipelines to maximize image recognition accuracy while cutting mobile battery consumption. Worked daily in a multicultural, English-speaking environment alongside Thai, Belgian, French, Myanmar, Indian, and German teammates, delivering products for clients across Europe and the USA.","summary_fr":"Développeur mobile / web, principalement sur Flutter, pour des applications multiplateformes (mobile, web et ordinateur), du développement et de l'architecture jusqu'à la maintenance dans la durée. Profil polyvalent : backend en Go, scripts système et frontend Angular. Habitué à mettre en production des technologies récentes sur des projets professionnels : WebAuthn, portefeuilles Web3 avec WalletConnect, applications IA/RAG et IA exécutée sur l'appareil. Expérience dans le pilotage de l'architecture frontend, la formation de développeurs, l'encadrement de stagiaires et la livraison de produits à des clients dans le monde entier, au sein d'équipes internationales. Réalisation d'un PoC de faisabilité technique via une application mobile de scan de produits basée sur un modèle TensorFlow sur-mesure ; optimisation des pipelines de rendu réduisant la consommation de batterie mobile. Collaboration quotidienne dans un environnement multiculturel anglophone aux côtés de collègues thaïlandais, belges, français, myanmarais, indiens et allemands, avec des produits livrés à des clients en Europe et aux USA.","highlights":["Engineered a RAG/AI app: Go email-ingestion pipeline and ONNX embeddings computed client-side (browser, mobile) to cut local GPU server load","Architected a multilingual SSO with 2FA and WebAuthn passkeys","SSO shared across multiple projects through a single Dart codebase, with protobuf-based interoperability between TypeScript/JavaScript, Golang, Rust and Dart (backend developed alongside other engineers)","Migrated a native mobile attendance app to Flutter, moving from REST to gRPC","Migration scope: around 50 screens and around 20 endpoints","Rebuilt complex services in Flutter for iOS and Android (geolocation, Bluetooth beacon detection, NFC scanning, face recognition), with native code integration in the cross-platform app","Led frontend architecture on 3 projects: state management and clean architecture (MVVM, MVI)","Wrote technical documentation, mentored developers and supervised French engineering interns","Supervised 4 interns: 2 French and 2 Myanmar","Trained 3 people in Flutter and helped a senior Angular/Java developer start working with the Flutter framework","Improved startup time, memory usage and app size","Built adaptive UIs from Figma mockups, with internationalization and accessibility","Integrated push notifications, deep links, analytics and crash reporting (Firebase)","Set up CI/CD pipelines and automated workflows, including bash scripting","Fixed production issues and monitored stability with Crashlytics","Built custom TensorFlow scanner app with battery-optimized rendering","Worked daily in a multicultural team (Thai, Belgian, French, Myanmar, Indian, German) for clients across Europe and the USA"],"highlights_fr":["Développement d'une application IA/RAG : pipeline d'ingestion d'e-mails en Go et embeddings ONNX calculés côté client (navigateur, mobile) pour alléger les serveurs GPU locaux","Conception d'un SSO multilingue avec 2FA et passkeys WebAuthn","SSO partagé entre plusieurs projets via une base de code Dart commune, avec interopérabilité protobuf entre TypeScript/JavaScript, Golang, Rust et Dart (partie backend réalisée avec d'autres développeurs)","Migration d'une application mobile native de \"gestion d'entreprise\" vers Flutter, avec passage de REST à gRPC","Périmètre de la migration : environ 50 écrans et environ 20 endpoints","Redéveloppement en Flutter (iOS/Android) de services complexes : géolocalisation, détection de balises Bluetooth, scan NFC et reconnaissance faciale, avec intégration de code natif dans l'application multiplateforme","Pilotage de l'architecture frontend sur 3 projets : gestion d'état et Clean Architecture (MVVM, MVI)","Rédaction de documentation technique, formation de développeurs et encadrement de stagiaires","Encadrement de 4 stagiaires : 2 français et 2 myanmarais","Formation de 3 personnes à Flutter et accompagnement d'un développeur senior Angular/Java dans sa prise en main du framework Flutter","Amélioration du temps de démarrage, de la consommation mémoire / poids des apps","Interfaces adaptatives d'après des maquettes Figma, avec internationalisation et accessibilité","Intégration de notifications push, deep links, analytics et suivi des crashs (Firebase)","Mise en place de pipelines CI/CD et d'automatisations, y compris du scripting Bash","Correction d'incidents en production et suivi de la stabilité avec Crashlytics","Application scanner TensorFlow avec pipeline de rendu optimisé","Collaboration quotidienne au sein d'une équipe multiculturelle (thaïlandaise, belge, française, myanmaraise, indienne, allemande) pour des clients en Europe et aux USA"]},{"name":"Frontware International Ltd. (Bangkok)","name_fr":"Frontware International Ltd. (Bangkok)","position":"Junior Developer","position_fr":"Développeur Junior","startDate":"Feb 2023","endDate":"Feb 2024","startDate_fr":"Févr 2023","endDate_fr":"Févr 2024","summary":"Specialized in web and native application development for decentralized cloud infrastructure, collaborating closely with project managers and designers in an agile environment (using Jira and Figma) to deliver robust, user-centric solutions for the RunOnFlux crypto client ecosystem.","summary_fr":"Spécialisé dans le développement d'applications web et natives pour des infrastructures cloud décentralisées, en collaboration étroite avec les chefs de projet et les designers dans un cadre agile (Jira, Figma), pour livrer des solutions robustes et centrées sur l'utilisateur à l'écosystème crypto RunOnFlux.","highlights":["Led the design and development of FluxEdge, a decentralized GPU marketplace powered by Rancher & Kubernetes: machine rental, project and machine flows, account and billing","Flux Machine Admin: Configured machine behavior and mining operations across the Flux network","Blockchain integration: wallet connection, transaction signing, smart contract interaction, multi-network payments","Crypto payments supported on 5 networks: Ethereum, Binance, Polygon, Flux mainnet and Tron","Desktop app development: Flutter desktop, OS-level integration, packaging and distribution","Built bridge code between JavaScript / WebAssembly and Dart (JS interop, WASM)","Reduced web app load times. Improved performance by offloading heavy tasks to threads and web workers","Cut load times by a factor of 2 to 3 on some web apps: disabled the service worker, embedded CanvasKit and required resources instead of relying on a CDN, implemented deferred loading of code and libraries, and migrated from a pure JS CanvasKit app to a WASM CanvasKit one (including rewriting the JS/Dart interop bridge to be JS/WASM compatible)","Complex editor and form UX: code editor with live validation, step-by-step deployment builder","Remote Web Portal: Browser portal dynamically passing connection details via Cloudflare Tunnels","Maintained operations backoffice and built cross-platform apps with Angular and Flutter"],"highlights_fr":["Pilotage de la conception et du développement de FluxEdge, marketplace décentralisée de GPU reposant sur Rancher & Kubernetes : location de machines, parcours projets et machines, compte et facturation","Flux Machine Admin : Configuration des machines et opérations de minage sur le réseau Flux","Intégration blockchain : connexion de wallet, signature de transactions, interaction avec des smart contracts, paiements multi-réseaux","Paiements crypto pris en charge sur 5 réseaux : Ethereum, Binance, Polygon, Flux mainnet et Tron","Développement d'applications de bureau : Flutter desktop, intégration au système, packaging et distribution","Développement de bridges entre JavaScript / WebAssembly et Dart (interopérabilité JS, WASM)","Optimisation du temps de chargement des applications web. Amélioration des performances : tâches lourdes déportées dans des threads et web workers","Temps de chargement divisé par 2 à 3 sur certaines applications web : désactivation du service worker, intégration locale de CanvasKit et des ressources nécessaires au lieu de dépendre d'un CDN, chargement différé du code et des bibliothèques, et migration d'une application CanvasKit 100 % JS vers CanvasKit WASM (avec réécriture du bridge d'interopérabilité JS/Dart pour le rendre compatible JS/WASM)","Conception d'éditeur de code avec validation en direct, assistant de déploiement par étapes","Portail Web Distant : Portail sécurisé transmettant les informations de connexion via tunnels Cloudflare","Maintenance du backoffice opérationnel et développement multiplateforme avec Angular et Flutter"]},{"name":"Frontware International Ltd. (Bangkok)","name_fr":"Frontware International Ltd. (Bangkok)","position":"Software Engineering Intern","position_fr":"Stagiaire en Génie Logiciel","startDate":"Oct 2022","endDate":"Jan 2023","startDate_fr":"Oct 2022","endDate_fr":"Janv 2023","summary":"Developed responsive web applications, internal backoffices, and mobile features. Collaborated with senior engineers and UI/UX designers, participated in code reviews, and performed application maintenance and troubleshooting.","summary_fr":"Développement d'applications web adaptatives, de backoffices internes et de fonctionnalités mobiles. Collaboration avec des ingénieurs seniors et des designers UI/UX, participation aux revues de code, maintenance et résolution d'incidents.","highlights":["Assisted with responsive web apps, backoffices, and mobile apps for business clients","Collaborated in an international software house setting in Bangkok","Performed code reviews, bug fixes, and feature enhancements"],"highlights_fr":["Contribution à des applications web adaptatives, des backoffices et des applications mobiles pour des clients professionnels","Immersion au sein d'une entreprise logicielle internationale à Bangkok","Revues de code, correction de bugs et amélioration de fonctionnalités"]},{"name":"Self-Employed · Independent Clients","name_fr":"Auto-Entrepreneur · Clients Internationaux","position":"Freelance Music Producer","position_fr":"Producteur de Musique Indépendant","startDate":"Sep 2018","endDate":"Jan 2022","startDate_fr":"Sept 2018","endDate_fr":"Janv 2022","summary":"Produced commercial electronic tracks for independent clients under ghost-producing agreements. Handled end-to-end sound design, audio engineering, arrangement, mixing, and client collaboration.","summary_fr":"Production de musiques pour des clients indépendants dans le cadre de contrats de ghost-producing. Gestion complète du sound design, de l'ingénierie audio, de l'arrangement, du mixage et de la relation client.","highlights":["Produced commercial tracks under international ghost-producing agreements","Extensive experience in audio production, sound design & creative delivery","Managed independent client relations and project timelines"],"highlights_fr":["Production de titres commerciaux sous contrats internationaux de ghost-producing","Solide expérience en production sonore, sound design et livraison créative","Gestion autonome des relations clients et des délais de production"]}],"education":[{"institution":"Stamford International University · Bangkok","institution_fr":"Stamford International University · Bangkok","area":"Bachelor of Computer Science","area_fr":"Bachelor en Sciences Informatiques","studyType":"Higher Education","startDate":"Jan 2019","endDate":"Jan 2023","startDate_fr":"Janv 2019","endDate_fr":"Janv 2023","courses":["Software Engineering","Web Development","Hackulture 1st Place","Bangkok"],"description":"Specialized in Software Engineering and Web Development. Participated in technology workshops and coding competitions. Secured 1st place in the Hackulture contest for technology, design, and user experience.","description_fr":"Spécialisation en génie logiciel et développement web. Participation à des ateliers technologiques et hackathons. 1ère place au concours Hackulture pour la technologie, le design et l'expérience utilisateur.","highlights":["1st Place Winner — Hackulture contest (technology, design & UX)","Specialization in Software Engineering and Web Development","International campus environment in Bangkok, Thailand"],"highlights_fr":["1ère place au concours Hackulture (technologie, design & UX)","Spécialisation en génie logiciel et développement web","Environnement universitaire international à Bangkok, Thaïlande"]},{"institution":"Université de Montpellier · IUT de Béziers","institution_fr":"Université de Montpellier · IUT de Béziers","area":"IUT Networks & Telecommunications","area_fr":"IUT Réseaux & Télécommunications","studyType":"Higher Education","startDate":"Sep 2016","endDate":"Feb 2018","startDate_fr":"Sept 2016","endDate_fr":"Févr 2018","courses":["Networking","Sysadmin","Linux","Android","Mathématiques"],"description":"Engineering curriculum in Networks & Telecommunications (Major de promo S1). Focused on system administration, networking architecture, web/Android development, and advanced mathematics.","description_fr":"Formation universitaire en Réseaux & Télécoms (Major de promo S1). Administration système, architecture réseaux, développement web/Android et mathématiques appliquées.","highlights":["Major de promo — Semester 1 (1st in class)","System administration, Linux, IP networking, and routing architecture","Android mobile development, web technologies, and advanced mathematics"],"highlights_fr":["Major de promo — Semestre 1 (1er de promotion)","Administration système, Linux, réseaux IP et routage","Développement mobile Android, technologies web et mathématiques"]}],"skills":[{"name":"Frontend & Mobile","name_fr":"Frontend & Mobile","keywords":["Flutter & Dart","React","Kotlin / Android","Figma & UI/UX Architecture","Angular","HTML5, CSS3"],"keywords_fr":["Flutter & Dart","React","Kotlin / Android","Figma & UI/UX Architecture","Angular","HTML5, CSS3"]},{"name":"Backend & Systems","name_fr":"Backend & Systèmes","keywords":["Dart & Node.js","gRPC & RESTful APIs","SQL (mostly PostgreSQL & SQLite)","Firebase / Supabase Ecosystem","Golang","AI Solutions Engineering & RAG"],"keywords_fr":["Dart & Node.js","gRPC & RESTful APIs","SQL (principalement PostgreSQL & SQLite)","Écosystème Firebase / Supabase","Golang","Solutions IA & RAG (Retrieval-Augmented Generation)"]},{"name":"AI & Tooling","name_fr":"IA & Outillage","keywords":["Git & CI/CD","Linux & Bash Scripting","AI Agents (Antigravity, Claude Code...)","Docker & Containers","AI Infrastructures"],"keywords_fr":["Git & CI/CD","Linux & Scripting Bash","Agents IA (Antigravity, Claude Code...)","Docker & Conteneurs","Infrastructures IA"]}],"languages":[{"language":"French","language_fr":"Français","fluency":"Native (C2)","fluency_fr":"Langue maternelle (C2)","code":"fr"},{"language":"English","language_fr":"Anglais","fluency":"Full Professional (C1)","fluency_fr":"Courant professionnel (C1)","code":"en"},{"language":"Spanish","language_fr":"Anglais","fluency":"Elementary (A1)","fluency_fr":"Courant professionnel (C1)","code":"es"}],"projects":[{"name":"QueryMate","description":"Frontware’s private RAG product for businesses. Teams can query documents, SQL databases and Odoo ERP through private or public LLMs, with fine-grained access control. I built the cross-platform client and most of the AI that runs client-side.","description_fr":"Le produit de RAG privé de Frontware pour les entreprises : il permet d’interroger documents, bases SQL et ERP Odoo via des LLM privés ou publics, avec un contrôle d’accès fin. J’ai développé le client cross-platform et l’essentiel de l’IA exécutée côté client.","highlights":["Cross-platform Flutter frontend for mobile, web, Linux and Windows","Local LLM inference in the browser with WebGPU and Web ONNX","Force-directed graph of the links between RAG documents","Email-scanning daemon that feeds the RAG automatically"],"highlights_fr":["Interface Flutter multiplateforme : mobile, web, Linux et Windows","Inférence de LLM en local dans le navigateur avec WebGPU et Web ONNX","Graphe à simulation de forces des liens entre documents du RAG","Démon d'analyse des e-mails qui alimente le RAG automatiquement"],"keywords":["Flutter","Angular","Golang","ONNX","RAG","Web Push","WebAuthn"],"url":null,"is_professional":true,"role":"Designed and built the cross-platform Flutter client (mobile, web, Linux, Windows) and Angular backoffice. Implemented on-device LLM inference (WebGPU, ONNX), client-side embedding computation, custom Flutter bridge packages, force-directed knowledge graph, and backend email scanning daemon.","role_fr":"Conception et développement de l’application Flutter multiplateforme (mobile, web, Linux, Windows) et du backoffice Angular. Implémentation de l’inférence LLM locale (WebGPU, ONNX), calcul des embeddings côté client, packages de ponts Flutter, graphe de connaissances et démon d’analyse des e-mails."},{"name":"Alter Ethno","description":"A React website for a client's anthropology podcast with AI-powered transcription: a dark editorial design with an episode list, a listening page, an admin panel with real-time transcript editing, and a contact form.","description_fr":"Un site React pour le podcast d'anthropologie d'une cliente avec transcription IA : design éditorial sombre, liste des épisodes, page d'écoute, panneau d'administration avec édition de transcription en temps réel, et formulaire de contact.","highlights":["React 19 SPA with Vite 8 and React Router DOM 7 for client-side routing","AI-powered transcription system using Gladia SDK with speaker diarization and real-time transcript highlighting","Cloudflare Workers backend for serverless functions (contact form, transcription API)","Firebase Firestore for real-time database with local caching and TTL expiration","Comprehensive admin panel with episode management, guest profiles, and analytics dashboard","Cloudflare Turnstile for bot protection and Firebase App Check for admin operations","Domain name infrastructure management: DNS zone delegation, NS record configuration, and nameserver routing via OHVCloud for reliable .fr resolution"],"highlights_fr":["SPA React 19 avec Vite 8 et React Router DOM 7 pour le routage côté client","Système de transcription IA utilisant Gladia SDK avec diarisation des intervenants et mise en évidence en temps réel des transcripts","Backend Cloudflare Workers pour les fonctions serverless (formulaire de contact, API de transcription)","Firebase Firestore pour la base de données en temps réel avec cache local et expiration TTL","Panneau d'administration complet avec gestion des épisodes, profils d'invités et tableau de bord analytique","Cloudflare Turnstile pour la protection contre les bots et Firebase App Check pour les opérations d'administration","Gestion de l'infrastructure du nom de domaine : délégation de zone DNS, configuration des enregistrements NS et routage des nameservers via OHVCloud pour une résolution .fr fiable"],"keywords":["React","Vite","Cloudflare Workers","TypeScript","Firebase","Firestore","Cloudflare Turnstile","OHVCloud"],"url":"https://alter-ethno.fr/","is_professional":true,"role":"Designed and developed the complete full-stack platform: React 19 SPA frontend with Vite 8, Cloudflare Workers backend with TypeScript, Firebase Firestore integration, AI transcription system with Gladia SDK, comprehensive admin panel with real-time analytics, and serverless functions for contact email delivery, plus domain name infrastructure management (DNS zone delegation, NS records, and nameserver routing via OHVCloud for reliable .fr resolution).\"","role_fr":"Conception et développement complet de la plateforme full-stack : frontend SPA React 19 avec Vite 8, backend Cloudflare Workers avec TypeScript, intégration Firebase Firestore, système de transcription IA avec Gladia SDK, panneau d'administration complet avec statistiques en temps réel, et fonctions serverless pour la livraison d'e-mails de contact, ainsi que la gestion de l'infrastructure du nom de domaine (délégation de zone DNS, enregistrements NS et routage des nameservers via OHVCloud pour une résolution .fr fiable).\""},{"name":"Weladee","description":"Weladee is a Time Attendance HRMS for businesses in Thailand. Employees clock in/out with location verification, manage timesheets, request leave and overtime, and view payroll. I worked as a senior Flutter developer on the new client that unified the separate Android and iOS codebases into a single cross-platform app, drastically reducing maintenance time and cost.","description_fr":"Weladee est un système de gestion de présence et RH pour les entreprises thaïlandaises. Les employés marquent leurs entrées/sorties avec vérification de localisation, gèrent leurs feuilles de temps, demandent des congés et heures supplémentaires et consultent leurs bulletins de paie. J'ai travaillé en tant que développeur Flutter senior sur le nouveau client qui a unifié les bases de code Android et iOS séparées en une seule application multiplateforme, réduisant drastiquement le temps et le coût de maintenance.","highlights":["Unified separate Android and iOS native codebases into a single Flutter cross-platform app","Multi-method check-in: GPS location, QR codes, NFC tags, Bluetooth beacons, and selfie verification","Comprehensive HR features: timesheets, leave, overtime, WFH requests, expense claims, and payroll","Offline-first architecture with SQLite, Hive, and queued sync actions","Security: fake location detection, jailbreak/root detection, PDPA compliance, and secure token storage","Firebase Auth for authentication and Firebase Messaging for push notifications"],"highlights_fr":["Unification des bases de code Android et iOS natives séparées en une seule application Flutter multiplateforme","Marquage multi-méthodes : localisation GPS, codes QR, tags NFC, balises Bluetooth et vérification par selfie","Fonctionnalités RH complètes : feuilles de temps, congés, heures supplémentaires, télétravail, dépenses et paie","Architecture hors ligne en priorité avec SQLite, Hive et actions de synchronisation en file d'attente","Sécurité : détection de localisation falsifiée, détection de jailbreak/root, conformité PDPA et stockage sécurisé des jetons","Firebase Auth pour l'authentification et Firebase Messaging pour les notifications push"],"keywords":["Flutter","Dart","gRPC","Protocol Buffers","Provider","SQLite","Hive","Firebase Auth","Firebase Messaging","BLE Beacons","NFC"],"url":"https://www.weladee.com/","is_professional":true,"role":"Worked as a senior Flutter developer on the new Flutter client that unified the separate Android and iOS codebases into a single cross-platform app. Implemented features including check-in/out with multiple verification methods, timesheet management, leave and overtime requests, and team management for managers, using Provider state management and gRPC backend communication.","role_fr":"Développeur Flutter senior sur le nouveau client Flutter qui a unifié les bases de code Android et iOS séparées en une seule application multiplateforme. Implémentation de fonctionnalités incluant le marquage d'entrées/sorties avec plusieurs méthodes de vérification, la gestion des feuilles de temps, les demandes de congés et heures supplémentaires et la gestion d'équipe pour les managers, en utilisant la gestion d'état Provider et la communication backend gRPC."},{"name":"FluxEdge","description":"The web console of the FluxEdge GPU marketplace, part of the RunOnFlux decentralized cloud. Users browse and rent enterprise GPUs, deploy Kubernetes workloads and track their usage.","description_fr":"La console web de la place de marché GPU FluxEdge, au sein du cloud décentralisé RunOnFlux. On y parcourt et on y loue des GPU professionnels, on déploie des charges de travail Kubernetes et on suit sa consommation.","highlights":["Marketplace UI for renting machines and deploying Kubernetes apps","Rancher YAML editor and validator for container workloads","WalletConnect and Web3 multi-network token payments","Access control for cloud compute and hardware usage telemetry"],"highlights_fr":["Interface de place de marché : location de machines et déploiement d’applications Kubernetes","Éditeur et validateur YAML Rancher pour les charges de travail conteneurisées","WalletConnect et paiements en jetons Web3 sur plusieurs réseaux","Contrôle d’accès au calcul cloud et télémétrie d’utilisation du matériel"],"keywords":["Flutter","Javascript","Golang","Firebase Auth","Kubernetes","Rancher","Web3","WalletConnect"],"url":"https://console.fluxedge.ai/","is_professional":true,"role":"Frontend architecture and UI development for enterprise GPU rental, Kubernetes cluster provisioning, and Web3 wallet authentication.","role_fr":"Architecture frontend et développement de l’interface pour la location de GPU d’entreprise, le provisionnement Kubernetes et l’authentification Web3."},{"name":"FluxCore","description":"Tools for the people who supply the FluxEdge network: a desktop app to rent out idle GPUs or mine FLUX, plus a web companion to manage machines, mining and availability.","description_fr":"Les outils des fournisseurs du réseau FluxEdge : une application de bureau pour louer ses GPU inactifs ou miner du FLUX, et un compagnon web pour gérer ses machines, le minage et la disponibilité.","highlights":["Desktop client for GPU providers to rent out compute or mine FLUX","Web companion to monitor machines, wallets and earnings remotely","Workloads run in Docker, in isolated compute environments","Web3 wallet sign-in and reward payouts"],"highlights_fr":["Application de bureau pour louer sa puissance de calcul ou miner du FLUX","Compagnon web pour suivre à distance machines, portefeuilles et gains","Charges de travail exécutées dans Docker, dans des environnements de calcul isolés","Connexion par portefeuille Web3 et versement des récompenses"],"keywords":["Flutter","Javascript","Golang","Firebase Auth","Docker","Web3","WalletConnect"],"url":"https://docs.runonflux.com/fluxcore/overview","is_professional":true,"role":"Built the desktop and web companion applications enabling GPU providers to monitor hardware metrics, mining jobs, and network availability.","role_fr":"Développement des applications compagnon desktop et web permettant aux fournisseurs de GPU de suivre les métriques matérielles, le minage et la disponibilité réseau."},{"name":"signal-duty-bot","description":"A free, fully self-hosted Signal bot for small teams. It handles on-call rotation, forwards DMs to whoever is on duty, and transcribes voice notes locally with an AI summary.","description_fr":"Un bot Signal gratuit et entièrement auto-hébergé pour les petites équipes : il gère la rotation d’astreinte, transmet les messages privés à la personne de garde et transcrit les messages vocaux en local, avec un résumé généré par IA.","highlights":["End-to-end encrypted notifications through Signal","Local voice transcription with faster-whisper and LLM summaries","Free to run, no external API keys"],"highlights_fr":["Notifications chiffrées de bout en bout via Signal","Transcription vocale locale avec faster-whisper et résumés par un LLM","Gratuit : aucune clé d’API externe"],"keywords":["Python","Docker","Ollama","faster-whisper"],"url":"https://github.com/flrnsbt/signal-duty-bot","is_professional":false},{"name":"jsoncrack","description":"Embed the JsonCrack JSON viewer as a Flutter widget. Visualize JSON data as an interactive, zoomable graph directly inside your app.","description_fr":"Intégrez le visualiseur JsonCrack en tant que widget Flutter : visualisez des données JSON sous forme de graphe interactif et zoomable, directement dans votre application.","highlights":["Interactive graph visualization of JSON structures","WebView-based embedding of the JsonCrack editor","Published on pub.dev"],"highlights_fr":["Visualisation interactive des structures JSON sous forme de graphe","Intégration via WebView de l'éditeur JsonCrack","Publié sur pub.dev"],"keywords":["Dart","Flutter","WebView"],"url":"https://jsoncrack-bdf.pages.dev/","is_professional":false},{"name":"drawer_state_observer","description":"Detect when a Flutter Scaffold drawer opens or closes, even when you cannot modify the Scaffold or Drawer implementation.","description_fr":"Détectez l'ouverture et la fermeture du tiroir (drawer) d'un Scaffold Flutter, même quand vous ne pouvez pas modifier l'implémentation du Scaffold ou du Drawer.","highlights":["Observes drawer state without requiring Scaffold customization","Lightweight notification-based API","Published on pub.dev"],"highlights_fr":["Observe l'état du tiroir sans nécessiter de personnalisation du Scaffold","API légère basée sur les notifications","Publié sur pub.dev"],"keywords":["Dart","Flutter","Widgets"],"url":"https://pub.dev/packages/drawer_state_observer","is_professional":false},{"name":"force_graph","description":"An interactive graph renderer driven by physics: nodes push each other apart, links pull them together, and the layout settles in real time.","description_fr":"Un moteur de rendu de graphes interactif, piloté par une simulation physique : les nœuds se repoussent, les liens les rapprochent et la disposition se stabilise en temps réel.","highlights":["Interactive physics simulation with real-time dragging and repulsion","Cross-platform Flutter canvas rendering (WASM, mobile, desktop)","Published on pub.dev"],"highlights_fr":["Simulation physique interactive avec glisser-déposer et répulsion en temps réel","Rendu canvas Flutter multiplateforme (WASM, mobile, ordinateur)","Publié sur pub.dev"],"keywords":["Flutter","Dart","Forge2D","Physics simulation"],"url":"https://force-graph.pages.dev","is_professional":true},{"name":"Alvoria CommUnity","description":"Alvoria specializes in BYOD (Bring Your Own Device) platforms that bring all the services of an establishment onto the client's personal device. I developed the CommUnity Admin back-office — a Flutter Android app and PWA letting administrators manage photo albums and send alerts to community members.","description_fr":"Alvoria est spécialisé dans les plateformes BYOD (Bring Your Own Device) qui apportent tous les services d'un établissement sur l'équipement personnel du client. J'ai développé le back-office CommUnity Admin — une application Android et PWA Flutter permettant aux administrateurs de gérer des albums photo et d'envoyer des alertes aux membres de la communauté.","highlights":["BLoC architecture with flutter_bloc for state management and auto_route for type-safe navigation","Album management: browse, view and batch-upload up to 10 images to photo albums","Alert system: create, view and resend targeted alerts to client types with optional email delivery","Android image-sharing integration: receive and publish images from other apps directly to albums","Responsive UI adapting to mobile, tablet and desktop via responsive_framework"],"highlights_fr":["Architecture BLoC avec flutter_bloc pour la gestion d'état et auto_route pour la navigation typée","Gestion des albums : navigation, visualisation et téléchargement par lots de jusqu'à 10 images","Système d'alertes : création, consultation et renvoi d'alertes ciblées avec livraison par e-mail","Intégration du partage d'images Android : réception et publication d'images depuis d'autres apps","Interface réactive s'adaptant au mobile, à la tablette et à l'ordinateur"],"keywords":["Flutter","Dart","gRPC","Protocol Buffers","flutter_bloc","auto_route"],"url":"https://community.alvoria.com","is_professional":true,"role":"Developed the complete CommUnity Admin back-office as a Flutter Android app and PWA. Implemented BLoC-based state management, gRPC backend communication, album and alert management flows, Android image-sharing integration, and responsive UI across mobile, tablet and desktop.","role_fr":"Développement complet du back-office CommUnity Admin en application Android et PWA Flutter. Implémentation de la gestion d'état BLoC, de la communication backend gRPC, des flux de gestion d'albums et d'alertes, de l'intégration du partage d'images Android et de l'interface réactive sur mobile, tablette et ordinateur."},{"name":"Protech QR Code","description":"A mobile-first PWA for managing industrial machine service reports, contracts, and technician workflows. Technicians scan QR codes on machines to view details, create service reports, and sync data with an Odoo backend via a Go gRPC proxy.","description_fr":"Une PWA mobile-first pour gérer les rapports de service, les contrats et les flux de travail des techniciens d'équipements industriels. Les techniciens scannent les codes QR des machines pour voir les détails, créer des rapports de service et synchroniser les données avec un backend Odoo via un proxy gRPC Go.","highlights":["Three-tier architecture: Flutter PWA → Go gRPC proxy → Odoo ERP via XML-RPC","QR code scanning to look up machines across 10 industrial machine types","Service reports with photos, customer signatures, GPS location and PDF export","Per-machine-type service report schemas defined in Protocol Buffers","Multi-language support (EN/TH) with customer portal for service requests"],"highlights_fr":["Architecture en trois niveaux : PWA Flutter → proxy Go gRPC → ERP Odoo via XML-RPC","Scan de codes QR pour rechercher des machines parmi 10 types d'équipements industriels","Rapports de service avec photos, signatures clients, localisation GPS et export PDF","Schémas de rapport de service par type de machine définis dans Protocol Buffers","Support multilingue (EN/TH) avec portail client pour les demandes de service"],"keywords":["Flutter","Dart","Golang","gRPC","Protocol Buffers","flutter_bloc","Odoo"],"url":"https://protech-transfer.com/","is_professional":true,"role":"Worked as a junior developer on the Flutter PWA. Implemented features using Cubit-based state management, gRPC-Web communication with the Go proxy, QR code scanning, service report creation with photos and signatures, GPS tracking, and multi-language support. Coordinated with the IT manager on new functionality requirements.","role_fr":"Développeur junior sur la PWA Flutter. Implémentation de fonctionnalités avec gestion d'état Cubit, communication gRPC-Web avec le proxy Go, scan de codes QR, création de rapports de service avec photos et signatures, suivi GPS et support multilingue. Coordination avec le responsable IT sur les nouvelles fonctionnalités."},{"name":"Musica","description":"A Flutter music app for mobile, desktop and web. Browse, search and play music, build playlists, keep a personal library and sign in to an account. One shared playback engine keeps audio running in the background.","description_fr":"Une application musicale Flutter pour mobile, ordinateur et web : parcourir et rechercher des morceaux, créer des playlists, gérer sa bibliothèque personnelle et se connecter à son compte. Un moteur de lecture commun assure la lecture en arrière-plan.","highlights":["Shared audio playback engine with background playback and Linux MPRIS media-key support","Personal library with local offline caching","Adaptive UI for phones, tablets, desktop and web","Private streaming backend reachable over Tailscale"],"highlights_fr":["Moteur de lecture audio partagé, avec lecture en arrière-plan et prise en charge des touches multimédias Linux (MPRIS)","Bibliothèque personnelle avec cache local hors ligne","Interface adaptative : smartphone, tablette, ordinateur et web","Backend de streaming privé accessible via Tailscale"],"keywords":["Flutter","Dart","Docker","NodeJS","SQLite","Tailscale"],"url":null,"is_professional":false,"role":"Architected and built the full client application from scratch, including custom audio engine background service, Linux MPRIS integration, and local caching.","role_fr":"Architecture et développement complet de l’application client à partir de zéro, y compris le service d’arrière-plan du moteur audio, l’intégration Linux MPRIS et le cache local."},{"name":"AI Caption","description":"A Flutter app that generates SRT and WebVTT subtitles with a locally running Whisper model. No audio or video ever leaves your device, whether you’re on macOS, Windows, Linux, mobile or the web.","description_fr":"Une application Flutter qui génère des sous-titres SRT et WebVTT avec Whisper, exécuté en local. Aucun fichier audio ou vidéo ne quitte l’appareil, que ce soit sur macOS, Windows, Linux, mobile ou le web.","highlights":["On-device Whisper transcription: no data leaves your device","Batch processing with per-file progress tracking","Live-caption mode that transcribes five minutes ahead of the playhead","Models from the 39 MB tiny to the 2.9 GB large-v3, with automatic mirror failover"],"highlights_fr":["Transcription Whisper sur l’appareil : aucune donnée n’en sort","Traitement par lots avec progression fichier par fichier","Sous-titrage en direct avec transcription cinq minutes à l’avance","Modèles de 39 Mo (tiny) à 2,9 Go (large-v3), avec bascule automatique entre miroirs"],"keywords":["Flutter","Whisper","whisper.cpp","GGML","FFmpeg","WebAssembly"],"url":null,"is_professional":false,"role":"Implemented the Flutter UI, WebAssembly & whisper.cpp bridges, offline audio extraction pipeline with FFmpeg, and SRT/WebVTT export utilities.","role_fr":"Développement de l’interface Flutter, des liaisons WebAssembly & whisper.cpp, du pipeline d’extraction audio hors ligne avec FFmpeg et de l’export SRT/WebVTT."},{"name":"better_stepper","description":"A drop-in Flutter stepper that gives more control over appearance, behavior and flow than the stock Material Stepper.","description_fr":"Un stepper Flutter prêt à l’emploi, qui laisse plus de liberté sur l’apparence, le comportement et le déroulement que le Stepper Material de base.","highlights":["Custom step indicators, icons and progress animation","Horizontal and vertical layouts, with validation of each step’s state","Open-source Flutter widget published on pub.dev"],"highlights_fr":["Indicateurs d’étapes, icônes et animation de progression personnalisables","Dispositions horizontale et verticale, avec validation de l’état de chaque étape","Widget Flutter open source publié sur pub.dev"],"keywords":["Dart","Flutter","Widgets"],"url":"https://github.com/flrnsbt/better_stepper","is_professional":false},{"name":"PingPrice","description":"A multi-country supermarket price comparator for Belgium, France and the Netherlands. Users scan barcodes, track deal histories and manage shopping baskets. I took ownership of the Flutter mobile project, turning an early-stage prototype into a structured, production-ready app.","description_fr":"Un comparateur de prix supermarchés pour la Belgique, la France et les Pays-Bas. On y scanne des codes-barres, suit l'historique des promotions et gère des paniers. J'ai pris en charge le projet mobile Flutter, transformant un prototype en application de production structurée.","highlights":["UI/UX screen design: translated client feature requests into clean, intuitive mobile interfaces","Prototype refactoring: restructured early code into a modular Flutter architecture with clean UI/state separation","Defensive data mapping: built resilient client-side mappers to normalize fragmented, multi-language backend payloads","Core features: live barcode scanning, dynamic basket totals, price history charts, regional promotional alerts","Firebase Auth: user authentication and session management across platforms","Firebase Dynamic Links: deep linking for product pages and promotional campaigns","Firebase Messaging: push notifications for price drops and promotional alerts","Cross-platform performance: responsive layouts, smooth scrolling, local state caching across Android and iOS"],"highlights_fr":["Conception UI/UX : traduction des demandes fonctionnelles du client en interfaces mobiles propres et intuitives","refactoring du prototype : restructuration du code initial en architecture Flutter modulaire avec séparation UI/état","Mapping de données défensif : mappers côté client pour normaliser les payloads fragmentés et multilingues du backend","Fonctionnalités principales : scan de codes-barres en direct, calculs de panier dynamiques, graphiques d'historique des prix, alertes promotionnelles régionales","Firebase Auth : authentification des utilisateurs et gestion des sessions sur toutes les plateformes","Firebase Dynamic Links : liens profonds pour les pages produits et campagnes promotionnelles","Firebase Messaging : notifications push pour les baisses de prix et alertes promotionnelles","Performance multiplateforme : interfaces réactives, défilement fluide, cache d'état local sur Android et iOS"],"keywords":["Flutter","Dart","gRPC","Protocol Buffers","Firebase Auth","Firebase Dynamic Links","Firebase Messaging"],"url":"https://pingprice.be/","is_professional":true,"role":"Took ownership of the Flutter mobile project during internship and continued as junior developer. Designed mobile UI/UX screens, refactored the prototype into a modular architecture, built client-side data mappers for multi-language backend normalization, and implemented barcode scanning, basket comparison, price history and promotional alerts across Belgium, France and the Netherlands.","role_fr":"Prise en charge du projet mobile Flutter pendant le stage et poursuite en tant que développeur junior. Conception des écrans UI/UX mobiles, refactoring du prototype en architecture modulaire, développement de mappers de données côté client pour la normalisation multilingue du backend, et implémentation du scan de codes-barres, de la comparaison de paniers, de l'historique des prix et des alertes promotionnelles en Belgique, France et Pays-Bas."},{"name":"netflox","description":"A streaming app for web, desktop, Android and iOS to browse a local movie database enriched with TMDB data. Movies stream over SFTP, and a wishlist keeps track of the ones you don’t own yet.","description_fr":"Une application de streaming pour le web, l’ordinateur, Android et iOS, qui permet de parcourir une base de films locale enrichie par TMDB. Les films sont diffusés via SFTP, et une liste de souhaits garde la trace de ceux qu’on ne possède pas encore.","highlights":["Direct SSH/SFTP streaming with on-the-fly video decoding","TMDB metadata for posters, synopses and cast","Local wishlist and library management"],"highlights_fr":["Streaming direct par SSH/SFTP, avec décodage vidéo à la volée","Métadonnées TMDB pour les affiches, synopsis et distributions","Liste de souhaits et gestion de la vidéothèque en local"],"keywords":["Flutter","Dart","TMDB API","SFTP"],"url":"https://github.com/flrnsbt/netflox","is_professional":false},{"name":"Music Reactive LED Strips","description":"LED strips driven by a NodeMCU and controlled over MQTT from a Flutter app I wrote myself. The room pulses in time with whatever is playing.","description_fr":"Des rubans LED pilotés par un NodeMCU et commandés en MQTT depuis une application Flutter que j’ai écrite moi-même : la pièce pulse au rythme de la musique.","highlights":["Real-time audio-reactive animations based on FFT frequency analysis","Low-latency MQTT link to the ESP8266 NodeMCU","Flutter app for custom color presets and animation modes"],"highlights_fr":["Animations réagissant au son en temps réel, par analyse fréquentielle FFT","Communication MQTT à faible latence avec le NodeMCU ESP8266","Application Flutter avec préréglages de couleurs personnalisés et modes d’animation"],"keywords":["Flutter","MQTT","NodeMCU","C++"],"url":"https://github.com/flrnsbt/music_reactive_led_strips","is_professional":false},{"name":"sftp_video_player","description":"A Flutter video player that browses a remote machine over SSH/SFTP and streams its videos directly. No cloud upload, no third-party service.","description_fr":"Un lecteur vidéo Flutter qui parcourt une machine distante en SSH/SFTP et lit ses vidéos en streaming, directement : pas de téléversement dans le cloud, pas de service tiers.","highlights":["Streams video straight from remote servers over SFTP","Built-in navigation of remote directories","No dependency on third-party cloud services"],"highlights_fr":["Lecture directe de vidéos depuis des serveurs distants via SFTP","Navigation intégrée dans l’arborescence des fichiers distants","Aucune dépendance à un service cloud tiers"],"keywords":["Flutter","Dart","SSH / SFTP"],"url":"https://pub.dev/packages/sftp_video_player","is_professional":false}],"fr":{"basics":{"name":"Florian Sabaté","label":"Développeur Logiciel Web & Mobile","image":"https://floriansabate.top/assets/assets/images/profile.webp","email":"contact@floriansabate.top","url":"https://floriansabate.top","summary":"Développeur logiciel Web & Mobile avec plus de 3 ans d'expérience en production. Spécialisé dans le développement cross-platform (Flutter) et Web (Angular, React), l'architecture UI et l'intégration backend (APIs REST/gRPC, Golang, Node.js, SQL). J'ai travaillé dans une équipe internationale, de la conception à la mise en production d'applications performantes, fiables et ergonomiques.","location":{"city":"Perpignan","region":"Occitanie","countryCode":"FR"},"profiles":[{"network":"GitHub","username":"flrnsbt","url":"https://github.com/flrnsbt"},{"network":"LinkedIn","username":"florian-sabate","url":"https://www.linkedin.com/in/flrnsbt"}]},"work":[{"name":"Auto-Entrepreneur · floriansabate.top","position":"Développeur Logiciel Freelance / Développeur Web Indépendant","startDate":"Juin 2026","endDate":"Présent","summary":"Développeur web full-stack indépendant livrant des sites de production de A à Z pour des clients. Projet principal : conception, développement et déploiement de la plateforme React 19 pour Alter Ethno (alter-ethno.fr), un podcast d'anthropologie française — avec un SPA au design éditorial sombre, transcription IA avec Gladia SDK, panneau d'administration complet et backend serverless. Gestion directe des besoins clients, boucles de feedback itératives, implémentation UI/UX, design responsive, optimisation des performances, configuration d'hébergement, déploiement de domaine et pipelines CI/CD automatisés.","highlights":["Conception et déploiement du site de production React pour Alter Ethno (alter-ethno.fr) de la conception au lancement","Architecture full-stack : SPA React avec Vite pour le frontend, backend serverless Cloudflare Workers avec TypeScript","Système de transcription IA utilisant Gladia SDK avec diarisation des intervenants et synchronisation en temps réel des transcripts","Base de données en temps réel Firebase Firestore avec cache local et expiration TTL pour les données d'épisodes et CMS","Panneau d'administration complet avec gestion des épisodes, profils d'invités, plateformes d'écoute et tableau de bord analytique","Protection contre les bots Cloudflare Turnstile et Firebase App Check pour des opérations d'administration sécurisées","Gestion de l'infrastructure du nom de domaine : délégation de zone DNS, enregistrements NS et routage des nameservers via OHVCloud pour une résolution .fr fiable","Design responsive, optimisation des performances et pipelines de déploiement CI/CD automatisés"]},{"name":"Frontware International Ltd. (Bangkok)","position":"Développeur Senior Flutter","startDate":"Févr 2024","endDate":"Mai 2026","summary":"Développeur mobile / web, principalement sur Flutter, pour des applications multiplateformes (mobile, web et ordinateur), du développement et de l'architecture jusqu'à la maintenance dans la durée. Profil polyvalent : backend en Go, scripts système et frontend Angular. Habitué à mettre en production des technologies récentes sur des projets professionnels : WebAuthn, portefeuilles Web3 avec WalletConnect, applications IA/RAG et IA exécutée sur l'appareil. Expérience dans le pilotage de l'architecture frontend, la formation de développeurs, l'encadrement de stagiaires et la livraison de produits à des clients dans le monde entier, au sein d'équipes internationales. Réalisation d'un PoC de faisabilité technique via une application mobile de scan de produits basée sur un modèle TensorFlow sur-mesure ; optimisation des pipelines de rendu réduisant la consommation de batterie mobile. Collaboration quotidienne dans un environnement multiculturel anglophone aux côtés de collègues thaïlandais, belges, français, myanmarais, indiens et allemands, avec des produits livrés à des clients en Europe et aux USA.","highlights":["Développement d'une application IA/RAG : pipeline d'ingestion d'e-mails en Go et embeddings ONNX calculés côté client (navigateur, mobile) pour alléger les serveurs GPU locaux","Conception d'un SSO multilingue avec 2FA et passkeys WebAuthn","SSO partagé entre plusieurs projets via une base de code Dart commune, avec interopérabilité protobuf entre TypeScript/JavaScript, Golang, Rust et Dart (partie backend réalisée avec d'autres développeurs)","Migration d'une application mobile native de \"gestion d'entreprise\" vers Flutter, avec passage de REST à gRPC","Périmètre de la migration : environ 50 écrans et environ 20 endpoints","Redéveloppement en Flutter (iOS/Android) de services complexes : géolocalisation, détection de balises Bluetooth, scan NFC et reconnaissance faciale, avec intégration de code natif dans l'application multiplateforme","Pilotage de l'architecture frontend sur 3 projets : gestion d'état et Clean Architecture (MVVM, MVI)","Rédaction de documentation technique, formation de développeurs et encadrement de stagiaires","Encadrement de 4 stagiaires : 2 français et 2 myanmarais","Formation de 3 personnes à Flutter et accompagnement d'un développeur senior Angular/Java dans sa prise en main du framework Flutter","Amélioration du temps de démarrage, de la consommation mémoire / poids des apps","Interfaces adaptatives d'après des maquettes Figma, avec internationalisation et accessibilité","Intégration de notifications push, deep links, analytics et suivi des crashs (Firebase)","Mise en place de pipelines CI/CD et d'automatisations, y compris du scripting Bash","Correction d'incidents en production et suivi de la stabilité avec Crashlytics","Application scanner TensorFlow avec pipeline de rendu optimisé","Collaboration quotidienne au sein d'une équipe multiculturelle (thaïlandaise, belge, française, myanmaraise, indienne, allemande) pour des clients en Europe et aux USA"]},{"name":"Frontware International Ltd. (Bangkok)","position":"Développeur Junior","startDate":"Févr 2023","endDate":"Févr 2024","summary":"Spécialisé dans le développement d'applications web et natives pour des infrastructures cloud décentralisées, en collaboration étroite avec les chefs de projet et les designers dans un cadre agile (Jira, Figma), pour livrer des solutions robustes et centrées sur l'utilisateur à l'écosystème crypto RunOnFlux.","highlights":["Pilotage de la conception et du développement de FluxEdge, marketplace décentralisée de GPU reposant sur Rancher & Kubernetes : location de machines, parcours projets et machines, compte et facturation","Flux Machine Admin : Configuration des machines et opérations de minage sur le réseau Flux","Intégration blockchain : connexion de wallet, signature de transactions, interaction avec des smart contracts, paiements multi-réseaux","Paiements crypto pris en charge sur 5 réseaux : Ethereum, Binance, Polygon, Flux mainnet et Tron","Développement d'applications de bureau : Flutter desktop, intégration au système, packaging et distribution","Développement de bridges entre JavaScript / WebAssembly et Dart (interopérabilité JS, WASM)","Optimisation du temps de chargement des applications web. Amélioration des performances : tâches lourdes déportées dans des threads et web workers","Temps de chargement divisé par 2 à 3 sur certaines applications web : désactivation du service worker, intégration locale de CanvasKit et des ressources nécessaires au lieu de dépendre d'un CDN, chargement différé du code et des bibliothèques, et migration d'une application CanvasKit 100 % JS vers CanvasKit WASM (avec réécriture du bridge d'interopérabilité JS/Dart pour le rendre compatible JS/WASM)","Conception d'éditeur de code avec validation en direct, assistant de déploiement par étapes","Portail Web Distant : Portail sécurisé transmettant les informations de connexion via tunnels Cloudflare","Maintenance du backoffice opérationnel et développement multiplateforme avec Angular et Flutter"]},{"name":"Frontware International Ltd. (Bangkok)","position":"Stagiaire en Génie Logiciel","startDate":"Oct 2022","endDate":"Janv 2023","summary":"Développement d'applications web adaptatives, de backoffices internes et de fonctionnalités mobiles. Collaboration avec des ingénieurs seniors et des designers UI/UX, participation aux revues de code, maintenance et résolution d'incidents.","highlights":["Contribution à des applications web adaptatives, des backoffices et des applications mobiles pour des clients professionnels","Immersion au sein d'une entreprise logicielle internationale à Bangkok","Revues de code, correction de bugs et amélioration de fonctionnalités"]},{"name":"Auto-Entrepreneur · Clients Internationaux","position":"Producteur de Musique Indépendant","startDate":"Sept 2018","endDate":"Janv 2022","summary":"Production de musiques pour des clients indépendants dans le cadre de contrats de ghost-producing. Gestion complète du sound design, de l'ingénierie audio, de l'arrangement, du mixage et de la relation client.","highlights":["Production de titres commerciaux sous contrats internationaux de ghost-producing","Solide expérience en production sonore, sound design et livraison créative","Gestion autonome des relations clients et des délais de production"]}],"education":[{"institution":"Stamford International University · Bangkok","area":"Bachelor en Sciences Informatiques","studyType":"Enseignement Supérieur","startDate":"Janv 2019","endDate":"Janv 2023","courses":["Software Engineering","Web Development","Hackulture 1st Place","Bangkok"],"description":"Spécialisation en génie logiciel et développement web. Participation à des ateliers technologiques et hackathons. 1ère place au concours Hackulture pour la technologie, le design et l'expérience utilisateur.","highlights":["1ère place au concours Hackulture (technologie, design & UX)","Spécialisation en génie logiciel et développement web","Environnement universitaire international à Bangkok, Thaïlande"]},{"institution":"Université de Montpellier · IUT de Béziers","area":"IUT Réseaux & Télécommunications","studyType":"Enseignement Supérieur","startDate":"Sept 2016","endDate":"Févr 2018","courses":["Networking","Sysadmin","Linux","Android","Mathématiques"],"description":"Formation universitaire en Réseaux & Télécoms (Major de promo S1). Administration système, architecture réseaux, développement web/Android et mathématiques appliquées.","highlights":["Major de promo — Semestre 1 (1er de promotion)","Administration système, Linux, réseaux IP et routage","Développement mobile Android, technologies web et mathématiques"]}],"skills":[{"name":"Frontend & Mobile","keywords":["Flutter & Dart","React","Kotlin / Android","Figma & UI/UX Architecture","Angular","HTML5, CSS3"]},{"name":"Backend & Systèmes","keywords":["Dart & Node.js","gRPC & RESTful APIs","SQL (principalement PostgreSQL & SQLite)","Écosystème Firebase / Supabase","Golang","Solutions IA & RAG (Retrieval-Augmented Generation)"]},{"name":"IA & Outillage","keywords":["Git & CI/CD","Linux & Scripting Bash","Agents IA (Antigravity, Claude Code...)","Docker & Conteneurs","Infrastructures IA"]}],"languages":[{"language":"Français","fluency":"Langue maternelle (C2)","code":"fr"},{"language":"Anglais","fluency":"Courant professionnel (C1)","code":"en"}],"projects":[{"name":"QueryMate","description":"Le produit de RAG privé de Frontware pour les entreprises : il permet d’interroger documents, bases SQL et ERP Odoo via des LLM privés ou publics, avec un contrôle d’accès fin. J’ai développé le client cross-platform et l’essentiel de l’IA exécutée côté client.","highlights":["Interface Flutter multiplateforme : mobile, web, Linux et Windows","Inférence de LLM en local dans le navigateur avec WebGPU et Web ONNX","Graphe à simulation de forces des liens entre documents du RAG","Démon d'analyse des e-mails qui alimente le RAG automatiquement"],"keywords":["Flutter","Angular","Golang","ONNX","RAG","Web Push","WebAuthn"],"url":null},{"name":"Alter Ethno","description":"Un site React pour le podcast d'anthropologie d'une cliente avec transcription IA : design éditorial sombre, liste des épisodes, page d'écoute, panneau d'administration avec édition de transcription en temps réel, et formulaire de contact.","highlights":["SPA React 19 avec Vite 8 et React Router DOM 7 pour le routage côté client","Système de transcription IA utilisant Gladia SDK avec diarisation des intervenants et mise en évidence en temps réel des transcripts","Backend Cloudflare Workers pour les fonctions serverless (formulaire de contact, API de transcription)","Firebase Firestore pour la base de données en temps réel avec cache local et expiration TTL","Panneau d'administration complet avec gestion des épisodes, profils d'invités et tableau de bord analytique","Cloudflare Turnstile pour la protection contre les bots et Firebase App Check pour les opérations d'administration","Gestion de l'infrastructure du nom de domaine : délégation de zone DNS, configuration des enregistrements NS et routage des nameservers via OHVCloud pour une résolution .fr fiable"],"keywords":["React","Vite","Cloudflare Workers","TypeScript","Firebase","Firestore","Cloudflare Turnstile","OHVCloud"],"url":"https://alter-ethno.fr/"},{"name":"Weladee","description":"Weladee est un système de gestion de présence et RH pour les entreprises thaïlandaises. Les employés marquent leurs entrées/sorties avec vérification de localisation, gèrent leurs feuilles de temps, demandent des congés et heures supplémentaires et consultent leurs bulletins de paie. J'ai travaillé en tant que développeur Flutter senior sur le nouveau client qui a unifié les bases de code Android et iOS séparées en une seule application multiplateforme, réduisant drastiquement le temps et le coût de maintenance.","highlights":["Unification des bases de code Android et iOS natives séparées en une seule application Flutter multiplateforme","Marquage multi-méthodes : localisation GPS, codes QR, tags NFC, balises Bluetooth et vérification par selfie","Fonctionnalités RH complètes : feuilles de temps, congés, heures supplémentaires, télétravail, dépenses et paie","Architecture hors ligne en priorité avec SQLite, Hive et actions de synchronisation en file d'attente","Sécurité : détection de localisation falsifiée, détection de jailbreak/root, conformité PDPA et stockage sécurisé des jetons","Firebase Auth pour l'authentification et Firebase Messaging pour les notifications push"],"keywords":["Flutter","Dart","gRPC","Protocol Buffers","Provider","SQLite","Hive","Firebase Auth","Firebase Messaging","BLE Beacons","NFC"],"url":"https://www.weladee.com/"},{"name":"FluxEdge","description":"La console web de la place de marché GPU FluxEdge, au sein du cloud décentralisé RunOnFlux. On y parcourt et on y loue des GPU professionnels, on déploie des charges de travail Kubernetes et on suit sa consommation.","highlights":["Interface de place de marché : location de machines et déploiement d’applications Kubernetes","Éditeur et validateur YAML Rancher pour les charges de travail conteneurisées","WalletConnect et paiements en jetons Web3 sur plusieurs réseaux","Contrôle d’accès au calcul cloud et télémétrie d’utilisation du matériel"],"keywords":["Flutter","Javascript","Golang","Firebase Auth","Kubernetes","Rancher","Web3","WalletConnect"],"url":"https://console.fluxedge.ai/"},{"name":"FluxCore","description":"Les outils des fournisseurs du réseau FluxEdge : une application de bureau pour louer ses GPU inactifs ou miner du FLUX, et un compagnon web pour gérer ses machines, le minage et la disponibilité.","highlights":["Application de bureau pour louer sa puissance de calcul ou miner du FLUX","Compagnon web pour suivre à distance machines, portefeuilles et gains","Charges de travail exécutées dans Docker, dans des environnements de calcul isolés","Connexion par portefeuille Web3 et versement des récompenses"],"keywords":["Flutter","Javascript","Golang","Firebase Auth","Docker","Web3","WalletConnect"],"url":"https://docs.runonflux.com/fluxcore/overview"},{"name":"signal-duty-bot","description":"Un bot Signal gratuit et entièrement auto-hébergé pour les petites équipes : il gère la rotation d’astreinte, transmet les messages privés à la personne de garde et transcrit les messages vocaux en local, avec un résumé généré par IA.","highlights":["Notifications chiffrées de bout en bout via Signal","Transcription vocale locale avec faster-whisper et résumés par un LLM","Gratuit : aucune clé d’API externe"],"keywords":["Python","Docker","Ollama","faster-whisper"],"url":"https://github.com/flrnsbt/signal-duty-bot"},{"name":"jsoncrack","description":"Intégrez le visualiseur JsonCrack en tant que widget Flutter : visualisez des données JSON sous forme de graphe interactif et zoomable, directement dans votre application.","highlights":["Visualisation interactive des structures JSON sous forme de graphe","Intégration via WebView de l'éditeur JsonCrack","Publié sur pub.dev"],"keywords":["Dart","Flutter","WebView"],"url":"https://jsoncrack-bdf.pages.dev/"},{"name":"drawer_state_observer","description":"Détectez l'ouverture et la fermeture du tiroir (drawer) d'un Scaffold Flutter, même quand vous ne pouvez pas modifier l'implémentation du Scaffold ou du Drawer.","highlights":["Observe l'état du tiroir sans nécessiter de personnalisation du Scaffold","API légère basée sur les notifications","Publié sur pub.dev"],"keywords":["Dart","Flutter","Widgets"],"url":"https://pub.dev/packages/drawer_state_observer"},{"name":"force_graph","description":"Un moteur de rendu de graphes interactif, piloté par une simulation physique : les nœuds se repoussent, les liens les rapprochent et la disposition se stabilise en temps réel.","highlights":["Simulation physique interactive avec glisser-déposer et répulsion en temps réel","Rendu canvas Flutter multiplateforme (WASM, mobile, ordinateur)","Publié sur pub.dev"],"keywords":["Flutter","Dart","Forge2D","Physics simulation"],"url":"https://force-graph.pages.dev"},{"name":"Alvoria CommUnity","description":"Alvoria est spécialisé dans les plateformes BYOD (Bring Your Own Device) qui apportent tous les services d'un établissement sur l'équipement personnel du client. J'ai développé le back-office CommUnity Admin — une application Android et PWA Flutter permettant aux administrateurs de gérer des albums photo et d'envoyer des alertes aux membres de la communauté.","highlights":["Architecture BLoC avec flutter_bloc pour la gestion d'état et auto_route pour la navigation typée","Gestion des albums : navigation, visualisation et téléchargement par lots de jusqu'à 10 images","Système d'alertes : création, consultation et renvoi d'alertes ciblées avec livraison par e-mail","Intégration du partage d'images Android : réception et publication d'images depuis d'autres apps","Interface réactive s'adaptant au mobile, à la tablette et à l'ordinateur"],"keywords":["Flutter","Dart","gRPC","Protocol Buffers","flutter_bloc","auto_route"],"url":"https://community.alvoria.com"},{"name":"Protech QR Code","description":"Une PWA mobile-first pour gérer les rapports de service, les contrats et les flux de travail des techniciens d'équipements industriels. Les techniciens scannent les codes QR des machines pour voir les détails, créer des rapports de service et synchroniser les données avec un backend Odoo via un proxy gRPC Go.","highlights":["Architecture en trois niveaux : PWA Flutter → proxy Go gRPC → ERP Odoo via XML-RPC","Scan de codes QR pour rechercher des machines parmi 10 types d'équipements industriels","Rapports de service avec photos, signatures clients, localisation GPS et export PDF","Schémas de rapport de service par type de machine définis dans Protocol Buffers","Support multilingue (EN/TH) avec portail client pour les demandes de service"],"keywords":["Flutter","Dart","Golang","gRPC","Protocol Buffers","flutter_bloc","Odoo"],"url":"https://protech-transfer.com/"},{"name":"Musica","description":"Une application musicale Flutter pour mobile, ordinateur et web : parcourir et rechercher des morceaux, créer des playlists, gérer sa bibliothèque personnelle et se connecter à son compte. Un moteur de lecture commun assure la lecture en arrière-plan.","highlights":["Moteur de lecture audio partagé, avec lecture en arrière-plan et prise en charge des touches multimédias Linux (MPRIS)","Bibliothèque personnelle avec cache local hors ligne","Interface adaptative : smartphone, tablette, ordinateur et web","Backend de streaming privé accessible via Tailscale"],"keywords":["Flutter","Dart","Docker","NodeJS","SQLite","Tailscale"],"url":null},{"name":"AI Caption","description":"Une application Flutter qui génère des sous-titres SRT et WebVTT avec Whisper, exécuté en local. Aucun fichier audio ou vidéo ne quitte l’appareil, que ce soit sur macOS, Windows, Linux, mobile ou le web.","highlights":["Transcription Whisper sur l’appareil : aucune donnée n’en sort","Traitement par lots avec progression fichier par fichier","Sous-titrage en direct avec transcription cinq minutes à l’avance","Modèles de 39 Mo (tiny) à 2,9 Go (large-v3), avec bascule automatique entre miroirs"],"keywords":["Flutter","Whisper","whisper.cpp","GGML","FFmpeg","WebAssembly"],"url":null},{"name":"better_stepper","description":"Un stepper Flutter prêt à l’emploi, qui laisse plus de liberté sur l’apparence, le comportement et le déroulement que le Stepper Material de base.","highlights":["Indicateurs d’étapes, icônes et animation de progression personnalisables","Dispositions horizontale et verticale, avec validation de l’état de chaque étape","Widget Flutter open source publié sur pub.dev"],"keywords":["Dart","Flutter","Widgets"],"url":"https://github.com/flrnsbt/better_stepper"},{"name":"PingPrice","description":"Un comparateur de prix supermarchés pour la Belgique, la France et les Pays-Bas. On y scanne des codes-barres, suit l'historique des promotions et gère des paniers. J'ai pris en charge le projet mobile Flutter, transformant un prototype en application de production structurée.","highlights":["Conception UI/UX : traduction des demandes fonctionnelles du client en interfaces mobiles propres et intuitives","refactoring du prototype : restructuration du code initial en architecture Flutter modulaire avec séparation UI/état","Mapping de données défensif : mappers côté client pour normaliser les payloads fragmentés et multilingues du backend","Fonctionnalités principales : scan de codes-barres en direct, calculs de panier dynamiques, graphiques d'historique des prix, alertes promotionnelles régionales","Firebase Auth : authentification des utilisateurs et gestion des sessions sur toutes les plateformes","Firebase Dynamic Links : liens profonds pour les pages produits et campagnes promotionnelles","Firebase Messaging : notifications push pour les baisses de prix et alertes promotionnelles","Performance multiplateforme : interfaces réactives, défilement fluide, cache d'état local sur Android et iOS"],"keywords":["Flutter","Dart","gRPC","Protocol Buffers","Firebase Auth","Firebase Dynamic Links","Firebase Messaging"],"url":"https://pingprice.be/"},{"name":"netflox","description":"Une application de streaming pour le web, l’ordinateur, Android et iOS, qui permet de parcourir une base de films locale enrichie par TMDB. Les films sont diffusés via SFTP, et une liste de souhaits garde la trace de ceux qu’on ne possède pas encore.","highlights":["Streaming direct par SSH/SFTP, avec décodage vidéo à la volée","Métadonnées TMDB pour les affiches, synopsis et distributions","Liste de souhaits et gestion de la vidéothèque en local"],"keywords":["Flutter","Dart","TMDB API","SFTP"],"url":"https://github.com/flrnsbt/netflox"},{"name":"Music Reactive LED Strips","description":"Des rubans LED pilotés par un NodeMCU et commandés en MQTT depuis une application Flutter que j’ai écrite moi-même : la pièce pulse au rythme de la musique.","highlights":["Animations réagissant au son en temps réel, par analyse fréquentielle FFT","Communication MQTT à faible latence avec le NodeMCU ESP8266","Application Flutter avec préréglages de couleurs personnalisés et modes d’animation"],"keywords":["Flutter","MQTT","NodeMCU","C++"],"url":"https://github.com/flrnsbt/music_reactive_led_strips"},{"name":"sftp_video_player","description":"Un lecteur vidéo Flutter qui parcourt une machine distante en SSH/SFTP et lit ses vidéos en streaming, directement : pas de téléversement dans le cloud, pas de service tiers.","highlights":["Lecture directe de vidéos depuis des serveurs distants via SFTP","Navigation intégrée dans l’arborescence des fichiers distants","Aucune dépendance à un service cloud tiers"],"keywords":["Flutter","Dart","SSH / SFTP"],"url":"https://pub.dev/packages/sftp_video_player"}]}}