Building a Browser-Only Calculator With Reproducible Offers 28.07.2026 javascript architecture state-management ux