elcoosp

@elcoosp

TypeScript & Rust dev, with a taste for functional programming

Commit activity

1 commit in the last 24 hours

longest streak 1 daycurrent 1

35 / 50 XP15 XP to daemon

Louis Cospain

GitHub LinkedIn Email Location

Rust TypeScript Zig Contributions Repos

Rust engineer with a product-builder's track record. Eight years shipping TypeScript to production — six of them at Weenat (agri-tech, 10k+ IoT sensors, live on the App Store & Google Play). Since 2024 I have bet on Rust full-time and built everything in public: complete systems with specs, ADRs, test suites and CI — not tutorials.

November 2026 alone: 15 new repositories, spanning a UI compiler (ligature), a retained-mode GUI framework (alacer), a Zig JSX compiler (zsx), a parser toolkit (syntact), a Tailwind-to-native styling engine (aeolus), and a zero-copy BitTorrent toolkit (magnetite) — alongside sustained milestone work on glyim, oxide, pkr-sota, kod, and more.


Work Map

Compilers & Language Infrastructure

  • glyim — Research-grade compiler for a Rust-like language. Full pipeline: lexing → HIR/MIR → type inference & trait solving → NLL borrow checking → LLVM/bytecode. Backed by a readiness ledger that gates milestones and a glyim-metrics ratchet wired into CI.
  • ligature — UI compiler turning Solid TSX and Vue SFC into no_std Rust components. Byte-identical IR across both frontends; M10 adds per-mount identity and branch-time assembly.
  • syntact — Parser toolkit compiling grammar packages into lossless, error-recovering parsers, queries, and LSP servers. Pack LSP now shipped; grammar→descriptor compiler (descent-lower) landed.
  • zsx — JSX-like view syntax for Zig, compiled at comptime to native GUI code for dvui and nanoui. No runtime parser; playgrounds for both adapters.

UI Frameworks & Reactive Systems

  • oxide — Framework-agnostic full-stack meta-framework with a Rust core. React, Vue, Svelte, and Solid over one shared engine. F04 substrate milestone landed: experiments config section, assignment engine, criterion benches.
  • quoin — Framework-agnostic reactive abstraction layer for Rust. Signals and effects that run across GPUI, Leptos, Dioxus, Xilem, or Floem.
  • flux — Write-once UI language for native iOS & Android. Hot-reload as binary IR patches over WebSocket; release builds compile to SwiftUI & Jetpack Compose. 16 crates · ~63k LOC Rust · 39 ADRs; Astro Starlight docs site scaffolded.
  • alacer — Retained-mode Rust GUI framework with accessibility built in. Only dirty subtrees relayout or repaint. M9 windowed a11y scope: 47-case corpus, a11y-ratio budget, action tier in the dispatch contract.
  • aeolus — Tailwind CSS v4 class strings compiled to native properties for Xilem/Masonry, Floem, Iced, egui, and Slint. No Node, no CSS build step. v0.8 merged; v0.9 variant & grid engine planned.
  • tuvix — Terminal UI framework where input preempts rendering. Budgeted frames, zero-alloc diffing, built-in time-travel debugging. M18 adds SurfaceStack floating-surface routing.
  • nexum — Framework-agnostic deep linking for Rust desktop apps. Custom URL schemes and OAuth callbacks across Windows, macOS, Linux, Android, and iOS.

Developer Tools & Systems

  • kod — Local-first AI coding-agent harness (TUI + CLI). Streaming agentic loop, multi-agent swarm, MCP & LSP clients, sandboxed shell. v0.1.28 · 20 crates · ~4000 tests; auto-regenerated changelog pipeline.
  • wraith — High-performance in-memory PNG → optimised SVG vectorizer. v0.2.0 adds a sub-pixel geometric colour engine, redesigned settings, and a ground-truth quality harness gated in CI.
  • magnetite — Zero-copy BitTorrent metadata toolkit. v0.2.0 ships the BEP 15 UDP tracker client, span-tracking bencode decoder, and raw-slice infohash derivation. No unsafe, no async runtime.
  • pkr-sota — End-to-end heads-up NLHE poker AI in Rust. CFR blueprint training, mmap runtime, nanosecond lookups. p50 ≈ 42 ns · 460+ tests

Applications & Platforms

  • vautr — Zero-knowledge password manager: OPAQUE authentication + Argon2id, offline-first sync. Rust core · React / Expo / GPUI clients · AGPL
  • stackbluff — Multiplayer poker platform: sub-10ms Rust engine, AI coach, bots, anti-cheat, clubs & tournaments, Stripe billing.
  • takumi-motion — Deterministic server-side animation engine rendering React components or HTML to GIF, WebP, or APNG.

Created in November 2026

Repositories created between Nov 3–7, 2026, per the public activity feed:

Compilers & parsing — ligature · zsx · syntact GUI & native UI — alacer · aeolus · guiwright Systems & tooling — magnetite · wraith Other — catheo · tuvix · peregrine

All public and active as of Nov 8, 2026.


How I Work

  • Spec before code — flux carries 39 MADR ADRs plus a full wire-protocol & VM-ISA spec; kod ships SPEC, ARCHITECTURE and TESTING documents; oxide maintains strict spec-vs-code deviation docs.
  • Tests are the design review — cargo-nextest, proptest, insta snapshots, criterion performance budgets (parse < 5 ms, diff < 1 ms, VM eval < 2 ms); ~4000 tests across kod's crates; Miri-clean core crates in pkr-sota.
  • CI like it's production — clippy -D warnings, #![forbid(unsafe_code)] in every library crate, fuzzed wire protocol, mutation testing, parity harnesses, golden-hash and allocation-budget CI gates (dhat in syntact), metrics ratchets (glyim).
  • AI-augmented, engineer-owned — I ship daily with AI & MCP, and I built my own harness (kod) to keep the loop local, sandboxed, and auditable.

