Feb 2026
·
v1.3 — Bug fixes & cleanup
fix
infra
remove
-
Removed student & assignment pages.
student.html,assign.html, andassignments.jswere left over from an earlier feature that didn't go anywhere. Cleaned them out entirely along with all references in the service worker precache list. -
Fixed bond restore timing in shared links.
Bonds were being restored inside a hardcoded
setTimeout(150ms)after atoms were placed. This worked most of the time but would silently fail if rendering was slow. Replaced it withrequestAnimationFrameso bonds always attach on the next actual render frame. - Added overwrite confirmation for shared links. If you opened a share link while you already had atoms on the canvas, it would just wipe your work with no warning. Now shows a dialog with atom counts for both the current canvas and the incoming one — "Keep mine" or "Load shared."
-
Hardened the element data API fallback.
The engine fetches element data from a GitHub-hosted JSON file on load. There was no timeout, so a dead CDN could hang the app indefinitely. Added a 5-second
AbortControllertimeout and better validation before accepting the response. Falls back to the bundledELEMENTS_DATAwith a clear warning instead of a silent error. -
Service worker bumped to v13.
Removed removed pages from precache, cleared the
NEVER_CACHE_PATHSlist that no longer applied.
Feb 2026
·
v1.2 — Shareable links, domain, icons
feature
design
infra
fix
-
Shareable molecule URLs — fully serverless.
The whole canvas state (atoms, bonds, viewport, temperature, pressure) gets serialized to a compact object, LZ-compressed, and encoded into the URL hash as
#s=.... No server, no database. Someone opens the link on a different device and sees the exact same molecule. Deterministic by design. - Migrated to atomency.com. Moved off the old dev domain. Updated all OG/Twitter meta tags, canonical URLs, and social previews.
- New orbital atom icon. Replaced the old "A" lettermark with an actual atomic orbital icon — three overlapping electron orbits around a glowing nucleus. Matches the dark navy + gold palette. Updated favicon, PWA icons (192 and 512px), and the logo.
- Fixed the stale cache problem. The service worker was pure cache-first, so deploying updates wouldn't reach users until they manually cleared cache. Switched to stale-while-revalidate for assets (serve cached instantly, refresh in background) and network-first for HTML navigation. Deployed changes now show up on the next page load.
Feb 2026
·
v1.1 — Reaction sim, nuclear decay, VSEPR panel
feature
design
- Reaction simulator with equation balancer. Balances chemical equations algorithmically using matrix methods, not a lookup table. Also classifies reaction type — synthesis, decomposition, single/double replacement, combustion, acid-base. Reactants and products render as color-coded molecule cards.
- Nuclear decay modeling. Alpha, beta, gamma, and positron decay. Multi-step decay chains render as connected nodes. Half-life calculator lets you compute remaining quantity after any number of half-lives.
- Molecular side panel. Shows VSEPR electron and molecular geometry with bond angles, polarity (based on electronegativity differentials), estimated boiling point, and a full bonding summary. All calculated algorithmically from the structure — not hardcoded per molecule.
- Export / import. JSON export saves full molecular structures including atom positions, bonds, and environment state. Import loads them back. PNG export of the canvas was already in the engine.
-
Keyboard shortcuts + help modal.
?opens a shortcuts reference.Escapecloses modals.Spaceresets camera.Deleteremoves selected atom. Smart detection so shortcuts don't fire while typing in search. -
Architecture split into modules.
Moved features into dedicated JS files (
vsepr-geometry.js,nuclear-decay.js,reaction-kinetics.js, etc.) instead of one large file. Faster parsing, easier to maintain.
2025
·
v1.0 — Original release
feature
- Why I built this. I kept running into the same problem in chemistry class — the concepts that actually matter (bonding, geometry, electron behavior) are invisible. Everything we had was either a static diagram or a simulation locked behind a school license. I wanted something I could actually use to see what was happening, so I built it.
- Interactive periodic table — all 118 elements. Element cards with live trend overlays: electronegativity, atomic radius, ionization energy, common ions. Filterable and searchable.
- Molecular builder with a real physics engine. Drag-and-drop atom placement with real-time bond validation. Temperature and pressure controls affect behavior. Not just visual — the engine actually tracks valence electrons and enforces bonding rules.
- Serverless by design. No login, no backend, no data collection. Runs fully in the browser. Works on school Chromebooks without IT approval.