# Open-source projects

> Public projects, forks and archived experiments by Antoine Boucher, with source links and a dated GitHub snapshot.

- HTML page: https://antoineboucher.info/CV/blog/projects/
- Language: en
- Translation (fr): https://antoineboucher.info/CV/blog/fr/projects/index.md

Each entry links the HTML page and its Markdown view (append `index.md` to the URL).

- [WearTrailsExperiments: contact-driven wear trails in the browser](https://antoineboucher.info/CV/blog/projects/notes/weartrailsexperiments/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/weartrailsexperiments/index.md) · 2026-11-05
  three.js and Ammo.js experiments that turn rigid-body contact, traction and sliding into wear, sliding-distance and flow maps on a ground texture.
- [WearSurfacesDatasets: measured wear-surface sequences](https://antoineboucher.info/CV/blog/projects/notes/wearsurfacesdatasets/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/wearsurfacesdatasets/index.md) · 2026-11-05
  GelSight surface maps of materials worn under controlled grit, load and distance, packed as Parquet and WebDataset, with alignment tools and a WebGPU viewer.
- [WearMachine: CAD files for a GelSight wear bench](https://antoineboucher.info/CV/blog/projects/notes/wearmachine/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/wearmachine/index.md) · 2026-11-05
  STEP, STL, DXF and drawing files for a small sliding-wear rig: rail, pusher, weight holders and GelSight sample holders.
- [WearBlender: Blender scenes for wear effects](https://antoineboucher.info/CV/blog/projects/notes/wearblender/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/wearblender/index.md) · 2026-11-05
  Example Blender files showing edge wear, scratches, rotated normal maps, flow maps and painted wear with shaders and geometry nodes.
- [TradingViewBuilder: Pine Script indicators and strategies](https://antoineboucher.info/CV/blog/projects/notes/tradingviewbuilder/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/tradingviewbuilder/index.md) · 2026-11-05
  TradingViewBuilder collects Pine Script indicators and strategies (EMA, MACD, RSI, Bollinger Bands, RVI …) to paste into TradingView.
- [Sport-Arbitrage: a sports-betting arbitrage calculator](https://antoineboucher.info/CV/blog/projects/notes/sport-arbitrage/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/sport-arbitrage/index.md) · 2026-11-05
  Sport-Arbitrage is a one-page calculator that checks odds from two betting sites for an arbitrage and computes stakes and guaranteed profit.
- [Simulateur: a Django stock-market simulation game](https://antoineboucher.info/CV/blog/projects/notes/simulateur/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/simulateur/index.md) · 2026-11-05
  Simulateur is a Django platform where admins script market scenarios and teams trade simulated stocks with live WebSocket prices.
- [SimilityVectorEmbedding: movie similarity with vector search](https://antoineboucher.info/CV/blog/projects/notes/similityvectorembedding/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/similityvectorembedding/index.md) · 2026-11-05
  Jupyter notebooks that embed a movie catalog and compare pgvector, Qdrant, BM25, Neo4j and a local LLM for finding similar films.
- [Salary: exploring Canadian salary guides and wage data](https://antoineboucher.info/CV/blog/projects/notes/salary/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/salary/index.md) · 2026-11-05
  Salary extracts Canadian salary guide PDFs and Job Bank wage tables with Python, then compares pay by job, province and region in notebooks.
- [PolyFEMBlenderPlugin: PolyFEM simulations from a Blender scene](https://antoineboucher.info/CV/blog/projects/notes/polyfemblenderplugin/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/polyfemblenderplugin/index.md) · 2026-11-05
  Blender 4.2 add-on that exports meshes and physics settings to a PolyFEM JSON file, runs PolyFEM through Docker and imports the results.
- [MarkokChainMonteCarlo: Monte Carlo and Markov chain backtests](https://antoineboucher.info/CV/blog/projects/notes/markokchainmontecarlo/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/markokchainmontecarlo/index.md) · 2026-11-05
  AlgoÉTS notebooks that simulate AAPL prices with Monte Carlo paths and a Markov chain, then backtest a strategy built on them against buy and hold.
- [LegosTracker: LEGO catalog data and set price history](https://antoineboucher.info/CV/blog/projects/notes/legostracker/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/legostracker/index.md) · 2026-11-05
  LegosTracker combines Rebrickable catalog exports, a Playwright scraper for BrickEconomy prices and notebooks that model LEGO set values.
- [Kelly_RM: Kelly criterion experiments for trade sizing](https://antoineboucher.info/CV/blog/projects/notes/kelly-rm/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/kelly-rm/index.md) · 2026-11-05
  Kelly_RM holds AlgoÉTS notebooks that simulate Kelly betting and estimate trade odds from RSI backtests to compute a Kelly fraction.
- [Workshop1: Python learning notebooks](https://antoineboucher.info/CV/blog/projects/notes/workshop1/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/workshop1/index.md) · 2026-10-24
  Workshop1 is an AlgoETS notebook series that moves from Python fundamentals and APIs to pandas, charts and an EMA exercise.
- [TrueMapData: height maps for metrology and graphics](https://antoineboucher.info/CV/blog/projects/notes/truemapdata/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/truemapdata/index.md) · 2026-10-24
  TrueMapData reads TrueMap and GelSight height maps, processes them and exports visual, surface and mesh-oriented results.
- [MistubaVideo](https://antoineboucher.info/CV/blog/projects/notes/mistubavideo/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/mistubavideo/index.md) · 2026-10-24
  MistubaVideo is an ETSim repository for video-related work with Mitsuba.
- [BatchBacktesting: comparable strategy runs](https://antoineboucher.info/CV/blog/projects/notes/batchbacktesting/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/batchbacktesting/index.md) · 2026-10-24
  BatchBacktesting runs Python backtests across instruments and keeps strategy assumptions and outputs visible.
- [AINewsTracker: Financial news analysis and backtesting](https://antoineboucher.info/CV/blog/projects/notes/ainewstracker/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/ainewstracker/index.md) · 2026-10-24
  AINewsTracker combines financial-news ingestion, AI analysis and market backtesting in a Python web application.
- [WordsEnigma: A word game across Redwood and Prisma](https://antoineboucher.info/CV/blog/projects/notes/wordsenigma/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/wordsenigma/index.md) · 2026-10-23
  WordsEnigma is a fork with separate Redwood web and API workspaces. Its data model links users, languages, word banks, games and individual guesses.…
- [uml-skill: Instructions with a small encoding fallback](https://antoineboucher.info/CV/blog/projects/notes/uml-skill/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/uml-skill/index.md) · 2026-10-23
  uml-skill packages diagram-writing instructions and a small Python helper. It is a skill bundle, not an MCP server or an image-generation model. The…
- [uml-mcp: From an MCP tool call to a diagram](https://antoineboucher.info/CV/blog/projects/notes/uml-mcp/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/uml-mcp/index.md) · 2026-10-23
  uml-mcp is an MCP server that turns diagram source from a chat into SVG or PNG through Kroki and four plugins, with an in-chat viewer, a render cache and fallbacks. Demo video, request pipeline and limits from the code.
- [TCH099: One PHP router for pages and API calls](https://antoineboucher.info/CV/blog/projects/notes/tch099/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/tch099/index.md) · 2026-10-23
  TCH099 is a demo PHP web app with a hand-written router, a session login API, an Android client and an Azure deployment guide, documented on its own GitHub Pages site.
- [switch-wifi: Separating network measurements from the UI](https://antoineboucher.info/CV/blog/projects/notes/switch-wifi/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/switch-wifi/index.md) · 2026-10-23
  switch-wifi is a Switch network dashboard with a Borealis interface. It separates portable metric calculations from the console application so that host…
- [SpringBootFilesUploader: file uploads, and a small server console](https://antoineboucher.info/CV/blog/projects/notes/springbootfilesuploader/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/springbootfilesuploader/index.md) · 2026-10-23
  A Kotlin Spring Boot 2.6 API that stores uploaded files in S3 or MinIO with metadata in MongoDB, behind JWT roles, and also drives Docker, Caddy and SSH. Structure, request flow and dependencies checked against the code.
- [sm64coopdx-switch-N3DS: Keeping a port behind platform interfaces](https://antoineboucher.info/CV/blog/projects/notes/sm64coopdx-switch-n3ds/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/sm64coopdx-switch-n3ds/index.md) · 2026-10-23
  This fork explores Switch and New 3DS targets for sm64coopdx. Shared game and co-op code sit above platform-specific graphics, audio and input. The…
- [Serilog.Sinks.SentrySDK: Adapting log events to Sentry](https://antoineboucher.info/CV/blog/projects/notes/serilog-sinks-sentrysdk/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/serilog-sinks-sentrysdk/index.md) · 2026-10-23
  Serilog.Sinks.SentrySDK bridges a .NET logging pipeline and the Sentry SDK. The application emits structured log events; a sink adapts that information…
- [retroarch-web-games: Packaging an emulator for a static web server](https://antoineboucher.info/CV/blog/projects/notes/retroarch-web-games/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/retroarch-web-games/index.md) · 2026-10-23
  retroarch-web-games is an archived container setup around a web build of RetroArch. The repository combines browser runtime files with scripts and…
- [RawAnalyser: From raw sensor values to diagnostic plots](https://antoineboucher.info/CV/blog/projects/notes/rawanalyser/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/rawanalyser/index.md) · 2026-10-23
  RawAnalyser is an older Python image-analysis experiment for clipping, channel values, gamma and vignetting. Its input assumptions are visible in the…
- [Pan-Tilt-Controller: Keyboard input to serial motor commands](https://antoineboucher.info/CV/blog/projects/notes/pan-tilt-controller/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/pan-tilt-controller/index.md) · 2026-10-23
  This archived pan-tilt controller connects a desktop interface to a serial-controlled positioning unit. The implementation mixes a Qt event loop with…
- [nxsand: A GPU grid for falling sand](https://antoineboucher.info/CV/blog/projects/notes/nxsand/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/nxsand/index.md) · 2026-10-23
  nxsand is a falling-sand simulation for Switch with a desktop development target. Materials live in an integer grid. Simulation passes update that grid,…
- [novatorem: Music-provider data into an SVG widget](https://antoineboucher.info/CV/blog/projects/notes/novatorem/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/novatorem/index.md) · 2026-10-23
  This novatorem fork builds music-status widgets from provider data. A Flask orchestrator handles rendering, while Spotify and Last.fm have separate…
- [nova-backtest: Historical candles into a strategy simulation](https://antoineboucher.info/CV/blog/projects/notes/nova-backtest/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/nova-backtest/index.md) · 2026-10-23
  nova-backtest is an archived fork of the NovaLabs crypto backtesting library: it downloads candles from eight exchanges, finds each trade's exit with vectorised look-ahead, charges maker fees and caps open positions. The exit algorithm, a worked trade and the limits, read from the code.
- [MediaBoxDockerCompose: A media stack connected by volumes and networks](https://antoineboucher.info/CV/blog/projects/notes/mediaboxdockercompose/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/mediaboxdockercompose/index.md) · 2026-10-23
  MediaBoxDockerCompose brings several homelab services together in Docker Compose. Its architecture lives mainly in service definitions, shared…
- [marketwatch: A client around a virtual trading game](https://antoineboucher.info/CV/blog/projects/notes/marketwatch/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/marketwatch/index.md) · 2026-10-23
  marketwatch is an archived Python client for MarketWatch’s virtual trading game. It wraps login, game queries and simulated order operations. These are…
- [Maestro: Sheet music through an external conversion pipeline](https://antoineboucher.info/CV/blog/projects/notes/maestro/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/maestro/index.md) · 2026-10-23
  This Maestro fork connects a React upload interface to a Spring backend and external music-conversion tools. Turning a score image into MIDI passes…
- [LLM2SVG: Dataset analysis before model claims](https://antoineboucher.info/CV/blog/projects/notes/llm2svg/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/llm2svg/index.md) · 2026-10-23
  This LLM2SVG fork contains SVG dataset utilities and an evaluation-oriented scaffold. The visible implementation is useful for inspecting examples and…
- [linkshare: A Rails application for shared links](https://antoineboucher.info/CV/blog/projects/notes/linkshare/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/linkshare/index.md) · 2026-10-23
  linkshare is an archived Rails learning project for publishing links, commenting and voting. Its routes reveal a conventional server-rendered…
- [kroki-playground: An editor, an API and a renderer](https://antoineboucher.info/CV/blog/projects/notes/kroki-playground/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/kroki-playground/index.md) · 2026-10-23
  kroki-playground is a Next.js interface for editing text diagrams and previewing their output. Its server route validates the requested diagram type and…
- [jsonresume-theme-kendall: A JSON document into a resume template](https://antoineboucher.info/CV/blog/projects/notes/jsonresume-theme-kendall/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/jsonresume-theme-kendall/index.md) · 2026-10-23
  This fork of the Kendall JSON Resume theme turns structured resume data into HTML. The renderer prepares presentation fields before handing the result…
- [ipc-toolkit: Collision queries as a library boundary](https://antoineboucher.info/CV/blog/projects/notes/ipc-toolkit/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/ipc-toolkit/index.md) · 2026-10-23
  ipc-toolkit provides geometric building blocks for contact-aware simulation. This fork contains collision meshes, broad-phase candidates, continuous…
- [HDR-10bpp-Display-Test: Packing ten-bit channels for a Cairo surface](https://antoineboucher.info/CV/blog/projects/notes/hdr-10bpp-display-test/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/hdr-10bpp-display-test/index.md) · 2026-10-23
  This display experiment loads image data into a GTK drawing area through Cairo. Viewer3.py makes the pixel representation explicit: channel samples are…
- [hass_renpho: Polling a cloud API into Home Assistant sensors](https://antoineboucher.info/CV/blog/projects/notes/hass-renpho/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/hass-renpho/index.md) · 2026-10-23
  hass_renpho is a fork of a Home Assistant integration for Renpho measurements. A shared coordinator refreshes cloud data and sensor entities expose that…
- [GreenScreenVideotoAlphaPNGs: A transparent-frame production pipeline](https://antoineboucher.info/CV/blog/projects/notes/greenscreenvideotoalphapngs/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/greenscreenvideotoalphapngs/index.md) · 2026-10-23
  GreenScreenVideotoAlphaPNGs separates video acquisition, frame extraction and chroma keying from final encoding. RGBA PNG frames are an intermediate…
- [GithubSimpleFileDownloader: A browser extension tied to page structure](https://antoineboucher.info/CV/blog/projects/notes/githubsimplefiledownloader/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/githubsimplefiledownloader/index.md) · 2026-10-23
  This archived extension attempted to add individual-file download controls to repository browsers. Its GitHub implementation shows the fragility of…
- [FlashGames: A static shell around a Flash runtime](https://antoineboucher.info/CV/blog/projects/notes/flashgames/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/flashgames/index.md) · 2026-10-23
  FlashGames preserves small Flash games in a browser-facing collection. The page selects a SWF and hosts the Ruffle player. The game binary and the…
- [ESP32-7SEG: An embedded clock with network setup](https://antoineboucher.info/CV/blog/projects/notes/esp32-7seg/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/esp32-7seg/index.md) · 2026-10-23
  ESP32-7SEG connects an ESP32 clock display to network configuration and an HTTP interface. The firmware startup decides whether saved Wi-Fi settings can…
- [donneesqc-mcp: An MCP gateway to public data](https://antoineboucher.info/CV/blog/projects/notes/donneesqc-mcp/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/donneesqc-mcp/index.md) · 2026-10-23
  donneesqc-mcp is a fork exposing Québec and Montréal open-data operations through MCP tools. Its entry point registers the tool collection and starts an…
- [Dimension: From matrix storage to a rendered scene](https://antoineboucher.info/CV/blog/projects/notes/dimension/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/dimension/index.md) · 2026-10-23
  Dimension is my Rust workspace for mathematics and graphics experiments. mathlib provides numerical building blocks; render uses them for CPU-side…
- [DasherControl: A workspace dashboard across three boundaries](https://antoineboucher.info/CV/blog/projects/notes/dashercontrol/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/dashercontrol/index.md) · 2026-10-23
  DasherControl brings homelab links and embedded applications into saved workspaces. Vue handles the interface, Rust and Rocket expose the API, and…
- [D2COpenAIPlugin: Routing text to diagram backends](https://antoineboucher.info/CV/blog/projects/notes/d2copenaiplugin/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/d2copenaiplugin/index.md) · 2026-10-23
  D2COpenAIPlugin is a FastAPI diagram service with a plugin manifest and an OpenAPI surface. Its implementation selects among PlantUML, Mermaid and Kroki…
- [CV: One repository, several publishing paths](https://antoineboucher.info/CV/blog/projects/notes/cv/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/cv/index.md) · 2026-10-23
  This website combines hand-edited bilingual CV pages, structured resume data, generated About pages, LaTeX PDFs and a Hugo blog. The build brings those…
- [ComfyUI-UML: Diagram rendering inside a node graph](https://antoineboucher.info/CV/blog/projects/notes/comfyui-uml/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/comfyui-uml/index.md) · 2026-10-23
  ComfyUI-UML adds diagram-oriented nodes to ComfyUI. Text enters a workflow, a rendering backend turns it into an image, and the workflow can retain the…
- [ChitUI: A local bridge to resin printers](https://antoineboucher.info/CV/blog/projects/notes/chitui/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/chitui/index.md) · 2026-10-23
  ChitUI places a browser interface in front of SDCP resin printers. A Python process serves the web assets, discovers printers on the local network and…
- [bloc: Object storage inside Blender](https://antoineboucher.info/CV/blog/projects/notes/bloc/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/bloc/index.md) · 2026-10-23
  My bloc fork adds a Blender-facing workflow around S3 and MinIO storage. It preserves the upstream Blender-Cloud-Storage credit. The add-on translates…
- [AuthLaravel: Sessions, roles and Inertia pages](https://antoineboucher.info/CV/blog/projects/notes/authlaravel/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/authlaravel/index.md) · 2026-10-23
  AuthLaravel is an access-control learning project with a Laravel backend and Vue pages delivered through Inertia. The route definitions show how…
- [AudioTranscript: From WAV chunks to transcription](https://antoineboucher.info/CV/blog/projects/notes/audiotranscript/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/audiotranscript/index.md) · 2026-10-23
  AudioTranscript breaks a WAV recording into chunks around silence, sends each chunk to a recognition service and concatenates the results. The current…
- [Artemis-Switch: A streamed frame from host to screen](https://antoineboucher.info/CV/blog/projects/notes/artemis-switch/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/artemis-switch/index.md) · 2026-10-23
  Artemis-Switch is a fork in the Moonlight streaming family. The host runs the game; the client receives compressed video and audio while sending…
- [Artemis-N3DS: Streaming within a dual-screen client](https://antoineboucher.info/CV/blog/projects/notes/artemis-n3ds/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/artemis-n3ds/index.md) · 2026-10-23
  Artemis-N3DS adapts Moonlight Embedded to the Nintendo 3DS family. It combines host discovery and pairing with a console-specific interface, input…
- [architecture: Architecture as editable documentation](https://antoineboucher.info/CV/blog/projects/notes/architecture/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/architecture/index.md) · 2026-10-23
  This archived repository stores a home-infrastructure diagram in several formats. Its architecture is a documentation workflow: editable sources produce…
- [antoinebou12: How the GitHub profile is assembled](https://antoineboucher.info/CV/blog/projects/notes/antoinebou12/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/antoinebou12/index.md) · 2026-10-23
  This is the repository behind my GitHub profile README. It combines ordinary Markdown with images, embedded widgets and scheduled updates. There is no…
- [another-install-script: A menu for homelab installation](https://antoineboucher.info/CV/blog/projects/notes/another-install-script/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/another-install-script/index.md) · 2026-10-23
  another-install-script is a shell entry point for choosing system setup and container installations. Its structure separates the menu from the service…
- [.dotfiles: A shell environment in scripts](https://antoineboucher.info/CV/blog/projects/notes/dotfiles/) — [Markdown](https://antoineboucher.info/CV/blog/projects/notes/dotfiles/index.md) · 2026-10-23
  These dotfiles collect the shell and editor setup I used across machines. The interesting part is the installer: it turns a set of personal preferences…
- [uml-mcp](https://antoineboucher.info/CV/blog/projects/uml-mcp/) — [Markdown](https://antoineboucher.info/CV/blog/projects/uml-mcp/index.md) · 2026-09-02
  Open-source MCP server for UML and architecture diagrams — Mermaid, PlantUML, and Kroki from chat in Cursor and ChatGPT.
- [sm64coopdx-switch](https://antoineboucher.info/CV/blog/projects/sm64coopdx-switch/) — [Markdown](https://antoineboucher.info/CV/blog/projects/sm64coopdx-switch/index.md) · 2026-09-02
  Nintendo Switch homebrew port of sm64coopdx — cooperative Super Mario 64 with Lua mods.
- [moonlight-N3DS](https://antoineboucher.info/CV/blog/projects/moonlight-n3ds/) — [Markdown](https://antoineboucher.info/CV/blog/projects/moonlight-n3ds/index.md) · 2026-09-02
  GameStream / Moonlight client experiments for New Nintendo 3DS — fork of zoeyjodon/moonlight-N3DS.
- [Artemis-Switch](https://antoineboucher.info/CV/blog/projects/artemis-switch/) — [Markdown](https://antoineboucher.info/CV/blog/projects/artemis-switch/index.md) · 2026-09-02
  Apollo/Sunshine game streaming on Nintendo Switch — fork of Moonlight-Switch with in-app overlay and performance stats.
- [ESP32-7SEG](https://antoineboucher.info/CV/blog/projects/esp32-7seg/) — [Markdown](https://antoineboucher.info/CV/blog/projects/esp32-7seg/index.md) · 2026-04-13
  ESP32 firmware and web UI to drive an Adafruit 7-segment display—stopwatch, countdown, and WiFi setup.
- [Dimension (mathlib)](https://antoineboucher.info/CV/blog/projects/dimension/) — [Markdown](https://antoineboucher.info/CV/blog/projects/dimension/index.md) · 2026-04-13
  Rust monorepo centered on mathlib — linear algebra, sparse matrices, WASM, optional GPU.
- [RetroArch Web Games](https://antoineboucher.info/CV/blog/projects/retroarch-web-games/) — [Markdown](https://antoineboucher.info/CV/blog/projects/retroarch-web-games/index.md) · 2024-01-01
  A self-hosted RetroArch web player with a collection of classic games.
- [MediaBoxDockerCompose](https://antoineboucher.info/CV/blog/projects/mediaboxdockercompose/) — [Markdown](https://antoineboucher.info/CV/blog/projects/mediaboxdockercompose/index.md) · 2024-01-01
  Docker Compose homelab stack—downloads, *Arr automation, Plex/Jellyfin, VPN, Samba, and ops dashboards—with paths driven from the repo.
- [HDR-10bpp-Display-Test](https://antoineboucher.info/CV/blog/projects/hdr-10bpp-display-test/) — [Markdown](https://antoineboucher.info/CV/blog/projects/hdr-10bpp-display-test/index.md) · 2024-01-01
  A test to verify HDR 4K display on Linux with 10-bit color depth.
- [Serilog.Sinks.SentrySDK](https://antoineboucher.info/CV/blog/projects/serilog.sinks.sentrysdk/) — [Markdown](https://antoineboucher.info/CV/blog/projects/serilog.sinks.sentrysdk/index.md) · 2021-09-06
  A Serilog sink that writes events to Sentry using Sentry SDK.
- [RawAnalyser](https://antoineboucher.info/CV/blog/projects/rawanalyser/) — [Markdown](https://antoineboucher.info/CV/blog/projects/rawanalyser/index.md) · 2021-09-06
  Python tool for raw image analysis: clipping, gamma, vignette, and Bayer pixel inspection.
- [DasherControl](https://antoineboucher.info/CV/blog/projects/dashcontrol/) — [Markdown](https://antoineboucher.info/CV/blog/projects/dashcontrol/index.md) · 2021-09-06
  Vue and Rust dashboard for dockerized homelab apps, workspaces, and applets.
- [D2COpenAIPlugin](https://antoineboucher.info/CV/blog/projects/d2copenaiplugin/) — [Markdown](https://antoineboucher.info/CV/blog/projects/d2copenaiplugin/index.md) · 2021-09-06
  A plugin for ChatGPT that enables users to generate diagrams using PlantUML or Mermaid.
- [MarketWatch API Python library](https://antoineboucher.info/CV/blog/projects/marketwatch/) — [Markdown](https://antoineboucher.info/CV/blog/projects/marketwatch/index.md) · 2021-09-06
  Python library to interact with the MarketWatch stock market game.