Currently (November 2026)

  • glyim — Readiness ledger v1 foundation landed (M1.1 schema + check). New glyim-metrics crate with a TDD ratchet, plus a dedicated CI metrics-ratchet job and PR body. M0 pedantic lint/doc pass across the tool crates, M0.6 baseline recorded, stable toolchain pinned for local dev, session handoffs archived.
  • oxide — F04 substrate milestone closed: experiments config section types with DSP-110 validation, the §15.4 assignment engine in dispatch, criterion benches for assign/resolve, and blake3 added for the engine. Workspace lints policy adopted pedantic across the config crate; checked-in config schema regenerated; worklog, deviations and handoff docs appended.
  • pkr-sota — Runtime correctness sweep: session shadow/gadget routing, mmap ordering warning, masked ranges, bot-pipe contract. Export gains v2 anchor offsets, deterministic FMph and directory fsync; exploit evaluation decorrelates seeds with CRN for LBR; core gets a short all-in guard and uncalled-bet return. FNV-1a known-answer vectors added, fuzz seeds domain-separated, scripts made portable (signal forwarding to the process group, per-version lock), scattered docs synthesized into ARCHITECTURE / STATUS / HISTORY.
  • kod — v0.1.28 shipped (162 commits since v0.1.27): clippy warning cleanup campaign, MSRV bump, LICENSE normalization, publish workflow. Changelog workflow rewritten to prepend only the new release and auto-regenerate on tag push. README command list, test count, minisign reference and site version corrected; stale docs removed.
  • ligature — M10 per-mount identity and branch-time assembly merged. M9 delivery report and ADR-022 for component-in-content and nested outlets; slots-component and slots-nested fixtures with canonical IR for both Solid and Vue inputs; codegen_composed budget ceiling registered in the CLI ledger.
  • syntact — Pack LSP epic (issue 042) closed: pack registry, document model with prebuilt view caches, positioned tree-index outline builder, state-machine dispatch, stdio loop generalized over a Handler trait, and a pack-lsp CLI subcommand. Dhat allocation budget gates and editor-facing hot-path benchmarks added; the pack LSP book chapter authored. The grammar→descriptor compiler (descent-lower) landed.
  • zsx — DVUI playground stabilized: scrollArea wrapper, window sizing for large displays, skeleton margin/background fixes, corner-radius handling. Snapshot tests write to docs/screenshots with the corrected @TypeOf(.enum_literal) logFn signature and auto-downscaling. Nanoui 15-component playground render captured; DX docs rewritten for the v0.1.0 single-pipeline reality.
  • alacer — M9 windowed accessibility: selection model joins the editing and a11y contracts, action tier joins the dispatch contract (ADR-0016); windowed path drains the pipeline's own sink; 47-case corpus with an a11y-ratio budget; 32 blessed PNGs across the two suites; frame-batched input queue documented (ADR-0015).
  • aeolus — v0.9 variant & grid engine plan filed; variant engine documented beside the set-mask; RED-to-GREEN and test-pyramid hardening records written. v0.8 merged (set-mask + variant engine + pyramid); shadcn oracle-fidelity ledger pinned; process-level CLI end-to-end suite; snapshot header and set-mask round-trip re-pinned at schema v3.
  • tuvix — M18 SurfaceStack floating-surface routing plus the B21 stacked-composite bench; M17 dropdown composite (dropdown_rows) with the B20 gate; L5/L6 surface-stack benches. memgate realloc delta sign fixed so shrinks release bytes; repository metadata corrected.
  • nexum — Platform target-gating sweep across unix paths, macOS targets, and Xilem/Leptos/Dioxus/Floem registration tests; MSRV bumped to 1.86; cargo-deny licenses extended for the quick-xml advisory; libxdo-dev added to CI; internal doc link paths corrected.
  • magnetite — v0.2.0: BEP 15 UDP tracker client with compact peers, span-tracking bencode decoder, and raw-slice infohash derivation; tracker packet proptests and benchmarks; error taxonomy gains a Tracker variant.
  • wraith — v0.2.0: sub-pixel geometric colour engine (M1–M5), settings redesigned into engine/color/background with alpha as a first-class background policy, ground-truth quality harness with a CI baseline gate, palette and path counts in reports, CLI presets exposed.
  • flux — Astro Starlight docs site scaffolded: homepage, first-app tutorials, 11 how-to guides, 7 API reference pages, 5 explanation pages, plus docs-site ADRs. ISA vector cleanup moved list insert/remove to literal-index bytecode and dropped the reverted NaN and register-index vectors; iOS host reverts (component-name wiring, FLUX-066 perf harness, snapshot full store).

Open To

Rust engineer roles — backend, systems, product, or security-adjacent. France (Nantes / Paris) or remote. I want a long-term product team where I own features end-to-end and keep shipping. Bonus points if the roadmap touches compilers, real-time, developer tooling, reactive systems, or applied crypto — that is where my public work lives.

elcoosp@gmail.com


Stack

Rust TypeScript React React Native Expo Next.js Node.js Spring Boot PostgreSQL Docker Kubernetes AWS

Rust ecosystem, in anger: tokio · axum · clap · ratatui · redb · blake3 · MessagePack · proptest · insta · criterion · cargo-nextest · dhat · OpenTelemetry · hyper · rustls · Oxc · Rolldown

elcoosp/README.md on GitHub