SYS · kaleche.dev v2026.1
STATUS / available SLOTS / 2 missions max LOC / Occitanie · remote
Disponible · prend 2 missions en parallèle

Logiciel sur mesure, infrastructure IA, optimisation.

kaleche.dev — ingénieur logiciel et recherche opérationnelle. Solveurs d'optimisation, middleware d'infrastructure IA en Rust, applications métier en Python / TypeScript / .NET.

~/kaleche-dev — bash
Bienvenue sur kaleche.dev. Tape help pour la liste des commandes.
$ whoami
→ Ingénieur RO · builder full-stack · Rust · Python · TypeScript
$ availability
✓ open · 2 missions max · remote ou Occitanie
$
Contributions upstream  ·  vérifiables  ·  registre complet →
001 / Profil

Ingénieur logiciel & recherche opérationnelle.

Formé à la recherche opérationnelle, je travaille à l'intersection de la modélisation, du logiciel applicatif, et de l'infrastructure IA.

En pratique, je construis des logiciels. Solveurs d'optimisation (CP-SAT, MILP), middleware d'infrastructure IA en Rust, agents et applications en Python / TypeScript / .NET.

Missions ponctuelles ou forfait : audit, conception, implémentation, déploiement.

04
Domaines d'intervention — logiciel, infra IA, agents, RO
05
Stacks principales — Rust, Python, TS, C#, Go
FR · EN
Missions à distance · Occitanie · Europe
002 / Expertises

Domaines d'intervention.

[ 01 ] LOGICIEL

Développement applicatif sur mesure

SaaS B2B, outils internes, applications desktop, APIs. Architecture pragmatique, tests qui servent à quelque chose, observabilité dès le jour 1.

PythonTypeScript.NET FastAPINext.js
[ 02 ] INFRA IA

Middleware LLM

Proxies, rate-limiting, validation vectorielle. Rust, gRPC.

RustTonicQdrant
[ 03 ] AGENTS

Systèmes IA multi-outils

RAG, agents Telegram/web, extraction structurée, orchestration.

RAGVisionChromaDB
[ 04 ] OPTIMISATION

Recherche opérationnelle appliquée

Modélisation et résolution de problèmes combinatoires : planning, allocation, ordonnancement, tournées. Du cahier des charges à la production.

OR-ToolsCP-SATMILP HeuristiquesGurobi
[ + ]

Méthode

Cadrage clair en début de mission. Itérations courtes. Tests qui couvrent les cas pénibles, pas les heureux. Documentation au fur et à mesure, pas en fin de mission.

AuditSpecBuild DeployHandover
003 / Playground

Démos en direct.

De la recherche opérationnelle qu'on peut voir tourner. Algorithmes implémentés en JavaScript pur, dans ton navigateur, sans serveur.

tsp-solver · 2-opt iterative
idle
villes— distance— itérations— amélioration—
vrp-solver · sweep + 2-opt · Sète & périphérie
idle
clients— véhicules— distance totale— utilisation moy.—
scheduler · greedy + repair · planning hebdo
idle
employés— slots21 violations dures— équilibre (σ)—
rust → wasm benchmark · vector ops · 15 KB binaire
prêt
Ce que ça prouve : un pipeline Rust → WASM → browser opérationnel, en 15 KB binaire. Le code Rust ci-dessous a été compilé avec wasm-pack --release et tourne réellement dans ton navigateur en WebAssembly.
JavaScript
—
Rust → WASM
—
lance le benchmark
rust rust-bench/src/lib.rs · compilé avec wasm-pack --release · LTO fat

        
sudoku · backtracking + MRV · clique une case et tape un chiffre
idle
cases fixes— cases résolues— backtracks— temps—
embeddings · MiniLM-L6 · 384 dim · WASM in-browser
à charger
référence— dim originale384 projectionMDS 2D latence inf.—
004 / Projets

Projets sélectionnés.

PROJ_001
Rust · Paiements agentiques · x402
RustalloyEIP-712Base Sepolia

x402-batch-settlement — implémentation Rust

Implémentation Rust de x402 V2 batch-settlement — le protocole de paiements programmatiques par requête utilisé pour facturer les appels d'agents IA. Démo closed-loop sur Base Sepolia, golden vectors byte-exact vs viem sur la dérivation channelId et le digest de voucher.

