About Me
Hi, I'm Xavier and I live in Boston. I currently work in the e-commerce space, building tools to make stores fast, accessible, and well-tested. In my free time, I like to play board games, try new foods, and fiddle with my dotfiles.
I also help run bostonts.club, a monthly meetup for all things TypeScript and web development.
You can reach me at [email protected], or find me on GitHub and LinkedIn.
Projects
-
himalaya-nvim
February 2026 – Present
An email client that runs inside Neovim. Threaded message lists, structured per-field search, in-buffer composing with auto-saved drafts, background sync, and an extensible hooks system. Picker integrations (telescope, fzf, native) and a mock mode for trying it without a real account. Heavily modified fork of pimalaya/himalaya-vim with 90%+ test coverage in CI.
Lua, Neovim, Nix
https://github.com/xav-ie/himalaya-nvim -
virtual-headset
December 2025 – Present
A virtual HID headset device driver in Rust. Forwards the mic through PipeWire on a keyboard mute toggle and exposes a D-Bus control surface plus a Home Manager module for Waybar integration.
Rust, PipeWire, D-Bus, Nix
https://github.com/xav-ie/virtual-headset -
dots
September 2023 – Present
My NixOS configuration and self-hosted homelab. Runs Traefik, Cloudflare Tunnel, and a half-dozen services via quadlet-nix, plus dozens of small per-machine packages I keep tucked away in here.
Nix, NixOS, quadlet-nix, Traefik
https://github.com/xav-ie/dots -
nuenv
July 2025 – Present
A Nushell environment for Nix derivations. I forked the original after it went unmaintained to keep it usable and add features like environment binding.
Nushell, Nix, Bash
https://github.com/xav-ie/nuenv -
browser-session-mcp
April 2026 – Present
An MCP server that gives each caller an isolated browser session against a shared persistent Chrome, and captures every console + network event to disk losslessly regardless of MCP transport churn. The session is a tool argument, not a transport concept — so sessions survive reconnects.
Rust, Puppeteer, MCP
https://github.com/xav-ie/dots/tree/main/packages/browser-session-mcp -
xnixvim
January 2024 – Present
My Neovim config managed entirely through Nix via nixvim. Reproducible across machines, modular, and shaped around how I actually work in TypeScript, Rust, and Lua.
Nix, nixvim, Lua, Neovim
https://github.com/xav-ie/xnixvim -
SpooKeyBoard
June 2024
A small Python tool that reads ANSI escape sequences over SSH and replays them as keystrokes on the receiving machine via Linux uinput — essentially a remote keyboard pipeline.
Python, uinput, ANSI escapes
https://github.com/xav-ie/SpooKeyBoard
Open-Source Contributions
- atuinsh/atuin Brought Nushell support to `atuin hex` and OSC 7 cwd mirroring
- agentstation/vhs Fixed SVG animation timing
- korotovsky/slack-mcp-server Integrated the Slack reactions API
- nolanderc/glsl_analyzer Created a CLI formatter
- catgoose/nvim-colorizer.lua Added oklch color highlighting
- Alexays/Waybar Fixed audio visualizer bugs
- lewis6991/gitsigns.nvim Fixed blame text overflow
- fzakaria/nix-auto-follow Fixed dependency duplication bugs
Art and Doodles
-
Smart Rockets
May 2020
Little rockets 'learn' to hit a target through a genetic algorithm. Each generation is mutated from the fittest rockets of the last. Adapted from a Dan Shiffman tutorial.
JavaScript, p5.js
/projects/smart-rockets -
Moiré Effect
August 2018
Two sets of horizontal lines rotated against each other. The vertical lines that appear are an optical illusion — the Moiré effect.
JavaScript, p5.js
/projects/moire-squares -
Binary Numbers
March 2019
A binary representation of a number, with the decimal in the center. Mouse events shift the bits left and right, or you can type a decimal and watch it convert.
JavaScript, p5.js
/projects/binary-numbers -
Pong
May 2019
Two-player Pong. WASD for player one, arrow keys for player two.
JavaScript, p5.js
/projects/pong -
Raycasting
May 2019
A raycasting demo following Dan Shiffman. Not original work, but a satisfying one to step through.
JavaScript, p5.js
/projects/raycasting