Show HN: While the world builds AI Agents, I'm just building calculators
calcverse.liveI figured I needed to work on my coding skills before building the next groundbreaking AI app, so I started working on this free tool site. Its basically just an aggregation of various commonly used calculators and unit convertors.
Link: https://www.calcverse.live
Tech Stack: Next, React, Typescript, shadcn UI, Tailwind CSS
Would greatly appreciate your feedback on the UI/UX and accessibilty. I struggled the most with navigation. I've added a search box, a sidebar, breadcrumbs and pages with grids of cards leading to the respective calculator or unit convertor, but not sure if this is good enough.
Some comments, based purely on https://www.calcverse.live/calculators/bmi.
• Keyboard accessibility is suffering, because the buttons aren’t associated with a form. Most notably, pressing Enter when one of the text boxes is selected doesn’t do anything. You should put everything inside a <form> element, and then if you’re using <button>, decide whether it’s type=button or type=submit.
• A tad more subjective, but actual radio buttons are better than the buttons you’ve used for Metric/Imperial.
• As it stands, they lack a keyboard focus indication. (And the submit button has poor focus indication.)
• People don’t talk about heights in inches. They talk about them in feet and inches. You want to be able to accept feet and inches as two separate inputs. Not everyone who knows that their height is X′Y″ knows that means 12X+Y inches, and even more will make a mistake in calculating that, or just give up.
• If you switch between metric and imperial, and there’s a number in height or weight, it should probably convert the number to the chosen scale.
• If you just recalculated on input rather than on submit click, the experience would probably be smoother.
• Colour contrast on “Category: Overweight” is definitely too low. “Category: Normal weight” is also a little too low; underweight and obese are fine.
• Consider sometimes what related information might be useful. Every BMI calculator lists the categories, but something I somehow haven’t ever seen and yet which would be very useful for giving someone something to aim for is a mapping: for a given height, what weights do the categories correspond to? e.g. for 200cm, underweight = 0–74kg, normal weight = 74–100kg, overweight = 100–120kg, obese = 120–∞kg. Consider visualisations too. And mentioning what the calculation actually is that is being performed. Calculations are simple. Presenting them well is the harder bit.
I have implemented most points, except the 2nd and last ones. I felt its better to have buttons as they are easier to click. I'm figuring out how to implement the last point.
Thank you so much for the detailed feedback! I'll take some time to go through these points and fix the issues, and will revert back here asap.
Somehow related: “A calculator app? Anyone could make that”: https://news.ycombinator.com/item?id=43066953
Suggestions:
- Fix your certs to not lose traffic when Chrome (at least at the default security level) puts up a scary "Your connection is not private" warning for net::ERR_CERT_AUTHORITY_INVALID and requires an override to proceed to your site.
- Fix whatever reputation damage has caused you to be classified as a phishing site: https://phish.opendns.com/main?url=www.calcverse.live
This is really strange, what can I do to resolve this? My SSL cert is valid. My site doesn't collect or store any sensitive information at all.
I doubt the cert issue is on your end, it appears whenever OpenDNS (Cisco Umbrella) tries to intercept any site when it blocks it.
A suggestion for your speed converter: different sports use different units which your converter could support as well.
A few examples:
Running usually measures pace in minutes per kilometer or mile. That will be extra fun for you since it wouldn't be 4.33333 min/km but would be written as sth like 4:20 min/km.
Swimming uses min/100m or sec/100m.
Rowing uses min/500m.
If you add these then I'd be using this a lot!
Thanks for the great feedback! I've added pace units to the speed convertor, do check it out and let me know if you need any changes. You can send all requests at the contact form on the site too: https://www.calcverse.live/contact
Will aim to implement it within 24 hrs. Thanks again!
You're not the only one. I recently took up running and didn't particularly like any of the existing running pace calculators, so I made my own: https://calcubest.com/health/runningpace
And then kinda realized that there were others I wanted to have, and a few I thought others might want, so I added more.
A calculator is simple enough that it's fun to work on one when I need a break from something more complex but want to be able to do something other than doom scrolling. So now every couple of weeks I add another one.
To anyone thinking of starting running but either doesn't know where to start or thinks he can't do it, look up "couch to 5k".
It's a free NHS audio program that guides your phase so that in 9 weeks you can do a 5k run.
I can second this. That's the program I started with. I'm now training for a half marathon using https://www.baa.org/races/baa-half-marathon/train/leveltwo and I've shaved like a minute off my mile pace while increasing my milage from 6 mile runs to 12 mile runs.
There's lots of programs for running and most of them seem good for improving performance.
No strength training in this?? I have been training legs for years along with runs (treadmill runs/uphill runs etc)... only problem my timing for the half marathon has gone down from 2h35 to 2h38 and then I had an accident last year which made me unable to run most of the second half of last year which has made things a lot tougher for me to train :(
One calculator I’ve come to love over the years is Numi. I keep it open all day every day and it does a pretty good job of bridging the gap between the typical skewmorphic calculator app and scilab or python. It’s a text based calculator that allows you to declare variables and do unit and base conversions and save and load your work. No graphing though unfortunately and i dont think it really has much in the way of plugin support.
Anyway not to say your calculators arent useful op, i just think that something that can be open on the desktop is more useful than something that is hidden in a chrome browser tab.
Haven't tried Numi, but I made a calculator with variables as a side project on a whim: https://calc.li/ - it is online, but there is no backend and you can save the whole page as an offline file if you want, using localStorage for state.
Typing “2”, “+”, “3” on an iPhone in Safari gets it to display “23+”, which doesn’t appear correct to me ? Looks cute otherwise.
I also love numi on my mac! a similar online alternative is https://numbr.dev/
If I calculate something, hit back in my history, and then return, what I had entered is wiped out.
If I enter text into this HN comment box, hit back in my history, and then return, what I've typed is maintained.
BMI calculators are dangerous tools in uncritical hands. Here is a link to the UK NHS page that provides such a calculator but only after it has described some of the limitations:
https://www.nhs.uk/health-assessment-tools/calculate-your-bo...
Yep, according to BMI, Schwarzenegger has always been obese af.
On the topic of calculators. I discovered Figr[1] on HN a while ago, and it really helps when doing one off multi variable thing, like helping a customer estimate their bill etc.
Kudos on building this. I occasionally search for these on Google and am always disappointed by the mess. Bookmarked.
[1] https://www.figr.app/
Thank you so much for the bookmark! Means a lot. Figr looks great, will take inspiration and guidance from it. Thanks for the suggestion.
I have a question about calculator building, if anyone has a suggestion. My industry revolves around quite complicated calculators, with anywhere from 10 to 50 data inputs - and the result are large projection tables and charts.
These still live in excel, but I would love to move then into a web app.
Is there a best practice way to go about this? I've tried basic html forms that pass to python for the number crunching (there are optimisations and Monte Carlos). But it gets so messy as the number of input fields increase. Does a tool exist to simplify this process?
Something like Dash or Streamlit might be useful to manage an App like this.
unless you want to dumb down the interface so it's more like a wizard, the best you can do is make a framework so the complexity is separate. ie, the business logic is separate from the application logic. without more details it's impossible to say how I'd simplify it but there's gonna be a lot of having to learn your specific use case before suggesting how to simplify it.
unfortunately the complexity has to live somewhere, the only question is how best to manage it.
Looks nice. Feedback: I was trying to enter "1000$" and "12%" (in the loan calculator) and it rejected my inputs ("Loan amount must be a positive number" and "Interest rate must be between 0 and 100") - could you just make it a bit more forgiving, if the units $ or % are included in the user input?
Sick work! I built this small calculator I was using to estimate Redis usage when I'm working on some projects: https://redisestimator.fly.dev
That's a nice, clean website. Well done!
I create calculators in support of the guides I write for immigrants.[0] They are a great way to turn 10 pages of text into a simple form with a clear output. I'm a big fan of them, especially when you add advice to the output.
A bit of advice + opinions:
- The fields look grayed out and disabled. Using a traditional white background would make more sense.
- You should explain what the calculator does, why it matters, and how to interpret the output. This confers some SEO benefits, too.
- The age calculator would be easier to find as a difference-between-two-dates calculators. It would be cool to have a reverse "X days ago" calculator. I use both often, and most of the top options suck.
- Set some maximum line widths. It helps readability.
[0]: https://allaboutberlin.com/tools
This is great. I really think that having a theme to iterate on is the best way of revisiting coding/math skills and learning new ones. And building things from scratch is so much more rewarding than snapping parts together. My free time right now is trying to rewrite 90s screensavers down to the rasterizer level, without consulting anything for how to do stuff like antialiasing.
One little note, just checking out your loan calculator: On my phone, the total interest div is cut off at the decimal point, and the total payment overflows the nice round rect holder. You could dial in the font size scaling with a bit of custom Javascript there. They stand out, too, because they're bottom line figures.
Thanks a lot for the feedback! I have fixed the issue, please let me know if you want any further changes.
Very nicely done. If I were to tweak something....
Some have different names once you click on them.
- "Speed" is "Speed and Pace."
- "Data Size" is "Data Storage"
- "Fuel Economy" is "Fuel Consumption"
On the Data Size / Data Storage calculator, I would add kilobits, megabits, gigabits, and terabits. In addition to data storage, that might make it useful as a bandwidth calculator as well.
Just a side question but "while the rest of the world builds ai systems" makes me curious about what rough percentage of software engineers out there are working directly on building AI systems, even just on a front end level.
Assuming there's not an easily access exact percentage, just curious what people's perceptions are.
Probably less than a year before although be aware that "ai systems" in this context most likely also means so called "gpt wrappers" (RAG systems, integrations etc.). Small data point: the software house I work for created a lot of those in 2024 because a lot of clients asked for it. However, clients quickly realized that it is not as quick and cheap as promised by AI companies and it requires a lot of work on their side to clean their data.
Yup, I'm curious about this as well, although on social media it seems as if everyone is working on AI Agents or I'm in an AI bubble.
Where’s the math actually done, on device or on your server?
Feedback: the compound interest calculator doesn’t support continual compounding? That’s surprising, and also the easiest to compute.
I must admit I still don't understand continual compounding
Imagine that instead of compounding the interest every day, you wanted to calculate it every nanosecond. And then, every billionth of a nanosecond. If you keep dividing that until it’s an infinite number of infinitely small compounding, you get a super simple equation:
10% interest for 5 years? 3% for 8 years? You can plug any numbers into that and get the end result in 1 step.Sibling’s explanation is a great starting point! If you understand annual, weekly, and daily compounding, continuous compounding is the limit of what happens when the time you compound over becomes ever shorter. It’s not obvious without calculus, but it’s a well-defined function.
Explained in a terrible way, it's integrals for interest if "compound daily/monthly/yearly" was an estimation using discrete intervals
you didn't really improve by hiding behind "integrals"; this is why so many kids are afraid of calculus.
The explanation worked for me. I learned basic calculus but didn't know about continual compounding interest.
this isn’t kindergarten. if something is described concisely by analysis then that’s how I want it explained to me too.
You could ride the AI hype by turning these calculators into something LLMs can represent, then having them build them declaratively, then have another model test and rate the calculators repeatedly providing feedback... and 6 months later have the best calculator ever: the HP-12c
If you're taking suggestions, I have a frequent need to do basic arithmetic on fractions and not many "app" calculators do that well or at all.
On the desktop, if you keep a Scheme interpreter installed, you can use it as a quick arbitrary-precision calculator, including support for fractions.
Guile is the most easily available one on a Linux system, though some others will give better REPL out of the box.
You can also run a Scheme REPL within Emacs, with `M-x run-scheme RET`. Optionally with Quack. https://www.neilvandyke.org/quack/Heh, I hated writing arithmetic in lisp even when I used it fulltime with paredit.
Fortunately, many languages have a rational type, even Python, which might be more ergonomic even if ratio literals aren't supported:
You didn't like the parentheses and prefix operator syntax?
Syntax-wise, you could use Racket (or another Scheme, with a little more difficulty) to make a very thin layer over normal Scheme, and package it into a program called `calc`, like this:
Or do you want a bigger library of off-the-shelf numeric tools, like Python, Julia, or R?I'm just showing that a more accessible language like Python has a repl with a ratio type.
This is very different, but check out my https://git.sr.ht/~akkartik/notebook.love
I don't have an immediate use for it, but I quite like it!
Me neither and me too! Thanks :)
Buy a handheld calculator. Many scientifics since the mid 80s handle compound fractions via the "a b/c" key.
I have a couple, they work fine, but there don't seem to be that many options for apps/web.
Looks like the website has been tagged as phishing site by opendns. When I open the website, it redirects to https://phish.opendns.com/null?... link
I tried your interest calculator and it fails. Maybe because it accepts duration in years and I've specified 0.5 (with quarterly payouts).
I didn't get any errors, just the wrong result (0).
I think the main problem is the poor choice of units: user should be able to select even days as units, not just months/quarters.
Thanks a lot for reporting this! I have fixed the issue, and improved the ui of the result given by the calculator. Do let me know if there are any more changes you would like to see.
I don't see the issue being fixed: try to calculate investment of $1M with 20% annual interest for a loan with 0.5y duration. The calc says the income would be 0.
Thanks for sharing! I found an amusing math bug in the basic calculator:
0 + 0.00000001 gives 1e-8 (I see you’re displaying in scientific notation, hmm— I wonder how you’re storing it internally…)
Then multiplying that by 5 gives… -39.
Somehow 1e-8 * 5 is being parsed as 1 + (-8 * 5)?
Hahaha. There is something in the aether today. I just posted here about my own similar tool, but doing it with REST apis.
https://news.ycombinator.com/item?id=43173022
A random dimensional analysis that I find amusing about fuel consumption units:
liters / 100 km => m^3 / m => m^2
(volume) / (distance) => (area)
This can be interpreted as the cross-sectional area of a hypothetical trough of fuel running alongside the road, whose contents you slurp up and consume in your engine as you pass (in lieu of using fuel stored in an onboard reservoir).
Another really fun one, though slightly less literal than L/100km, is charging rates in electric vehicles, which often present charge state as range (km), rather than energy stored (kWh); and so if it takes you one hour to gain 300km of range, well… you were charging at a rate of 300km/h.
(With in-flight refueling, you could potentially refuel an aeroplane at 300km/h at 300km/h…)
Related: Uncanceled Units <https://xkcd.com/3038/>. (“50 gallons per square foot” especially is similar to your L/100km: volume ÷ area = length.)
FYI the word is "converter" not "convertor"
https://www.dictionary.com/browse/converter
Looks like both spellings are used: https://en.wiktionary.org/wiki/converter
Yes, both are correct spellings of the word.
Ok. I need a fully accessible sci calculator that is keyboard accessible for all functions. Check out desmos site. Their calc isn’t bad but clear button isn’t keyboard accessible.
While the world does AI I learn assembly
I really feel this, and I wonder whether it's us humans trying to reaffirm our higher reasoning, or whether it's a regression to trying to recapture a simpler age.
For me it's also the joy of working with a deterministic system.
Both, probably.
Really! Is it part of your profession or study?
Hobby, I am a data engineer and definitely I will need to encounter AI. But assembly gives a different perspective of machines, make my brain hard-working and in case of societal collapse you need an assembler. We need more assemblers more cross-platform frameworks (collections of macros) and more emphasis on the way things work, like guides, articles. Not less.
What a coincidence, I used to be a data engineer too! Then I switched to building websites with NextJS. Totally agree with your point, I feel the same reasoning applies to higher level coding too, the best AI coding agents out there are at most a force multiplier, which means knowing how to code has even more leverage in the age of AI, allowing one person to do the work of an entire team.
fellow data engineer -- yeah i've spent the last 6 months reverse engineering binary data files for the elektron octatrack as a hobby project while waiting to see how the hype cycle plays out. deffo gives a new understanding of how the machine's internals work getting to grips with the underlying stuff.
edit -- i've looked at some assembly posts on here before and they often hurt my brain, so respect to you for digging into it.
Good work. I for a second thought they are physical ones.
Thanks! Yup, its natural to think of that at first, that would be even more fun :)
BTW I have always been thinking about making some native apps in the spirit of Borland Sidekick -- a lot of small, native apps that a programmer can use, or a business man can use.
AI can't calculate anyway, so, you're doing good.
Good to hear that :)
[dead]
I started something similar recently: https://calcbun.com
They key is finding unique calculators.
Same. But mine was an android app. github.com/crouther
I also built a unit converter (for android - https://unitmeasure.xyz). Best of luck, and even though LLMs are widely available, good tools still come in handy!
I like `units` for unit conversion. It's in the default install of MacOS, so readily accessible for most people.
All of these calculators, and not one basic math calculator.
There is a basic math calculator: https://www.calcverse.live/calculators/basic Do let me know if you want to see any changes in it.
Ah! Sure is. I missed the sidebar when I looked through. Overall this is very nice. I typically use omnicalculator, this is a nice fresh look compared to that tool.
Thanks! If you need a new calculator, need to report a bug or any improvements I can make, you can reach out on the contact form on the site too: https://www.calcverse.live/contact
I aim to fulfil requests within 24 hrs on an average.
We have slide rules for that.
Just an FYI, your site is blocked by Sophos Web Protection:
> Your organization's policy prohibits access to websites categorized as Spam URLs. Return to the page you were previously viewing.
A tiny bit of feedback, for you about unit conversion. I don't want to convert 47383974 seconds to hours, I want to know that it's 1 year, 6 months, 0 days, 18 hours, 51 minutes, and 18 seconds. I don't want to know that 7492837 inches. that's 624,403.0833 feet, but what I really want is for it to say 118 miles, 454 yards, 1 foot, and 1 inch!
https://planetcalc.com/
and https://www.omnicalculator.com
When it comes to tabulating currency amounts, it makes sense to right-align the numbers. That way, their magnitudes align.
Maybe a monospace font for those numbers too.
I tried 0.00000000000000000000000000000000000000001 * 2 and it gave me 0. Precision on a calculator is very important, such operations should be exact. Please refrain from using floating point operations.
It may be pedantic from me but what are you calculating that needs that level of precision?
Or more specifically, why not just use a different unit base, fixed point arithmetic doesn't come for free.
Bless you. Keep fighting the good fight.
Will keep fighting.
On wide screens the app is not centered, add some margin auto.
Loser. I bet you missed out on the metaverse. And blockchain.
Seriously, this is great - solving problems for users seems to be hugely underrated here.
Good thing I missed out on metaverse and blockchain, or I'd be in debt. Seriously, I have optimism about them too, just not jumping on that train yet. Thanks for the feedback :)
Loved the title! XD
Its good to hear that :)
inspiring in a weird way. maybe there is hope for engineering afterall.
Happy to fight for engineering, any day :)
This is dope
Thanks :)
Can't Wolfram Alpha do this?
[dead]
[dead]