Hey 👋
I'm Jean-Charles, a software developer with 20 years of professional experience. I specialize in functional programming and systems programming, currently working mainly in Haskell, Rust, and Nix.
Check out my website for articles and more, or my CV for my full experience.
I maintain a few packages in nixpkgs.
- mprisqueeze: MPRIS interface for
squeezelite. Daily driver. Uses D-Bus, HTTP, async.
- mqttooth: MQTT to Bluetooth Low
Energy bridge (Zigbee2MQTT → BLE Environmental Sensing). Runs on Raspberry
Pi.
- diverk: Android app to browse GitHub repositories, built with Reflex (FRP).
- htagcli: Command line audio tagger and music organizer.
- systranything: Put anything in
your system tray from a YAML file.
- hscalendar: Time tracking webapp, Haskell backend + Elm frontend, deployed with Docker.
- bigball: Dependency graph for Visual Studio solution files.
- circuix-sword: NixOS in a Gameboy shell. DIY retro handheld based on a Raspberry Pi CM3.
- pomodozig: Terminal pomodoro timer in Zig.
- ghcid-error-file.nvim: Fast feedback loop with ghcid or ghciwatch.
- fugitive-difftool.nvim: Diff branches in [neovim] with fugitive.
- advent-of-code-2023: Advent of Code 2023 solutions in Rust.
- minihasklisp: Minimalist Lisp interpreter in Haskell.
- wolfram: Elementary cellular automaton.
- reflex-tutorial: The official tutorial for reflex along a few other interesting examples.
- your-hand-in-mine: Piano transcription of an Explosions in the Sky adaptation.



