Charles Boudreault

My Projects

gamepad-rxjs

1
This package wraps the Gamepad API and exposes all inputs as RxJS Observables. It is suitable for multi-player setups, allowing developers to reactively handle changes in state and respond to both discrete and continuous inputs.
  • TypeScript
  • RxJS
  • Gamepad API
  • npm package

mordicus2

1
A modern remake of the 1990s Vidéoway game Mordicus. Built in TypeScript with RxJS, it handles user inputs and screen animations reactively, supports gamepad and keyboard, and packages the game as a desktop app with Electron.
  • TypeScript
  • RxJS
  • Vite
  • Electron

boss-rush-nes

A basic NES emulator written in Rust. The project was primarily created to explore Rust programming, while also providing a simple, hands-on example of how classic NES hardware can be emulated in software.
  • Rust
  • NES emulator
  • 6502 Assembly
  • bitwise operations
  • APU audio

faq-section-web-components

A clean FAQ section built with Web Components, featuring accordion animations, keyboard navigation, and accessibility-focused UX.
  • JavaScript
  • Web Components
  • Shadow DOM
  • A11y

css-dojo

A training ground for my CSS skills. Small challenges I set myself to try cool tricks and learn.
  • SCSS
  • pnpm
  • CSS Houdini
  • @property rule
  • SVG filters

IFT611

Real-time collaborative text editor built as an academic project, using WebRTC (PeerJS) and WebAssembly for document consistency, written in C++ and compiled with Emscripten.
  • C++
  • JavaScript
  • Pug
  • Emscripten
  • Wasm
  • WebRTC
  • Peer-to-peer