๐งฎ CalcSuite
50 tools. Zero frameworks. One clean interface.
- ๐ Overview
- ๐ก Why CalcSuite?
- โจ Key Features
- ๐ ๏ธ Built With
- ๐งฐ Full Tool List
- ๐ Theming
- ๐ Getting Started
- ๐ Project Structure
- ๐ง Advanced JS Concepts Showcased
- ๐ค๐ผ Contributing
- ๐ License
CalcSuite is a static, framework-free web app that brings together ~50 calculators and converters โ everything from a Simple Calculator to a live Currency Converter โ inside one modern, unified interface.
| ๐ Typical Calculator Sites | โ CalcSuite | |
|---|---|---|
| Directions | Separate page per direction (cmโft and ftโcm) | ๐ One tool, both directions, swap with a click |
| Feel | Static, click "Calculate" to see anything | โก Live results as you type |
| Design | Ad-heavy, dated layouts | ๐จ Clean, modern, distinctive UI |
| Theme | Fixed light theme | ๐ Dark / Light mode, remembered on reload |
| Devices | Desktop-first, cramped on mobile | ๐ฑ Mobile-first, fully responsive |
| Stack | Often bloated with dependencies | ๐งฉ Pure vanilla JS โ no frameworks at all |
- โก Live Calculations โ Results update instantly as you type, no "Calculate" button needed
- ๐ Unified Bidirectional Tools โ Dropdown selectors + a swap (โ) button handle every conversion direction
- ๐ Dark / Light Mode โ Toggle with your preference saved via
localStorage - ๐ฑ Fully Responsive โ Mobile-first design that scales cleanly to desktop
- ๐ Live Search โ Instantly filter all 49 tools from the home page as you type
- ๐ Copy-to-clipboard โ One-click copy on every result, powered by the Clipboard API
- ๐งญ Client-side Routing โ Smooth SPA feel via a lightweight hash-based router, with zero page reloads
- ๐พ Persistent History & Favorites โ Pin your go-to tools and revisit past calculations
- ๐ Live Currency Rates โ Real exchange-rate data via
fetch+async/await - ๐ง Originally-written Explanations โ Every tool includes a short breakdown of the formula/logic behind it
| Layer | Technology |
|---|---|
| Structure | Semantic HTML5 |
| Styling | CSS3 โ custom properties for theming, Flexbox & Grid for layout |
| Logic | Vanilla JavaScript (ES6+) โ Classes, Modules, Closures |
| Persistence | localStorage (theme, history, favorites) |
| Live Data | fetch + async/await for currency exchange rates |
- Simple Calculator
- Scientific Calculator
- Percentage Calculator
- Average Calculator (Mean / Median / Mode)
- Standard Deviation & Variance Calculator
- Fraction Calculator
- Ratio Calculator
- LCM & GCF Calculator
- Quadratic Equation Solver
- Base Calculator (Binary / Hex / Octal Arithmetic)
- Random Number Generator
- Simple & Compound Interest Calculator
- Loan / EMI Calculator
- Discount Calculator
- VAT / Tax Calculator
- Profit Margin Calculator
- BMI Calculator
- BMR / Daily Calorie Needs Calculator
- Ideal Body Weight Calculator
- Age Calculator
- Date Difference Calculator
- Countdown Calculator
- Time Duration Calculator
- GPA Calculator
- Grade / Percentage Calculator
- Final Grade Needed Calculator
- Ohm's Law Calculator
- WattโVoltโAmpโOhm Calculator
- Power Calculator
- Tip Calculator
- Age in Days/Weeks/Hours Calculator
- Length Converter
- Weight/Mass Converter
- Temperature Converter
- Volume Converter
- Area Converter
- Speed Converter
- Data Storage Converter
- Custom Unit Converter
- Base Converter (Binary โท Decimal โท Octal โท Hex)
- ASCII โท Text โท Binary โท Hex Converter
- Roman Numeral Converter
- Fraction โท Decimal โท Percentage Converter
- Scientific Notation Converter
- RGB โท HEX โท HSL โท HSV โท CMYK (with live swatch preview)
- Power Converter
- Voltage Converter
- Frequency Converter
- Energy Converter
- Live Currency Converter (real-time exchange rates)
CalcSuite ships with a full dark and light theme system built on CSS custom properties. The active theme is:
- Read from
localStoragebefore first paint โ no flash of the wrong theme - Toggleable from the header at any time
- Persisted automatically for your next visit
CalcSuite is 100% static โ no build step required. Because it uses ES Modules and fetch, it needs to be served over http(s), not opened directly as a file://.
- A modern browser (Chrome, Opera, Brave, Firefox, Edge)
- Any lightweight local server (Node's
serve, VS Code's Live Server, or Python's built-in server)
# Clone the repository
git clone https://github.com/TajkirHossen-14/CalcSuite.git
# Move into the project folder
cd CalcSuite# Option 1: using npx serve
npx serve .
# Option 2: using Python
python3 -m http.server 8000Then open http://localhost:PORT in your browser. ๐
CalcSuite/
โ
โโโ index.html
โ
โโโ css/
โ โโโ base.css
โ โโโ components.css
โ โโโ themes.css
โ โโโ variables.css
โ
โโโ js/
โ โโโ calculators/
โ โ โโโ datetime/
โ โ โ โโโ age.js
โ โ โ โโโ countdown.js
โ โ โ โโโ dateDifference.js
โ โ โ โโโ timeDuration.js
โ โ โโโ electrical/
โ โ โ โโโ ohmsLaw.js
โ โ โ โโโ power.js
โ โ โ โโโ wattVoltAmpOhm.js
โ โ โโโ everyday/
โ โ โ โโโ ageInUnits.js
โ โ โ โโโ tip.js
โ โ โโโ financial/
โ โ โ โโโ discount.js
โ โ โ โโโ interest.js
โ โ โ โโโ loan.js
โ โ โ โโโ profitMargin.js
โ โ โ โโโ vat.js
โ โ โโโ grade/
โ โ โ โโโ finalGrade.js
โ โ โ โโโ gpa.js
โ โ โ โโโ gradePercentage.js
โ โ โโโ health/
โ โ โ โโโ bmi.js
โ โ โ โโโ bmr.js
โ โ โ โโโ idealWeight.js
โ โ โโโ math/
โ โ โโโ average.js
โ โ โโโ baseCalculator.js
โ โ โโโ fraction.js
โ โ โโโ lcmGcf.js
โ โ โโโ percentage.js
โ โ โโโ quadratic.js
โ โ โโโ randomNumber.js
โ โ โโโ ratio.js
โ โ โโโ scientificCalculator.js
โ โ โโโ simpleCalculator.js
โ โ โโโ standardDeviation.js
โ โโโ converters/
โ โ โโโ color/
โ โ โ โโโ color.js
โ โ โโโ currency/
โ โ โ โโโ currency.js
โ โ โโโ electrical/
โ โ โ โโโ energy.js
โ โ โ โโโ frequency.js
โ โ โ โโโ power.js
โ โ โ โโโ voltage.js
โ โ โโโ numberSystem/
โ โ โ โโโ asciiText.js
โ โ โ โโโ base.js
โ โ โ โโโ fractionDecimal.js
โ โ โ โโโ roman.js
โ โ โ โโโ scientificNotation.js
โ โ โโโ units/
โ โ โโโ area.js
โ โ โโโ custom.js
โ โ โโโ dataStorage.js
โ โ โโโ length.js
โ โ โโโ speed.js
โ โ โโโ temperature.js
โ โ โโโ volume.js
โ โ โโโ weight.js
โ โโโ core/
โ โ โโโ Fraction.js
โ โ โโโ toolPage.js
โ โ โโโ UnitConverter.js
โ โ โโโ unitTool.js
โ โโโ utils/
โ โ โโโ dom.js
โ โ โโโ format.js
โ โ โโโ storage.js
โ โ โโโ validators.js
โ โโโ views/
โ โ โโโ category.js
โ โ โโโ home.js
โ โ โโโ library.js
โ โ โโโ shared.js
โ โโโ main.js
โ โโโ router.js
โ โโโ tools.js
โ
โโโ sw.js
โโโ manifest.json
โ
โโโ LICENSE
โ
โโโ Assets/
โ โโโ Banner/
โ โโโ Favicon/
โ
โโโ README.md
- ๐งฑ ES6+ Classes โ Each tool encapsulates its own state and logic
- ๐ฆ ES Modules โ One
import/exportmodule per tool, dynamically loaded per route - ๐ Closures & higher-order functions โ Reusable calculation logic (e.g. the generic
UnitConverterclass powers 6+ different converters) - ๐ฏ Event delegation โ Powers the router and dynamic tool switching
- โณ Debouncing โ Smooth, efficient live-input calculations
- ๐ Async/Await + Fetch API โ Real-time currency exchange rates
- ๐พ LocalStorage โ Theme, history, and favorites persistence
- ๐ Clipboard API โ One-click "copy result" on every tool
- โ Inline form validation โ Clear, immediate feedback on invalid input
Contributions are always welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/Amazing-Tool) - Commit your changes
- Push and open a Pull Request
If you find CalcSuite useful, consider giving it a star โญ
This project is licensed under the MIT License.
