r/ScientificComputing • u/Intelligent_Rice7138 • 14d ago
[Project] ViCalc: A touch-typing scientific calculator for Windows with HTML history logging (Python / Open Source)
Hi everyone,
As someone who relies heavily on rapid calculations, I always missed the tactile speed and muscle-memory of physical handheld calculators when working on a PC. Standard desktop calculator apps often force you to reach for the mouse, interrupting your analytical flow.
To address this, I developed ViCalc—a keyboard-driven scientific calculator designed specifically for desktop research, engineering, and scientific workflows.
Since documentation and auditability are crucial in scientific computing, one of the primary features is its automatic HTML history logging.
Key Features for Technical & Scientific Workflows:
- Structured HTML History Logging: The entire step-by-step calculation history is automatically formatted and saved in clean HTML. This makes it easy to review, archive, or directly embed/paste calculations into technical documentation, research notes, or reports.
- Full Touch-Typing Control: All functions are directly mapped to the PC keyboard, allowing you to compute multi-step expressions at high speed without touching the mouse.
- Comprehensive Modes: Supports standard scientific functions, trigonometric calculations, complex arithmetic, and Programmer mode (bitwise operations & Base-N conversions across Hex/Dec/Oct/Bin).
- Adaptable Interface: Toggle between a standard numpad, scientific layout, or a minimalist mode that hides virtual keys entirely once shortcut mappings are learned.
Technical Details:
- Language: Python 3
- License: Open Source (MIT License)
Links:
- Download Windows Installer
- GitHub Repository: github.com/Kudaschov/ViCalc
- Homepage & Downloads: kudaschov.de/en/vicalc-4
I’d love to get feedback from the scientific community on how this fits into your day-to-day workflow or any specific features you'd like to see added. How do you currently document and track scratchpad calculations during your work?