Public et vérifiable : github.com/Adelagric/x402-batch-settlement. Incohérence de spec signalée en amont (issue #2323), depuis corrigée dans la spec.

EIP-712 typed-data · golden vectors · routeur LLM × x402
PROJ_002
Rust · Systems · byte-exact
Rustcrates.iocross-platformCI

vivacity — Composer réimplémenté en Rust

composer install / update réécrits en Rust : à partir des mêmes composer.json / .lock, produit le même vendor/ et le même lock, byte-for-byte que Composer 2.10.3 — sans exécuter PHP. Sur un corpus de 106 projets réels (Laravel, Symfony, Sylius, Drupal…), 75 sur 106 installés nativement à l'octet près, le reste délégué à Composer avant écriture — zéro différence.

Publié sur crates.io, installeur cross-platform sha256, GitHub Action. github.com/Adelagric/vivacity — 21★. Intégré par ePHPm comme commande ephpm composer (ephpm/ephpm #523). luthermonson (mainteneur d'ePHPm) a contribué 4 PR : support Windows, backend TLS sélectionnable, parallélisation, extraction 100 % Rust.

équivalence byte-exact vs référence · Linux/macOS/Windows
PROJ_003
Recherche opérationnelle · Génomique
RustOCSmatrix-freesolveur exact

ocs-rs — solveur d'optimum contribution selection

Solveur exact, matrix-free, support-first pour l'optimum contribution selection en génomique — un problème d'optimisation sous contrainte (maximiser le gain génétique en bornant la consanguinité). RO appliquée à la sélection animale/végétale, en Rust. À un point de fonctionnement d'éleveur, l'ensemble actif est 12–132× plus rapide qu'optiSel (l'outil exact de référence), pour une solution qui coïncide.

github.com/Adelagric/ocs-rs  ·  DOI 10.5281/zenodo.20746987

optimisation quadratique sous contrainte · sans matrice dense · 12–132× vs optiSel
PROJ_004
LiDAR · Anthropométrie
LiDARPythonOpen3DNumPy

LiDAR & nuages de points 3D

Maîtrise de la chaîne de traitement 3D : capture LiDAR, recalage, segmentation, extraction de repères anthropométriques. Pipeline reproductible, tolérances mesurables.

Démo synthétique ci-dessous — silhouette générée procéduralement.

nuage synthétique · 8 192 points · drag pour orbiter
capture · recalage · segmentation · Open3D / NumPy
PROJ_005
Infra IA · Rust
RustTonicgRPCQdrant

vector-router — Middleware de validation d'embeddings

Couche gRPC placée devant les bases vectorielles (Qdrant) qui valide la dimensionnalité, normalise les vecteurs, et empêche la corruption silencieuse des indices de similarité. Métriques RED, contrats versionnés.

Open source (Apache 2.0) — github.com/Adelagric/vector-router.

protobuf vector_router/v1/router.proto
// Upsert et Search partagent la même validation + normalisation ;
// seule l'opération Qdrant finale diffère.
service VectorRouter {
  rpc Upsert(UpsertRequest) returns (UpsertResponse);
  rpc Search(SearchRequest) returns (SearchResponse);
}

message UpsertRequest {
  string model_id  = 1;  // déclaré dans le registre serveur
  string point_id  = 2;
  bytes  vector    = 3;  // f32 little-endian, len = dim * 4
  uint32 dim       = 4;  // contrat explicite, validé vs model_id
}
zéro-allocation hot path · clients Python & TypeScript
PROJ_006
Infra IA · Rust
RustHTTPgRPCPrometheus

llm-sentinel — Proxy d'authentification LLM

Illustration · pas de dépôt public

Proxy qui s'intercale devant les fournisseurs LLM pour authentifier les appelants, limiter les taux par tenant, et compter les tokens. Observabilité Prometheus native, multi-tenant, streaming.

Un garde-fou posable en quelques heures devant un fournisseur LLM.

prometheus /metrics · exemple illustratif
# HELP llm_requests_total LLM API requests by tenant and provider
# TYPE llm_requests_total counter
llm_requests_total{tenant="acme",provider="openai"} 142371
llm_tokens_in_total{tenant="acme"}   4827193
llm_tokens_out_total{tenant="acme"}  891244
llm_rate_limit_hits{tenant="acme",window="1m"} 17

# Latency p50/p95/p99 — Rust + Tokio, no allocations on hot path
llm_request_duration_seconds{quantile="0.50"} 0.083
llm_request_duration_seconds{quantile="0.95"} 0.412
llm_request_duration_seconds{quantile="0.99"} 1.205
multi-tenant · streaming · backpressure
PROJ_007
Vision IA · Comptabilité
FastAPIGPT-4oPydanticpytest

Lumen — Extraction structurée de factures

Mission client · dépôt privé

API qui transforme une facture ou un avoir PDF en JSON métier calibré, avec score de confiance par champ. Calibration mesurée, fallbacks documentés. Conçu pour des cabinets d'expertise comptable.

Vision LLM utilisée chirurgicalement, pas comme une boîte noire.

confiance calibrée · fallbacks structurés · audit trail
005 / Recherche

Publication & code reproductible.

Auteur · ORCID 0009-0005-7566-1422

Preprint · 2026 · CC-BY 4.0

How fine a change can moments see? A scale law for detecting distribution shift, with a kernel calibration rule

Une loi d'échelle : certifier un détail d'échelle spatiale ε portant une fraction de masse f demande des tests de moments de degré N* ≳ log(1/f)/(2ε). Face à un adversaire construit pour tromper les moments d'ordre fini, un test à noyau (MMD) à bande passante bien calibrée est le seul à détecter — et une règle de calibration prédit cette bande passante. Empiriquement : AUC ≥ 0.95 avec bande passante pilotée par les données ; la kurtosis y fait au moins aussi bien que l'homologie persistante.

distribution shiftMMDkernel bandwidth persistent homologyembeddingsscale law
006 / Stack

Stack technique.

Langages

  • Rust
  • Python
  • TypeScript
  • C# / .NET 8
  • Go

Optimisation

  • OR-Tools
  • Gurobi · CPLEX
  • Heuristiques
  • Métaheuristiques
  • MILP

IA & données

  • RAG · ChromaDB
  • Qdrant · pgvector
  • Cross-encoders
  • Vision LLM
  • Tool use

Infra

  • Docker · K8s
  • gRPC · Tonic
  • FastAPI · Next.js
  • Postgres · Redis
  • Prometheus
RustPythonTypeScriptOR-Tools CP-SATFastAPINext.jsgRPC TonicQdrantOpen3DLiDAR RAGVision LLMPrometheusPostgres RustPythonTypeScriptOR-Tools CP-SATFastAPINext.jsgRPC TonicQdrantOpen3DLiDAR RAGVision LLMPrometheusPostgres

Un problème complexe à résoudre en code ?

Premier appel gratuit pour cadrer le besoin et savoir si je suis le bon profil. Optimisation, infra IA, agents, applicatif métier — si c'est calculable, on en discute.