Work / MoleculeSim

MoleculeSim

Partial 2026

An interactive periodic table and bonding sandbox that builds only what its teaching rules support, and says so.

Recorded from the running app: the salt mission, built only from its explicit teaching rules.

What it does

You can browse and search every element, inspect representative atoms, then place atoms on the Bonding Bench. Only combinations covered by explicit teaching rules and recorded structures will form, such as water, salt and ethanol. Anything else stays visibly unsupported. Real-Chrome tests drive the missions, reduced motion and narrow-screen reflow, and a harness measures frame budgets.

How it runs

  1. Open the Bonding Bench with a guided mission ready
  2. Pick elements from the inventory
  3. Place atoms in the chamber
  4. Supported combinations form; anything else is labelled unsupported
  5. Inspect bonds in the structure explorer
  6. Look closer in the element atlas or build an atom

How it works

Atom Lab is deliberately an educational visualisation, not a chemistry engine. Formula matching is never allowed to stand in for a claim of synthesis. Guided missions use recorded topologies and source-backed pathways, and the interface labels what is a teaching model. Unfinished lab state is saved and restored. Pause, zoom, pan, fit-all and keyboard controls are available, and reduced motion is honoured. Failed or contended performance measurements are kept rather than deleted.

Skills shown

Testing & QA
Unit tests, real-Chrome mission checks and a frame-budget harness.
Frontend, 3D & graphics
A Canvas sandbox with zoom, pan, keyboard controls, reduced motion and narrow-screen reflow.

Worth knowing

  • Bounded rules: unsupported combinations are refused rather than invented.
  • Formation animations follow recorded structures and are labelled as a teaching model.
  • 37 unit tests and 14 real-Chrome checks, including reduced motion and narrow-screen reflow.
  • One isolated performance run measured 2.6 ms mean and 4.6 ms p95 per frame callback, with no long tasks.