My GitHub Projects
74 projects
youtube-tab-playlist
Use your tab bar as a playlist!
Language(s): TypeScript
firefox-addon music youtube
Created: Aug 26, 2024 Updated: May 25, 2026
lidy
YAML-YAML type-oriented schema validation tool
Language(s): Go , Rust , TypeScript
Created: Jul 9, 2023 Updated: May 17, 2026
cprefixtree
This module provides tree-based hashtable-like structure for strings in C.
Language(s): C
c digital-tree emse prefix-tree radix-tree trie
Created: Feb 20, 2018 Updated: May 2, 2026
keyboardtranslator
Online tool to translate keystrokes to a different keyboard layout
Language(s): TypeScript
keyboard keyboard-layout online simulation
Created: Mar 7, 2022 Updated: May 2, 2026
mathieucaroffcom
My personal website, mostly for listing my Github projects
Language(s): Astro , TypeScript
personal-website website
Created: Dec 26, 2025 Updated: May 2, 2026
gomoku-svelte
Web gomoku game for two players
Language(s): JavaScript , Svelte
discovery-project game gomoku
Created: Aug 17, 2019 Updated: May 1, 2026
lidy-schema-vscode-extension
VSCode extension using Lidy Schema to lint YAML configurations
Created: Apr 29, 2026 Updated: Apr 29, 2026
ponyTranslator
Ponify and deponify text
Language(s): HTML , TypeScript
Created: Mar 7, 2022 Updated: Apr 17, 2022
xkeyboard
Language(s): C , TypeScript
keyboard keyboard-layout macos-keyboard microsoft-keyboard-layout-creator x11
Created: Apr 8, 2024 Updated: Apr 28, 2026
chessexpert
Language(s): TypeScript
Created: Apr 2, 2026 Updated: Apr 7, 2026
checkonline
A Network Connectivity Watcher with history, doubling as a clock
Language(s): TypeScript
canvas canvas2d check connectivity network online watcher
Created: Mar 7, 2021 Updated: Mar 23, 2026
focus-site-search-bar
Search for the first search field of the page and focus it upon keyboard shortcut
Language(s): JavaScript
chrome-extension firefox-addon searchbar webextension
Created: Jan 19, 2019 Updated: Jan 19, 2019
customisable-2048
Game of 2048 with customizable tile values
Language(s): TypeScript
2048 2048-game customisable
Created: Sep 18, 2020 Updated: Mar 16, 2026
beeftext-from-textexpander-xml
Convert TextExpander xml data to Beeftext JSON backup data
Language(s): TypeScript
beeftext converter textexpander
Created: Mar 24, 2020 Updated: Mar 16, 2026
permission-manager-frontend
Language(s): TypeScript
material-ui proof-of-concept react
Created: Aug 11, 2020 Updated: Mar 16, 2026
track-of-thought-web
A game to train divided attention
Language(s): TypeScript
brain-training-game game training
Created: Aug 18, 2022 Updated: Mar 16, 2026
broccoli
Interpreter for the concatenative programming language Broccoli
Language(s): TypeScript
concatenative-language featured programming-language stack-based-language
Created: Mar 3, 2022 Updated: Mar 15, 2026
factorize
Compute the factorization of the given number. It doubles as a prime number detector.
Language(s): HTML , TypeScript
factorization-algorithm factorize tool
Created: Feb 28, 2022 Updated: Mar 15, 2026
pixelpony
Archived
Open source pony.town clone
Language(s): TypeScript
Created: Feb 19, 2020 Updated: Jun 8, 2020
constructor
Efficiently construct a number using the given operations and bases
Language(s): TypeScript
basic-math game-tool number tool
Created: Jul 30, 2024 Updated: Feb 28, 2026
discord-chat-exporter-to-logseq
A converter for data from Discord-chat-exporter to a set of Logseq markdown files
Language(s): TypeScript
Created: Mar 25, 2025 Updated: Mar 28, 2025
gomoku
A Gomoku AI
Language(s): TypeScript
ai game gomoku heuristics
Created: Jul 14, 2022 Updated: Jan 10, 2026
open-pinball-recall
A free and open-source version of Lumosity's Pinball Recall game to train working memory
Language(s): TypeScript
brain-training-game game lumosity web-game
Created: Nov 6, 2022 Updated: Nov 16, 2022
cellexp
A cellular automaton (CA) explorer to understand and unveil properties of CA in 1D.
Language(s): TypeScript
cellular-automaton chaos chaos-theory complexity education evolution featured fractal html5-canvas pattern pattern-detection put-image-data rule110 simulation simulator turing-completeness unidimensional universe
Created: Oct 24, 2019 Updated: Apr 17, 2022
snake
A simple non-ticking snake game which supports playing with any board size
Language(s): TypeScript
2d canvas game minimalist snake
Created: Jul 2, 2020 Updated: Jan 14, 2023
tetris
Simple and extensible Tetris game for the browser
Language(s): TypeScript
game tetris web-game
Created: Jun 1, 2017 Updated: May 16, 2024
typist
Language(s): TypeScript
custom-keyboard custom-keyboard-layout keyboard keyboard-layout typing typing-trainer
Created: Feb 16, 2024 Updated: Jan 2, 2026
yenUserscript
Convert Yen values to Euro in web pages
Language(s): JavaScript
currency-converter userscript
Created: Sep 13, 2025 Updated: Jan 1, 2026
colorstrip
Language(s): TypeScript
animation background color featured quadrilateral
Created: Jan 26, 2022 Updated: Jan 1, 2026
colorcube
A chromatic cube containing all the colors
Language(s): TypeScript
3d color-picker color-visualization featured
Created: Feb 1, 2022 Updated: Jan 1, 2026
chesseyJS
A simple JS/TS chess engine
Language(s): TypeScript
chess chess-engine
Created: Jan 31, 2025 Updated: Dec 31, 2025
html-to-hyper
Convert HTML to hyper
Language(s): TypeScript
converter dom html hyper
Created: Mar 27, 2023 Updated: Dec 31, 2025
qrcode
Language(s): HTML , TypeScript
qrcode qrcode-generator tool
Created: May 23, 2023 Updated: Dec 31, 2025
arrowword-solver
Language(s): TypeScript
arrowword arrowword-helper game-tool tool
Created: Mar 10, 2024 Updated: Dec 31, 2025
chromino
A chromino game simulator
Language(s): TypeScript
game simulator
Created: Jan 1, 2025 Updated: Dec 31, 2025
vivaldiSourceUpdater
Language(s): TypeScript
automation update-automation
Created: Feb 6, 2025 Updated: Dec 31, 2025
1h-flappy-bird
Making a flappy bird js game in less than 1h, using p5.js
Language(s): JavaScript
coding-challenge flappy-bird game
Created: Oct 23, 2018 Updated: Dec 31, 2025
liveCurrencyConverter
An extension which converts Yen values and appends the corresponding Euro value in web pages.
Language(s): JavaScript
currency-converter web-extension
Created: Sep 15, 2025 Updated: Dec 31, 2025
metravision
Detecting and counting light vehicles (motorbikes and alikes) on highways, using video processing.
Language(s): Python
computer-vision emse group-project opencv opencv-python
Created: Jun 22, 2018 Updated: Dec 31, 2025
user-yum.sh
A yum & rpm package installer operating at user-privilege.
Language(s): Makefile , Shell
rpm script yum
Created: Sep 29, 2018 Updated: Aug 29, 2020
markdown
A presentation of Markdown in French
Language(s): CSS , HTML
french language-learning language-specification learning-resource markdown-language
Created: Mar 19, 2021 Updated: Feb 12, 2022
linux
A presentation of Linux in French
Language(s): HTML
french learning-resource linux linux-distributions
Created: Feb 12, 2022 Updated: May 1, 2022
regex
A presentation of regexes in French
Language(s): HTML
french learning-resource regex regex-language regex-syntax regexp
Created: Jun 18, 2023 Updated: May 14, 2024
covite-backend
Language(s): Go , Python
django wip
Created: Aug 5, 2020 Updated: Oct 1, 2020
accent
The program I use to listen to my keyboard keystrokes and insert accents under certain conditions.
Language(s): Rust
discovery-project keyboard rust
Created: Sep 27, 2019 Updated: Sep 27, 2019
dummy-project-manager
The beginning of a project manager App, made in a very limited time. Mostly a dummy projet to test MobX.
Language(s): TypeScript
discovery-project web-application
Created: Oct 1, 2019 Updated: Mar 9, 2021
oxshconfig
My dusty sh configuration, leveraging shconf
Language(s): Python , Shell
bash prompt shell shell-functions zsh
Created: Oct 12, 2020 Updated: May 2, 2023
shconf
A librairy to help source the right rc files on each device.
Language(s): Python , Shell
bashrc dotfiles shell zshrc
Created: Nov 7, 2018 Updated: Oct 12, 2020
rapport3A
Language(s): Makefile , PowerShell
assignment emse internship-report report
Created: Oct 10, 2020 Updated: Nov 22, 2020
derpibooru-graphql
A GraphQL overlay on the Derpibooru REST API
Language(s): TypeScript
api api-converter graphql graphql-api graphql-server rest-api
Created: Jul 14, 2019 Updated: Dec 11, 2020
kingsnake
a multiplayer snake game
Language(s): HTML , TypeScript
game multi-player snake-game
Created: Aug 2, 2025 Updated: Aug 3, 2025
cellex
Unidimensional Cellular Automata Explorer managing _arbitrary rules_
Language(s): TypeScript
cellular-automaton chaos chaos-theory complexity education evolution featured fractal html5-canvas pattern pattern-detection put-image-data rule110 simulation simulator turing-completeness unidimensional universe
Created: Feb 10, 2022 Updated: Feb 9, 2025
svChess
Web Chess GUI in Svelte5
Language(s): Svelte , TypeScript
chess chess-board game
Created: Jul 3, 2025 Updated: Jul 14, 2025
flappy-bird-bevy
A flappy bird game made with Bevy, in Rust
Language(s): Rust
bevy flappy-bird game rust
Created: Oct 29, 2022 Updated: Jan 1, 2023
morsebuzzer
App playing notifications in morse code with the phone vibrator
Language(s): Kotlin
android-application morse-code notification-api phone-vibrator
Created: Mar 11, 2022 Updated: Mar 27, 2022
oxowlbot
An ontology chatbot which answers questions and learns from its interlocutor
Language(s): Python
imtatlantique my-little-pony natural-language-processing ontology
Created: Apr 12, 2020 Updated: Apr 22, 2020
idfly-pi-server
A Python http server for Raspberry Pi allowing to control PWMs via json POST requests - /!\ FR doc only (yet)
Language(s): Python , Shell
airship blimp french pigpio python-server
Created: Feb 20, 2020 Updated: Feb 20, 2020
idfly-js-remote
An airship remote controller for movement in 3D
Language(s): JavaScript
airship blimp remote-control web-remote
Created: Feb 20, 2020 Updated: Feb 20, 2020
EMSE-AES-VHDL
VHDL implementation of 128bit AES decypher without keyschedule, respecting EMSE teachers conventions
Language(s): VHDL
aes-128 aes-decryption emse vhdl
Created: Jan 12, 2019 Updated: Mar 27, 2019
rule110
An implementation of the Turing-complete Rule 110 monodimensional cellular automaton in HTML5 canvas
Language(s): JavaScript
cellular-automaton pattern-detection rule110 turing-complete unidimensional-cellular-automaton
Created: Dec 15, 2018 Updated: Dec 15, 2018
EMSE-projet-robot-3
Archived
A project of remote controlled rover with group parking assistance
Language(s): C
Created: Dec 19, 2018 Updated: Jan 31, 2019
ltsa-train
Archived
Concurrency programming exercise-project for school (IMT Atlantique)
Language(s): Java
Created: Jan 17, 2020 Updated: Jan 26, 2020
ltsa-canal-lock
Archived
Exercise for school
Language(s): Java
Created: Jan 17, 2020 Updated: Jan 17, 2020
FilRougeAdapter
Archived
FilRouge code adapter exercise
Language(s): Java
Created: Nov 5, 2019 Updated: Nov 29, 2019
FilRouge
Archived
Language(s): Java
Created: Oct 20, 2019 Updated: Oct 21, 2019
cojsTetris
Archived
Cooperative tetris game using C server and javascript webpage clients.
Language(s): C , Roff
Created: Jun 6, 2017 Updated: Jun 23, 2017
emse.user.js
Archived
Student userscript for EMSE school.
Language(s): JavaScript
Created: May 20, 2017 Updated: Nov 16, 2017
formation-js-ismin
Archived
Ressources de la seconde formation Javascript donnΓ©e par Mathieu CAROFF et Youen FROGER
Language(s): HTML , JavaScript
Created: Oct 23, 2018 Updated: Nov 19, 2018
hashcell
Archived
A hashlife-inspired algorithm to compute, recolor and flexibly pre-render all 1D cellular automata (2nd attempt)
Language(s): TypeScript
algorithms hashlife
Created: Apr 28, 2020 Updated: Mar 10, 2021
hashrule
Archived
A hashlife-inspired algorithm to compute, recolor and flexibly pre-render all 1D cellular automata
Language(s): TypeScript
Created: Apr 27, 2020 Updated: Mar 10, 2021
derpibooru-discord-link-formatter
Archived
Detect Derpibooru links, rewrite them and prefix the text with the rewritten links
Language(s): TypeScript
Created: Mar 26, 2020 Updated: Mar 10, 2021
parcel-transformer-nearley
Parcel transformer plugin for importing nearley grammars as instances
Language(s): JavaScript
grammar nearley parcel transformer
Created: Feb 14, 2022 Updated: Mar 1, 2022
xadom
Small DOM Element wrapper library, for Typescript projects
Language(s): TypeScript
dom dom-library dom-wrapper-library lightweight no-dependencies typescript typescript-wrapper wrapper-library
Created: Sep 29, 2019 Updated: Mar 9, 2021
specimen
A data-driven testing library as well as a yaml data format.
data-driven-testing golang js python rust typescript yaml
Created: Jan 27, 2022 Updated: Dec 26, 2024
[{"id":847903452,"title":"youtube-tab-playlist","description":"Use your tab bar as a playlist!","repoUrl":"https://github.com/mathieucaroff/youtube-tab-playlist","liveUrl":"","createdAt":"2024-08-26T19:06:13.000Z","updatedAt":"2026-05-25T19:56:52.000Z","topics":["firefox-addon","music","youtube"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/youtube-tab-playlist/master/icon/iconB256.png","archived":false},{"id":664308992,"title":"lidy","description":"YAML-YAML type-oriented schema validation tool","repoUrl":"https://github.com/mathieucaroff/lidy","liveUrl":"","createdAt":"2023-07-09T15:20:34.000Z","updatedAt":"2026-05-17T11:48:19.000Z","topics":[],"languages":["Go","Rust","TypeScript"],"imageUrl":"https://raw.githubusercontent.com/ditrit/lidy/master/asset/img/lidy-logo.svg","archived":false},{"id":122263385,"title":"cprefixtree","description":"This module provides tree-based hashtable-like structure for strings in C.","repoUrl":"https://github.com/mathieucaroff/cprefixtree","liveUrl":"","createdAt":"2018-02-20T22:16:07.000Z","updatedAt":"2026-05-02T09:37:22.000Z","topics":["c","digital-tree","emse","prefix-tree","radix-tree","trie"],"languages":["C"],"imageUrl":"","archived":false},{"id":467008603,"title":"keyboardtranslator","description":"Online tool to translate keystrokes to a different keyboard layout","repoUrl":"https://github.com/mathieucaroff/keyboardtranslator","liveUrl":"https://keyboardtranslator.ea9c.com/","createdAt":"2022-03-07T08:35:17.000Z","updatedAt":"2026-05-02T09:31:43.000Z","topics":["keyboard","keyboard-layout","online","simulation"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/keyboardtranslator/master/doc/keyboardtranslator-screenshot.png","archived":false},{"id":1123452570,"title":"mathieucaroffcom","description":"My personal website, mostly for listing my Github projects","repoUrl":"https://github.com/mathieucaroff/mathieucaroffcom","liveUrl":"https://mathieucaroff.com/","createdAt":"2025-12-26T22:49:48.000Z","updatedAt":"2026-05-02T08:41:57.000Z","topics":["personal-website","website"],"languages":["Astro","TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/mathieucaroffcom/master/doc/mathieucaroffcom-screenshot.png","archived":false},{"id":202873607,"title":"gomoku-svelte","description":"Web gomoku game for two players","repoUrl":"https://github.com/mathieucaroff/gomoku-svelte","liveUrl":"https://gomoku-svelte.vercel.app","createdAt":"2019-08-17T11:39:42.000Z","updatedAt":"2026-05-01T18:58:47.000Z","topics":["discovery-project","game","gomoku"],"languages":["JavaScript","Svelte"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/gomoku-svelte/master/doc/gomoku-svelte-screenshot.png","archived":false},{"id":1224107153,"title":"lidy-schema-vscode-extension","description":"VSCode extension using Lidy Schema to lint YAML configurations","repoUrl":"https://github.com/mathieucaroff/lidy-schema-vscode-extension","liveUrl":"","createdAt":"2026-04-29T01:03:47.000Z","updatedAt":"2026-04-29T01:03:48.000Z","topics":[],"languages":[],"imageUrl":"","archived":false},{"id":467293632,"title":"ponyTranslator","description":"Ponify and deponify text","repoUrl":"https://github.com/mathieucaroff/ponyTranslator","liveUrl":"","createdAt":"2022-03-07T23:31:10.000Z","updatedAt":"2022-04-17T14:36:56.000Z","topics":[],"languages":["HTML","TypeScript"],"imageUrl":"","archived":false},{"id":783908965,"title":"xkeyboard","description":"","repoUrl":"https://github.com/mathieucaroff/xkeyboard","liveUrl":"https://xkeyboard.ea9c.com","createdAt":"2024-04-08T20:15:21.000Z","updatedAt":"2026-04-28T22:23:56.000Z","topics":["keyboard","keyboard-layout","macos-keyboard","microsoft-keyboard-layout-creator","x11"],"languages":["C","TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/xkeyboard/master/asset/img/screenshot.png","archived":false},{"id":1199193676,"title":"chessexpert","description":"","repoUrl":"https://github.com/mathieucaroff/chessexpert","liveUrl":"","createdAt":"2026-04-02T06:00:33.000Z","updatedAt":"2026-04-07T22:29:40.000Z","topics":[],"languages":["TypeScript"],"imageUrl":"","archived":false},{"id":345287609,"title":"checkonline","description":"A Network Connectivity Watcher with history, doubling as a clock","repoUrl":"https://github.com/mathieucaroff/checkonline","liveUrl":"https://online.ea9c.com","createdAt":"2021-03-07T07:45:45.000Z","updatedAt":"2026-03-23T04:28:46.000Z","topics":["canvas","canvas2d","check","connectivity","network","online","watcher"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/checkonline/master/doc/screenshot.png","archived":false},{"id":166573578,"title":"focus-site-search-bar","description":"Search for the first search field of the page and focus it upon keyboard shortcut","repoUrl":"https://github.com/mathieucaroff/focus-site-search-bar","liveUrl":"","createdAt":"2019-01-19T17:24:34.000Z","updatedAt":"2019-01-19T17:31:21.000Z","topics":["chrome-extension","firefox-addon","searchbar","webextension"],"languages":["JavaScript"],"imageUrl":"","archived":false},{"id":296698714,"title":"customisable-2048","description":"Game of 2048 with customizable tile values","repoUrl":"https://github.com/mathieucaroff/customisable-2048","liveUrl":"https://customisable-2048.vercel.app","createdAt":"2020-09-18T18:20:21.000Z","updatedAt":"2026-03-16T21:20:03.000Z","topics":["2048","2048-game","customisable"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/customisable-2048/master/doc/screenshot.png","archived":false},{"id":249582607,"title":"beeftext-from-textexpander-xml","description":"Convert TextExpander xml data to Beeftext JSON backup data","repoUrl":"https://github.com/mathieucaroff/beeftext-from-textexpander-xml","liveUrl":"https://beeftext-from-textexpander-xml.vercel.app/","createdAt":"2020-03-24T01:22:26.000Z","updatedAt":"2026-03-16T20:02:23.000Z","topics":["beeftext","converter","textexpander"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/beeftext-from-textexpander-xml/master/doc/screencap.png","archived":false},{"id":286670789,"title":"permission-manager-frontend","description":"","repoUrl":"https://github.com/mathieucaroff/permission-manager-frontend","liveUrl":"https://permission-manager.vercel.app","createdAt":"2020-08-11T07:02:15.000Z","updatedAt":"2026-03-16T19:48:16.000Z","topics":["material-ui","proof-of-concept","react"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/permission-manager-frontend/master/doc/screencap.png","archived":false},{"id":526281028,"title":"track-of-thought-web","description":"A game to train divided attention","repoUrl":"https://github.com/mathieucaroff/track-of-thought-web","liveUrl":"https://track-of-thought-web.ea9c.com","createdAt":"2022-08-18T16:03:09.000Z","updatedAt":"2026-03-16T03:39:38.000Z","topics":["brain-training-game","game","training"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/track-of-thought-web/master/doc/screenshot.png","archived":false},{"id":465622161,"title":"broccoli","description":"Interpreter for the concatenative programming language Broccoli","repoUrl":"https://github.com/mathieucaroff/broccoli","liveUrl":"https://broccoli.ea9c.com/","createdAt":"2022-03-03T07:58:02.000Z","updatedAt":"2026-03-15T17:55:07.000Z","topics":["concatenative-language","featured","programming-language","stack-based-language"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/broccoli/master/doc/screenshot.png","archived":false},{"id":464621470,"title":"factorize","description":"Compute the factorization of the given number. It doubles as a prime number detector.","repoUrl":"https://github.com/mathieucaroff/factorize","liveUrl":"https://factorize.ea9c.com/","createdAt":"2022-02-28T19:46:54.000Z","updatedAt":"2026-03-15T17:48:13.000Z","topics":["factorization-algorithm","factorize","tool"],"languages":["HTML","TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/factorize/master/doc/screencap.png","archived":false},{"id":241624809,"title":"pixelpony","description":"Open source pony.town clone","repoUrl":"https://github.com/mathieucaroff/pixelpony","liveUrl":"","createdAt":"2020-02-19T13:10:20.000Z","updatedAt":"2020-06-08T06:10:30.000Z","topics":[],"languages":["TypeScript"],"imageUrl":"","archived":true},{"id":835673071,"title":"constructor","description":"Efficiently construct a number using the given operations and bases","repoUrl":"https://github.com/mathieucaroff/constructor","liveUrl":"https://constructor.ea9c.com/","createdAt":"2024-07-30T09:59:36.000Z","updatedAt":"2026-02-28T16:14:57.000Z","topics":["basic-math","game-tool","number","tool"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/constructor/master/doc/screenshot.png","archived":false},{"id":954601552,"title":"discord-chat-exporter-to-logseq","description":"A converter for data from Discord-chat-exporter to a set of Logseq markdown files","repoUrl":"https://github.com/mathieucaroff/discord-chat-exporter-to-logseq","liveUrl":"","createdAt":"2025-03-25T10:32:45.000Z","updatedAt":"2025-03-28T12:53:31.000Z","topics":[],"languages":["TypeScript"],"imageUrl":"","archived":false},{"id":513712720,"title":"gomoku","description":"A Gomoku AI","repoUrl":"https://github.com/mathieucaroff/gomoku","liveUrl":"https://gomoku.ea9c.com/","createdAt":"2022-07-14T00:45:51.000Z","updatedAt":"2026-01-10T15:29:12.000Z","topics":["ai","game","gomoku","heuristics"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/gomoku/master/asset/screenshot/game.png","archived":false},{"id":562563936,"title":"open-pinball-recall","description":"A free and open-source version of Lumosity's Pinball Recall game to train working memory","repoUrl":"https://github.com/mathieucaroff/open-pinball-recall","liveUrl":"https://open-pinball-recall.ea9c.com","createdAt":"2022-11-06T18:27:57.000Z","updatedAt":"2022-11-16T22:02:50.000Z","topics":["brain-training-game","game","lumosity","web-game"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/open-pinball-recall/master/asset/img/game-screenshot.png","archived":false},{"id":217231332,"title":"cellexp","description":"A cellular automaton (CA) explorer to understand and unveil properties of CA in 1D.","repoUrl":"https://github.com/mathieucaroff/cellexp","liveUrl":"https://cellexp.ea9c.com/","createdAt":"2019-10-24T06:50:41.000Z","updatedAt":"2022-04-17T14:28:20.000Z","topics":["cellular-automaton","chaos","chaos-theory","complexity","education","evolution","featured","fractal","html5-canvas","pattern","pattern-detection","put-image-data","rule110","simulation","simulator","turing-completeness","unidimensional","universe"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/cellexp/master/doc/img/cellexp-screencap.png","archived":false},{"id":276545261,"title":"snake","description":"A simple non-ticking snake game which supports playing with any board size","repoUrl":"https://github.com/mathieucaroff/snake","liveUrl":"https://snake.ea9c.com/","createdAt":"2020-07-02T04:07:08.000Z","updatedAt":"2023-01-14T10:15:52.000Z","topics":["2d","canvas","game","minimalist","snake"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/snake/master/asset/screenshot/snakepony-screenshot-v1.png","archived":false},{"id":93041621,"title":"tetris","description":"Simple and extensible Tetris game for the browser","repoUrl":"https://github.com/mathieucaroff/tetris","liveUrl":"https://tetris.ea9c.com/","createdAt":"2017-06-01T09:41:56.000Z","updatedAt":"2024-05-16T02:47:27.000Z","topics":["game","tetris","web-game"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/tetris/master/doc/img/tetris-preview.png","archived":false},{"id":758712525,"title":"typist","description":"","repoUrl":"https://github.com/mathieucaroff/typist","liveUrl":"https://typist.ea9c.com/","createdAt":"2024-02-16T22:38:10.000Z","updatedAt":"2026-01-02T12:46:04.000Z","topics":["custom-keyboard","custom-keyboard-layout","keyboard","keyboard-layout","typing","typing-trainer"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/typist/master/asset/img/screenshot.png","archived":false},{"id":1056224041,"title":"yenUserscript","description":"Convert Yen values to Euro in web pages","repoUrl":"https://github.com/mathieucaroff/yenUserscript","liveUrl":"","createdAt":"2025-09-13T16:37:38.000Z","updatedAt":"2026-01-01T00:20:17.000Z","topics":["currency-converter","userscript"],"languages":["JavaScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/yenUserscript/master/doc/LCCAgoda.png","archived":false},{"id":452164242,"title":"colorstrip","description":"","repoUrl":"https://github.com/mathieucaroff/colorstrip","liveUrl":"https://colorstrip.ea9c.com","createdAt":"2022-01-26T06:24:44.000Z","updatedAt":"2026-01-01T00:15:42.000Z","topics":["animation","background","color","featured","quadrilateral"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/colorstrip/master/doc/screenshot.png","archived":false},{"id":454263954,"title":"colorcube","description":"A chromatic cube containing all the colors","repoUrl":"https://github.com/mathieucaroff/colorcube","liveUrl":"https://colorcube.ea9c.com/","createdAt":"2022-02-01T04:44:39.000Z","updatedAt":"2026-01-01T00:13:35.000Z","topics":["3d","color-picker","color-visualization","featured"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/colorcube/master/doc/screenshot.png","archived":false},{"id":925408246,"title":"chesseyJS","description":"A simple JS/TS chess engine","repoUrl":"https://github.com/mathieucaroff/chesseyJS","liveUrl":"","createdAt":"2025-01-31T20:27:41.000Z","updatedAt":"2025-12-31T23:37:38.000Z","topics":["chess","chess-engine"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/chesseyJS/master/doc/chesseyJSlogo.png","archived":false},{"id":619980012,"title":"html-to-hyper","description":"Convert HTML to hyper","repoUrl":"https://github.com/mathieucaroff/html-to-hyper","liveUrl":"https://html-to-hyper.ea9c.com/","createdAt":"2023-03-27T19:46:07.000Z","updatedAt":"2025-12-31T23:12:21.000Z","topics":["converter","dom","html","hyper"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/html-to-hyper/master/doc/screenshot.png","archived":false},{"id":644223245,"title":"qrcode","description":"","repoUrl":"https://github.com/mathieucaroff/qrcode","liveUrl":"https://qrcode.ea9c.com","createdAt":"2023-05-23T04:40:46.000Z","updatedAt":"2025-12-31T22:56:30.000Z","topics":["qrcode","qrcode-generator","tool"],"languages":["HTML","TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/qrcode/main/doc/screenshot.png","archived":false},{"id":769990049,"title":"arrowword-solver","description":"","repoUrl":"https://github.com/mathieucaroff/arrowword-solver","liveUrl":"https://arrowwordsolver.ea9c.com","createdAt":"2024-03-10T16:13:04.000Z","updatedAt":"2025-12-31T22:34:59.000Z","topics":["arrowword","arrowword-helper","game-tool","tool"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/arrowword-solver/master/asset/img/screenshot.png","archived":false},{"id":910927734,"title":"chromino","description":"A chromino game simulator","repoUrl":"https://github.com/mathieucaroff/chromino","liveUrl":"https://chromino.ea9c.com","createdAt":"2025-01-01T20:13:52.000Z","updatedAt":"2025-12-31T21:57:19.000Z","topics":["game","simulator"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/chromino/master/doc/screenshot.png","archived":false},{"id":928151921,"title":"vivaldiSourceUpdater","description":"","repoUrl":"https://github.com/mathieucaroff/vivaldiSourceUpdater","liveUrl":"","createdAt":"2025-02-06T06:33:30.000Z","updatedAt":"2025-12-31T21:29:07.000Z","topics":["automation","update-automation"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/vivaldiSourceUpdater/master/doc/vivaldiLogo.png","archived":false},{"id":154244832,"title":"1h-flappy-bird","description":"Making a flappy bird js game in less than 1h, using p5.js","repoUrl":"https://github.com/mathieucaroff/1h-flappy-bird","liveUrl":"","createdAt":"2018-10-23T01:52:54.000Z","updatedAt":"2025-12-31T20:29:36.000Z","topics":["coding-challenge","flappy-bird","game"],"languages":["JavaScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/1h-flappy-bird/master/screenshot.png","archived":false},{"id":1057443031,"title":"liveCurrencyConverter","description":"An extension which converts Yen values and appends the corresponding Euro value in web pages.","repoUrl":"https://github.com/mathieucaroff/liveCurrencyConverter","liveUrl":"","createdAt":"2025-09-15T18:23:18.000Z","updatedAt":"2025-12-31T19:49:21.000Z","topics":["currency-converter","web-extension"],"languages":["JavaScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/liveCurrencyConverter/master/screeshot/LCCKayak.png","archived":false},{"id":138278961,"title":"metravision","description":"Detecting and counting light vehicles (motorbikes and alikes) on highways, using video processing.","repoUrl":"https://github.com/mathieucaroff/metravision","liveUrl":"","createdAt":"2018-06-22T08:49:28.000Z","updatedAt":"2025-12-31T17:50:36.000Z","topics":["computer-vision","emse","group-project","opencv","opencv-python"],"languages":["Python"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/metravision/master/doc/frontview.png","archived":false},{"id":150849398,"title":"user-yum.sh","description":"A yum & rpm package installer operating at user-privilege.","repoUrl":"https://github.com/mathieucaroff/user-yum.sh","liveUrl":"","createdAt":"2018-09-29T09:38:58.000Z","updatedAt":"2020-08-29T14:04:39.000Z","topics":["rpm","script","yum"],"languages":["Makefile","Shell"],"imageUrl":"","archived":false},{"id":349442689,"title":"markdown","description":"A presentation of Markdown in French ","repoUrl":"https://github.com/mathieucaroff/markdown","liveUrl":"","createdAt":"2021-03-19T14:01:33.000Z","updatedAt":"2022-02-12T04:47:28.000Z","topics":["french","language-learning","language-specification","learning-resource","markdown-language"],"languages":["CSS","HTML"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/markdown/master/resource/markdown-logo.svg","archived":false},{"id":458452791,"title":"linux","description":"A presentation of Linux in French ","repoUrl":"https://github.com/mathieucaroff/linux","liveUrl":"","createdAt":"2022-02-12T07:31:42.000Z","updatedAt":"2022-05-01T12:43:02.000Z","topics":["french","learning-resource","linux","linux-distributions"],"languages":["HTML"],"imageUrl":"","archived":false},{"id":655371058,"title":"regex","description":"A presentation of regexes in French","repoUrl":"https://github.com/mathieucaroff/regex","liveUrl":"","createdAt":"2023-06-18T17:33:20.000Z","updatedAt":"2024-05-14T14:02:46.000Z","topics":["french","learning-resource","regex","regex-language","regex-syntax","regexp"],"languages":["HTML"],"imageUrl":"","archived":false},{"id":285282276,"title":"covite-backend","description":"","repoUrl":"https://github.com/mathieucaroff/covite-backend","liveUrl":"","createdAt":"2020-08-05T12:31:43.000Z","updatedAt":"2020-10-01T09:15:13.000Z","topics":["django","wip"],"languages":["Go","Python"],"imageUrl":"","archived":false},{"id":211317775,"title":"accent","description":"The program I use to listen to my keyboard keystrokes and insert accents under certain conditions.","repoUrl":"https://github.com/mathieucaroff/accent","liveUrl":"","createdAt":"2019-09-27T12:46:26.000Z","updatedAt":"2019-09-27T12:46:46.000Z","topics":["discovery-project","keyboard","rust"],"languages":["Rust"],"imageUrl":"","archived":false},{"id":212207258,"title":"dummy-project-manager","description":"The beginning of a project manager App, made in a very limited time. Mostly a dummy projet to test MobX.","repoUrl":"https://github.com/mathieucaroff/dummy-project-manager","liveUrl":"","createdAt":"2019-10-01T21:58:00.000Z","updatedAt":"2021-03-09T19:20:25.000Z","topics":["discovery-project","web-application"],"languages":["TypeScript"],"imageUrl":"","archived":false},{"id":303243238,"title":"oxshconfig","description":"My dusty sh configuration, leveraging shconf","repoUrl":"https://github.com/mathieucaroff/oxshconfig","liveUrl":"","createdAt":"2020-10-12T01:01:07.000Z","updatedAt":"2023-05-02T10:34:52.000Z","topics":["bash","prompt","shell","shell-functions","zsh"],"languages":["Python","Shell"],"imageUrl":"","archived":false},{"id":156559875,"title":"shconf","description":"A librairy to help source the right rc files on each device.","repoUrl":"https://github.com/mathieucaroff/shconf","liveUrl":"","createdAt":"2018-11-07T14:36:55.000Z","updatedAt":"2020-10-12T01:05:06.000Z","topics":["bashrc","dotfiles","shell","zshrc"],"languages":["Python","Shell"],"imageUrl":"","archived":false},{"id":302928385,"title":"rapport3A","description":"","repoUrl":"https://github.com/mathieucaroff/rapport3A","liveUrl":"","createdAt":"2020-10-10T15:11:22.000Z","updatedAt":"2020-11-22T22:45:17.000Z","topics":["assignment","emse","internship-report","report"],"languages":["Makefile","PowerShell"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/rapport3A/master/misc/language-sets.png","archived":false},{"id":196812085,"title":"derpibooru-graphql","description":"A GraphQL overlay on the Derpibooru REST API","repoUrl":"https://github.com/mathieucaroff/derpibooru-graphql","liveUrl":"","createdAt":"2019-07-14T08:28:03.000Z","updatedAt":"2020-12-11T16:19:10.000Z","topics":["api","api-converter","graphql","graphql-api","graphql-server","rest-api"],"languages":["TypeScript"],"imageUrl":"","archived":false},{"id":1030925131,"title":"kingsnake","description":"a multiplayer snake game","repoUrl":"https://github.com/mathieucaroff/kingsnake","liveUrl":"","createdAt":"2025-08-02T16:17:29.000Z","updatedAt":"2025-08-03T08:59:40.000Z","topics":["game","multi-player","snake-game"],"languages":["HTML","TypeScript"],"imageUrl":"","archived":false},{"id":457828333,"title":"cellex","description":"Unidimensional Cellular Automata Explorer managing _arbitrary rules_","repoUrl":"https://github.com/mathieucaroff/cellex","liveUrl":"https://cellex.ea9c.com/","createdAt":"2022-02-10T15:07:19.000Z","updatedAt":"2025-02-09T15:59:42.000Z","topics":["cellular-automaton","chaos","chaos-theory","complexity","education","evolution","featured","fractal","html5-canvas","pattern","pattern-detection","put-image-data","rule110","simulation","simulator","turing-completeness","unidimensional","universe"],"languages":["TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/cellex/master/doc/img/cellex-screencap.png","archived":false},{"id":1013403660,"title":"svChess","description":"Web Chess GUI in Svelte5","repoUrl":"https://github.com/mathieucaroff/svChess","liveUrl":"https://chess.ea9c.com","createdAt":"2025-07-03T21:01:24.000Z","updatedAt":"2025-07-14T19:19:30.000Z","topics":["chess","chess-board","game"],"languages":["Svelte","TypeScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/svChess/master/doc/chess-board.png","archived":false},{"id":559377011,"title":"flappy-bird-bevy","description":"A flappy bird game made with Bevy, in Rust","repoUrl":"https://github.com/mathieucaroff/flappy-bird-bevy","liveUrl":"","createdAt":"2022-10-29T23:18:29.000Z","updatedAt":"2023-01-01T18:03:35.000Z","topics":["bevy","flappy-bird","game","rust"],"languages":["Rust"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/flappy-bird-bevy/master/doc/image/2022-10-30-13-46-05.png","archived":false},{"id":468682670,"title":"morsebuzzer","description":"App playing notifications in morse code with the phone vibrator","repoUrl":"https://github.com/mathieucaroff/morsebuzzer","liveUrl":"","createdAt":"2022-03-11T09:15:34.000Z","updatedAt":"2022-03-27T20:51:51.000Z","topics":["android-application","morse-code","notification-api","phone-vibrator"],"languages":["Kotlin"],"imageUrl":"","archived":false},{"id":255177595,"title":"oxowlbot","description":"An ontology chatbot which answers questions and learns from its interlocutor","repoUrl":"https://github.com/mathieucaroff/oxowlbot","liveUrl":"","createdAt":"2020-04-12T21:57:54.000Z","updatedAt":"2020-04-22T14:45:07.000Z","topics":["imtatlantique","my-little-pony","natural-language-processing","ontology"],"languages":["Python"],"imageUrl":"","archived":false},{"id":241831725,"title":"idfly-pi-server","description":"A Python http server for Raspberry Pi allowing to control PWMs via json POST requests - /!\\ FR doc only (yet)","repoUrl":"https://github.com/mathieucaroff/idfly-pi-server","liveUrl":"","createdAt":"2020-02-20T08:31:52.000Z","updatedAt":"2020-02-20T08:32:02.000Z","topics":["airship","blimp","french","pigpio","python-server"],"languages":["Python","Shell"],"imageUrl":"","archived":false},{"id":241830650,"title":"idfly-js-remote","description":"An airship remote controller for movement in 3D","repoUrl":"https://github.com/mathieucaroff/idfly-js-remote","liveUrl":"","createdAt":"2020-02-20T08:26:06.000Z","updatedAt":"2020-02-20T08:26:21.000Z","topics":["airship","blimp","remote-control","web-remote"],"languages":["JavaScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/idfly-js-remote/master/asset/airship-remote-screenshot.png","archived":false},{"id":165416639,"title":"EMSE-AES-VHDL","description":"VHDL implementation of 128bit AES decypher without keyschedule, respecting EMSE teachers conventions","repoUrl":"https://github.com/mathieucaroff/EMSE-AES-VHDL","liveUrl":"","createdAt":"2019-01-12T17:37:16.000Z","updatedAt":"2019-03-27T20:12:38.000Z","topics":["aes-128","aes-decryption","emse","vhdl"],"languages":["VHDL"],"imageUrl":"","archived":false},{"id":161926160,"title":"rule110","description":"An implementation of the Turing-complete Rule 110 monodimensional cellular automaton in HTML5 canvas","repoUrl":"https://github.com/mathieucaroff/rule110","liveUrl":"","createdAt":"2018-12-15T17:02:23.000Z","updatedAt":"2018-12-15T17:13:11.000Z","topics":["cellular-automaton","pattern-detection","rule110","turing-complete","unidimensional-cellular-automaton"],"languages":["JavaScript"],"imageUrl":"https://raw.githubusercontent.com/mathieucaroff/rule110/master/asset/rule110-screenshot.png","archived":false},{"id":162482627,"title":"EMSE-projet-robot-3","description":"A project of remote controlled rover with group parking assistance","repoUrl":"https://github.com/mathieucaroff/EMSE-projet-robot-3","liveUrl":"","createdAt":"2018-12-19T19:37:30.000Z","updatedAt":"2019-01-31T08:19:45.000Z","topics":[],"languages":["C"],"imageUrl":"","archived":true},{"id":234546836,"title":"ltsa-train","description":"Concurrency programming exercise-project for school (IMT Atlantique)","repoUrl":"https://github.com/mathieucaroff/ltsa-train","liveUrl":"","createdAt":"2020-01-17T12:45:11.000Z","updatedAt":"2020-01-26T15:59:41.000Z","topics":[],"languages":["Java"],"imageUrl":"","archived":true},{"id":234528543,"title":"ltsa-canal-lock","description":"Exercise for school","repoUrl":"https://github.com/mathieucaroff/ltsa-canal-lock","liveUrl":"","createdAt":"2020-01-17T10:44:31.000Z","updatedAt":"2020-01-17T11:16:05.000Z","topics":[],"languages":["Java"],"imageUrl":"","archived":true},{"id":219703083,"title":"FilRougeAdapter","description":"FilRouge code adapter exercise","repoUrl":"https://github.com/mathieucaroff/FilRougeAdapter","liveUrl":"","createdAt":"2019-11-05T09:11:50.000Z","updatedAt":"2019-11-29T15:46:56.000Z","topics":[],"languages":["Java"],"imageUrl":"","archived":true},{"id":216438833,"title":"FilRouge","description":"","repoUrl":"https://github.com/mathieucaroff/FilRouge","liveUrl":"","createdAt":"2019-10-20T23:02:55.000Z","updatedAt":"2019-10-21T10:56:30.000Z","topics":[],"languages":["Java"],"imageUrl":"","archived":true},{"id":93502458,"title":"cojsTetris","description":"Cooperative tetris game using C server and javascript webpage clients.","repoUrl":"https://github.com/mathieucaroff/cojsTetris","liveUrl":"","createdAt":"2017-06-06T09:46:57.000Z","updatedAt":"2017-06-23T13:31:05.000Z","topics":[],"languages":["C","Roff"],"imageUrl":"","archived":true},{"id":91879912,"title":"emse.user.js","description":"Student userscript for EMSE school.","repoUrl":"https://github.com/mathieucaroff/emse.user.js","liveUrl":"","createdAt":"2017-05-20T09:49:05.000Z","updatedAt":"2017-11-16T18:32:30.000Z","topics":[],"languages":["JavaScript"],"imageUrl":"","archived":true},{"id":154292202,"title":"formation-js-ismin","description":"Ressources de la seconde formation Javascript donnΓ©e par Mathieu CAROFF et Youen FROGER","repoUrl":"https://github.com/mathieucaroff/formation-js-ismin","liveUrl":"","createdAt":"2018-10-23T08:34:29.000Z","updatedAt":"2018-11-19T09:59:59.000Z","topics":[],"languages":["HTML","JavaScript"],"imageUrl":"","archived":true},{"id":259667736,"title":"hashcell","description":"A hashlife-inspired algorithm to compute, recolor and flexibly pre-render all 1D cellular automata (2nd attempt)","repoUrl":"https://github.com/mathieucaroff/hashcell","liveUrl":"","createdAt":"2020-04-28T14:54:48.000Z","updatedAt":"2021-03-10T16:18:58.000Z","topics":["algorithms","hashlife"],"languages":["TypeScript"],"imageUrl":"","archived":true},{"id":259302511,"title":"hashrule","description":"A hashlife-inspired algorithm to compute, recolor and flexibly pre-render all 1D cellular automata","repoUrl":"https://github.com/mathieucaroff/hashrule","liveUrl":"","createdAt":"2020-04-27T12:06:20.000Z","updatedAt":"2021-03-10T16:09:48.000Z","topics":[],"languages":["TypeScript"],"imageUrl":"","archived":true},{"id":250128763,"title":"derpibooru-discord-link-formatter","description":"Detect Derpibooru links, rewrite them and prefix the text with the rewritten links","repoUrl":"https://github.com/mathieucaroff/derpibooru-discord-link-formatter","liveUrl":"","createdAt":"2020-03-26T01:08:51.000Z","updatedAt":"2021-03-10T12:18:28.000Z","topics":[],"languages":["TypeScript"],"imageUrl":"","archived":true},{"id":459130752,"title":"parcel-transformer-nearley","description":"Parcel transformer plugin for importing nearley grammars as instances","repoUrl":"https://github.com/mathieucaroff/parcel-transformer-nearley","liveUrl":"","createdAt":"2022-02-14T11:16:36.000Z","updatedAt":"2022-03-01T23:26:45.000Z","topics":["grammar","nearley","parcel","transformer"],"languages":["JavaScript"],"imageUrl":"","archived":false},{"id":211712442,"title":"xadom","description":"Small DOM Element wrapper library, for Typescript projects","repoUrl":"https://github.com/mathieucaroff/xadom","liveUrl":"","createdAt":"2019-09-29T19:08:15.000Z","updatedAt":"2021-03-09T19:08:30.000Z","topics":["dom","dom-library","dom-wrapper-library","lightweight","no-dependencies","typescript","typescript-wrapper","wrapper-library"],"languages":["TypeScript"],"imageUrl":"","archived":false},{"id":452815223,"title":"specimen","description":"A data-driven testing library as well as a yaml data format.","repoUrl":"https://github.com/ditrit/specimen","liveUrl":"","createdAt":"2022-01-27T19:24:06.000Z","updatedAt":"2024-12-26T08:52:50.000Z","topics":["data-driven-testing","golang","js","python","rust","typescript","yaml"],"languages":[],"imageUrl":"","archived":false}]