I built this small symbolic algebra calculator as a side project, and I just added a new UI concept I'm excited about: the calculator creates variable buttons dynamically based on whatever the user types.
Type "furnace1", and a button for furnace1 instantly appears. Type multi-character variables like b1 or house2, and they become buttons too. It's a calculator metaphor, but for symbolic equations instead of only numbers.
It's built with Vaadin 24 and Spring Boot in just a few hundred lines of Java. The backend calls a symbolic solver, and the UI stays clean because only the variables actually used appear on the screen.
Live demo: https://algebrator-repo1a-production.up.railway.app/
Source code: https://github.com/eGantry/algebrator-repo1a
Would love feedback on: - the dynamic-variable UI idea, - the UX flow, - whether this approach feels intuitive for math/puzzle problems, - any ideas for extensions or edge cases to test.
Thanks for taking a look!
bellaOxmyx•10h ago
"A house is three times as old as its furnace was when the house was as old as the furnace is now. The present ages of the house and furnace total 45 years. How old is the house?"
I've named my "furnace" and "house" variables "1" and "2", based on the "past" and "present" time indices indicated in the clue.
You can enter, separated by commas: house2 = furnace1 * 3, house2 + furnace2 = 45, house1 = furnace2, furnace1 > 0, furnace2 > furnace1, house1 > 0, house2 > house1, (furnace2 - furnace1) = (house2 - house1)
When you click "Solve", the solver returns: furnace1 = 9, furnace2 = 18, house1 = 18, house2 = 27,