Open source
Tout ce qui figure ici est vérifiable. Contrairement au travail pour les clients présenté dans les références, le code source est ouvert et l’historique consultable.
Articles
Sept mois à la recherche d’un éditeur
De VS Code à Zig, en passant par les éditeurs en terminal et gpui. Onze tentatives avec huit bibliothèques d’interface, et pourquoi les limites des outils d’un agent IA doivent être inscrites dans le code.
Un agent IA teste mon éditeur sans fenêtre
Développement piloté par les tests d’une application de bureau native : mode headless, JSON-RPC comme télécommande et captures d’écran que l’agent regarde lui-même.
Photographier une facture, vérifier les données
Lire des factures de garage avec Mistral : OCR et schéma en deux étapes, contrôle dans le code et un garde-fou contre les messages de réussite sans appel d’outil.
Trois programmes ou un programme maison
Pourquoi j’ai construit moi-même mon archivage de documents avec OCR, tags et chat, plutôt que de relier trois programmes, et quand Paperless-ngx est aujourd’hui le meilleur choix.
Contributions à des projets tiers
Cobenian/shai-hulud-detect
Six modifications acceptées dans un outil de détection des attaques de la chaîne d’approvisionnement npm : fonctionnement sous Git Bash et WSL, fins de ligne Windows, deux corrections de la détection d’exfiltration de données.
Projets personnels
Zig
zid
Éditeur de code avec sa propre interface : wgpu, limité au backend Vulkan dans le moteur de rendu, Clay pour la mise en page, atlas de glyphes et rendu de texte GPU maison via FreeType. Le stockage du texte vient de flow-core, la coloration syntaxique de flow-syntax, le terminal de Ghostty, le PDF de mupdf. Avec un agent intégré qui s’appuie sur un modèle de langage local.
Rust
freshview
L’éditeur en terminal Fresh utilisé comme bibliothèque dans une interface egui, avec aperçu PDF et images via mupdf dans des fenêtres flottantes.
Rust
neoview
Neovim intégré dans une interface gpui, le framework derrière Zed.
Rust
editor-framework
Base d’un éditeur sur gpui, avec Lua pour les plugins.
V
v-gui-editor
Prototype d’éditeur dans le framework GUI du langage V, avec explorateur, barre d’onglets et barre d’état.
Rust
shai-hulud-detect-rust
Version Rust de l’outil de détection dont j’ai co-maintenu l’original en Bash.
Rust
agent-session-manager
Gestionnaire de sessions pour Claude Code dans le terminal.
TypeScript
wartungsheft
Carnet d’entretien pour voitures en PWA avec Vue 3 et InstantDB auto-hébergé. Les factures de garage, permis de circulation et carnets d’entretien sont photographiés et lus via Mistral.
TypeScript
ai-proxy
Garde une clé de modèle côté serveur, compte l’utilisation et applique les limites des forfaits.
TypeScript
dms
Archivage de documents avec Vue 3 et Supabase : Mistral OCR, tags et champs par modèle de langage, recherche hybride avec pgvector et un chat citant ses sources sur tous les documents.