A keyboard-accessible calculator built with Vue 3. Supports basic arithmetic operations, a light and dark theme, and a responsive mobile layout.
https://farzanuddin.github.io/calc
This project was built as a hands-on exploration of two things: getting back up to speed with Vue after not having used it for a while, and evaluating the newly released Vite 8 — specifically how Rolldown works as its bundler under the hood. Rolldown replaces the previous Rollup-based pipeline with a Rust-native bundler, and a small but real project felt like the right way to observe its build performance and output characteristics in practice.
- Basic arithmetic — addition, subtraction, multiplication, division, and percentage
- Chained operations — apply multiple operators in sequence without pressing equals
- Keyboard support — full keyboard input for digits, operators, Enter, Backspace, and Escape
- Haptic feedback — optional vibration on button press on supported mobile devices
- Error handling — gracefully catches division by zero and malformed states
| Technology | Version | Role |
|---|---|---|
| Vue | ^3.5.30 | UI framework |
| Vite | ^8.0.0 | Build tool & dev server |
| Tailwind CSS v4 | ^4.2.1 | Utility-first CSS framework |
| Vitest | ^4.1.0 | Unit testing |
-
Install dependencies:
pnpm install
-
Start the dev server:
pnpm dev
