Relier les systèmes métier
API, données CRM et processus récurrents. Définir la source de référence, gérer les doublons et rendre les erreurs visibles.
Shaaf · Ingénieur logiciel · Royaume-Uni, en télétravail partout dans le monde
Je conçois et développe des intégrations, des outils internes et des processus intégrant l’IA. Services Python, interfaces React et traitement des données, avec des démonstrations exécutables et des résultats vérifiables.
Python · SQL · FastAPI · TypeScript · React · Ingénierie des données · Intégration IA et LLM · n8n · Docker · Linux
Présentez le processus actuel, les outils et le résultat attendu. Nous convenons d’un premier jalon utile, puis développons selon des critères d’acceptation explicites.
API, données CRM et processus récurrents. Définir la source de référence, gérer les doublons et rendre les erreurs visibles.
Outils internes, tableaux de bord et applications web avec une interface utilisable et des résultats contrôlés.
Traitement de documents, recherche de connaissances et fonctions reliées aux outils, avec évaluation ciblée et documentation de prise en main.
Projets choisis
Des projets personnels, avec des données synthétiques de démonstration clairement identifiées. Découvrez le laboratoire, l’application web et les résultats de traitement des données.
JavaScript · State machine · Idempotency · Recovery
Une démonstration exécutée dans le navigateur : identité des événements, file de tâches et connecteur CRM simulé. Testez un doublon, un délai dépassé, une écriture interrompue ou une erreur permanente. Inspectez l’état et téléchargez la trace.
TypeScript · React · FastAPI · pytest · Playwright · CI
Une petite application web de commandes avec une API JSON en Python, SQLite et un front-end en TypeScript strict, reconstruite en React 19 et sur un serveur FastAPI. Les mêmes tests d’API, de base de données et de navigateur jugent chaque version.
Python · PDF · XML · OCR · Qualité des données
Jeux de données synthétiques de factures, clients et ventes transformés en résultats contrôlés. Ce sont des démonstrations avec recomptage indépendant, pas des missions clients.



