Skip to content
ABDOULAYE NIANG
Back to projects

Interactive Web Application · EdTech · Simulation · User Experience

Labo Virtuel Sénégal

A virtual physics and chemistry lab for Senegalese secondary schools: students run the experiments of the official curriculum as interactive simulations.

Role
Personal / Academic Project
Category
Interactive EdTech
Core framework
Next.js
Year
2026
Labo Virtuel Sénégal on desktop: class selection from Quatrième to Terminale S

01

Overview

Labo Virtuel Sénégal is a platform of virtual practical work in physics and chemistry, built with Next.js. It follows the official Senegalese curriculum from Quatrième to Terminale S and is currently in beta.

It is a different kind of product from a marketplace or a classic SaaS: the interface itself is the experiment, so interaction, visual feedback and the logic behind each simulation carry most of the work.

02

The Problem

Physics and chemistry are learned by experimenting, but practical work needs equipment, reagents and supervision, and some manipulations are not safe to repeat freely.

Labo Virtuel Sénégal gives students a way to manipulate, test and learn without danger, on the experiments their own curriculum expects them to know.

03

The Solution

A free web application organised the way school is: the student picks a class, then a chemistry or physics experiment from that year's programme, and runs it as a simulation.

Each experiment exposes the parameters that matter. In the projectile lab, for example, the student sets the initial speed and the launch angle, fires, and compares the trajectory with the theoretical range and peak height.

04

My Role

A personal and academic project.

05

Tech Stack

  • Next.js
  • React
  • JavaScript
  • Tailwind CSS
  • PixiJS
  • Matter.js
  • Recharts
  • smiles-drawer
  • PWA
  • Vercel

Next.js applied to interactive educational experiences.

06

Architecture

  1. Learner

    Browser

  2. Next.js

    App Router, React 19

  3. Simulation layer

    PixiJS · Matter.js

  4. Vercel

    Hosting, prerendered pages

A Next.js App Router application written in JavaScript and styled with Tailwind CSS. The simulations run in the browser: PixiJS renders the scenes and Matter.js provides the physics engine.

Recharts draws the charts and smiles-drawer the molecular structures. The app is a PWA, with a web manifest and a hand-written service worker, and is hosted on Vercel.

07

Key Features

  • Five class levels: Quatrième, Troisième, Seconde S, Première S and Terminale S.
  • A catalogue of chemistry and physics labs per class — in Terminale S, from acid-base titration and esterification to RLC circuits, projectile motion, interference and radioactivity.
  • Adjustable parameters with immediate visual feedback, alongside the theoretical values.
  • A quiz attached to the experiment.
  • Installable as an app from the browser.
  • Free access to every level.

08

Technical Challenges

  • Making PixiJS and Matter.js work alongside React rendering without re-rendering the interface on every frame.
  • Keeping simulations accurate: displayed values have to match the formulas of the curriculum.
  • Making the manipulations usable with a finger on a small screen.
  • Writing the service worker by hand and controlling exactly what is cached.

09

Implementation

  • Each class and each experiment has its own route, so a lab can be opened or shared directly.
  • Scenes are rendered with PixiJS, and Matter.js handles the physics of the mechanics labs.
  • Measurements are plotted with Recharts; molecules are drawn with smiles-drawer.
  • The PWA relies on a web manifest and a service worker written by hand, without a dedicated library.
  • Pages are prerendered and served from Vercel.

10

Screenshots

Labo Virtuel Sénégal on desktop: class selection from Quatrième to Terminale S
Labo Virtuel Sénégal — choosing a class on desktop.
Labo Virtuel Sénégal on mobile: class selection with the install button
Labo Virtuel Sénégal — choosing a class on mobile.

11

Results

  • The platform is live in beta and installable from the browser.
  • Five levels are covered, from Quatrième to Terminale S, in physics and chemistry.

12

Lessons Learned

  • In a simulation the interface is the content: every slider has to map to a physical quantity the student recognises.
  • Giving each experiment its own route keeps the project readable as the number of labs grows.
  • Starting from the official curriculum gives a clear scope and avoids simulating for its own sake.