Blog


  • I wrote this webapp to follow the dice roll distribution during a Catan game. Of course it can works with any game that uses from 1 to 3 dices.

    Each time dices are thrown, user can register it by pressing one of the blue buttons. This has for effect to update in real time the game statistics as blue bars. The theoretical values are the orange line.

    User can visualize the history, and undo in case of errors. The state of the application is automatically saved/restored from the browser’s local storage.

    React / Vite / Plotly.js / Material Design


  • Métronome is a web-based single page application that provides a basic metronome with some features oriented for training drummers.

    3 modes:

    • Regular (ticks at regular intervals)
    • Accelerando (starts at a given BPM, and accelerates until it reaches and maintain a target BPM)
    • Zig-Zag (oscillates between two BPM)

    React / HTML / CSS / Vite


  • Seeking is a Job Search Manager, which allows you to record, track, and view your job search journey.

    The main purpose of this project was to practice FastAPI and Next.js in a concrete project.

    FastAPI / Next.js 14+ / Material UI / react-hook-form / zod / openapi / ..

    (suite…)

  • What’s new?

    • Startup screen
    • Visualize an abstract graph
    • Conditional structure layout improved
    • Simpler graph
    • Whole file edition / isolation mode
    • Handle integers
    • Improve reflection system

    Short video of Nodable 0.9
    (suite…)

  • I was recently triggered by the Collatz conjecture – also known as the Syracuse conjecture. As I wanted to learn a few bunches of new web technologies (Bootstrap, Webpack, Chart.js), I decided to start a simple project on the Collatz theme in order to get a new experience.

    The Collatz conjecture involving the Syracuse function is still an unproven mathematical problem. With my website, you can visualize the Syracuse function for a given initial number.

    TRY IT: collatzvisualizer.42borgata.com

    Bootstrap / Webpack / Sass / Chart.js / Javascript / HTML / CSS

    (suite…)

  • jeudemots.42borgata.com’s logo

    My project jeudemots.42borgata.com has been updated to have a new backend.

    Previously, the data was stored in the client side as a monolithic JSON. Now, we use a database. The JSON format is still used to transfer the data from the backend to the frontend.

    This changes allowed me to implement a backend UI to manage the data without to connect to the database administration panel. Jokes can be edited, inserted, and accepted in a simple way.

    I choose PHP to implement this, without a specific framework, that was for learning purposes only.

    Angular 13 / PHP 7.4 / MySQL / phpMyAdmin / XAMPP

    (suite…)

  • Today I publish a first version of Nodable v0.8. This version comes with a lot of changes.

    To start, a picture is better than words:

    Fig. 1 – Nodable v0.8 – User edit a value from the graph, Nodable updates the code.
    Fig 2 – Two instruction nodes liked in green to express next/previous relation.

    What’s new ?

    We handle now multiple instructions and conditional structures. This new feature has been developed in order to figure out how to symbolize the code flow? and how to deal with execution?

    We decided to add new nodes to symbolize instruction, code block and scopes. These nodes can be connected with green links to express next-previous relation type.

    Official website: https://nodable.42borgata.com/

    (suite…)

  • This prototype is a node-able bidirectionnal expression editor.

    Official Website: https://nodable.42borgata.com/

    C++ / OpenGL / SDL2 / ImGui

    (suite…)

  • B-Rend3r is written in C++. I’m using OpenGL and SDL2 to build a minimalist 3d application with the main goal to understand the core of 3d engines by implementing common classes like: Vec3, Mat44, Mesh Generator, Renderer, Transform, etc.

    To give you some details, the Shape component generates the circle’s mesh when program starts, then the KeyboardController handle user inputs to generate a force to apply to the circle, the Physics component apply a smooth before to effectively move the circle using the Transform component (sets position/rotation/scale).

    Video – The user is moving a red circle using keyboard arrows. 

    (suite…)

  • On Socrastination we practice the Socratic dialogue. Around various predefined themes, two participants confront each other by a verbal joust trying to convince each other. The players must also convince the referees, who are responsible for assigning a bonus or a penalty to each of their arguments.

    This website is a final year project of DUT Informatique in special year realized in 2016 by Camille Chac, Maxime Ferrer, Clément Roig and myself. This project was tutored by Madalina Croitoru (Professor UM2 and member of the INRIA GraphIK research team at LIRMM).

    (suite…)