Python · Données web · Données structurées
Répond en code à « quel est le prix le plus bas, et qui le vend ? » : trouve les boutiques, lit les données produit structurées, sépare les prix hors TVA et dans d'autres devises, et respecte robots.txt.
Python · Registres publics · Validation des données
A vérifié une liste d'entreprises britanniques auprès de Companies House et sur leurs propres sites avant tout contact, selon les règles britanniques PECR. Les recherches dans les registres couvrent aussi la France (Sirene) et l'Australie (ABN).
Python · Recherche · Sources officielles
Recherche dans la langue de chaque pays, lit les pages et PDF officiels, note chaque source et cite chaque résultat avec son lien.
Swift · SwiftUI · macOS
Une application de barre de menus qui réunit les e-mails de 3 comptes, les alertes, les validations et le travail terminé dans un seul panneau.
Debian · Docker · n8n
Un serveur toujours actif avec des flux n8n, un moteur de recherche privé (SearXNG), un service de surveillance et un serveur de modèles locaux.
La plateforme
Un projet indépendant reliant tâches persistantes, outils, recherche documentaire et vérification. J’y étudie l’orchestration, la reprise après incident et la transformation des sorties de modèles en résultats contrôlés. Les chiffres ci-dessous proviennent d’expériences précises et enregistrées.
Transforme une demande en étapes et exécute chaque étape avec un outil. Chaque résultat est enregistré avec une somme de contrôle, si bien que toute réponse peut être rattachée à ce qui a été lu.
26 outils derrière un seul registre : recherche web, lecteurs de pages et de PDF, OCR, registres d’entreprises, prix, tableaux, fichiers et agenda. Chaque outil déclare ce qu’il peut faire, et l’envoi d’un e-mail attend la validation d’une personne.
Le code extrait des enregistrements de chaque résultat d’outil. Un fait dans une réponse ne tient que si un seul enregistrement contient à la fois sa valeur et ce qu’il décrit : un chiffre interverti ou inventé est refusé.
Quand le code peut répondre, aucun modèle n’est sollicité. La comparaison de prix, la vérification d’entreprises, les comptages et le travail sur tableaux tournent comme des méthodes fixes ; une vraie question de prix au Royaume-Uni a pris 49 secondes.
Un moteur de recherche sur 83 589 passages de documentation technique, qui combine le classement par mots-clés et les embeddings vectoriels, et un moteur de recherche qui interroge chaque pays dans sa propre langue.
Un superviseur relance le travail en échec avec des pauses de plus en plus longues entre les essais. Les tâches attendent la fin des coupures internet au lieu d’échouer, et arrêter, mettre en pause et reprendre s’appliquent au tour suivant.
Les tâches lourdes ne démarrent que si la mémoire, la chaleur et la batterie le permettent. Si l’utilisateur lance un jeu, la tâche en cours s’efface aussitôt et reprend ensuite.
Le code est privé. Je le présente en entretien et peux partager les sources sous accord de confidentialité.
Résolution de problèmes
Enquêtes techniques sélectionnées : défaillance observée, réparation et contrôles enregistrés.
Compétences
Des compétences larges et concrètes sur toute la pile, chacune mise en œuvre dans un projet réel présenté plus haut.
Services Python et API REST (aussi avec FastAPI) avec stockage SQL, et front-ends typés en TypeScript et React. Avec reprises, idempotence et gestion des pannes.
Des données désordonnées transformées en résultats propres et vérifiés : nettoyage, dédoublonnage, validation, rapprochement, extraction de PDF et de XML, OCR et rapports.
Des agents qui utilisent de vrais outils étape par étape, des modèles locaux et embarqués, la recherche d’information et l’évaluation sur des tests réservés, avec du code qui vérifie chaque réponse.
Des flux de travail et des intégrations qui relient systèmes et sources de données de façon fiable, y compris la collecte respectueuse de données web et les registres publics.
Des tests automatisés à chaque niveau, des tests de régression écrits à partir de vraies pannes et des contrôles de mise en production qui bloquent une version défaillante.
Services toujours actifs : supervision et redémarrages, contrôle d’admission, contrôles de mise en production avec retour arrière, surveillance, traces, conteneurs et sauvegardes.
Une application macOS native en Swift et SwiftUI, ainsi que des outils en ligne de commande pour l'OCR, la reconnaissance vocale et Core ML sur l'appareil.
Circuits de validation, listes de commandes autorisées, isolement des processus, journaux d’audit signés et un coffre de données fondé sur le consentement, plus la pratique de l’OWASP dans un labo isolé.
International
Mes projets traversent déjà les frontières. Je construis des logiciels qui traitent correctement les documents, registres, langues et devises d’autres pays, et je travaille à distance avec des équipes partout.
À propos
Je suis un ingénieur logiciel autodidacte basé au Royaume-Uni. Depuis mi-2026, j’ai conçu, construit et j’exploite en indépendant la plateforme présentée plus haut, ainsi que les projets qui l’entourent.
Vorthryss est mon activité indépendante d’ingénierie. Je conçois les idées et l’architecture, compare les approches et utilise des outils d’IA pour implémenter, critiquer et tester. Je reste responsable du périmètre, des choix de conception et des critères d’acceptation.
J’aime les problèmes où le logiciel rencontre le monde réel : des données en désordre, des documents d’autres pays, des machines qui redémarrent en pleine tâche. Je fais de petits changements testés et je note ce qui a changé et pourquoi.
Expérience
Principes
J’accompagne les changements de tests pertinents et j’en inspecte le résultat. Les versions permettent un retour arrière.
Quand quelque chose casse, je trouve la cause, je la corrige et je transforme la panne en test pour qu’elle ne revienne pas en silence.
Quand il n’y a pas de trace, j’écris « inconnu » plutôt qu’une supposition plausible.
Ce qui a changé, pourquoi, et la preuve à côté, pour que chacun puisse reprendre le travail.
Contact
Un processus à connecter, une application à terminer ou une fonction IA à fiabiliser ? Envoyez l’objectif, les technologies actuelles et un exemple du résultat attendu. Je suis aussi ouvert aux postes d’ingénierie logicielle à distance.