SmartCalc
SmartCalc es una pequeña aplicación web que intenta acercar las matemáticas a la forma en que realmente pensamos y escribimos. En lugar de limitarse a una calculadora tradicional, permite introducir expresiones en español, mezclar operaciones, fechas, unidades, porcentajes y referencias entre líneas, y obtener resultados de forma inmediata.

SmartCalc: una calculadora de notas pensada para trabajar con lenguaje natural
SmartCalc es una pequeña aplicación web que intenta acercar las matemáticas a la forma en que realmente pensamos y escribimos. En lugar de limitarse a una calculadora tradicional, permite introducir expresiones en español, mezclar operaciones, fechas, unidades, porcentajes y referencias entre líneas, y obtener resultados de forma inmediata.
Qué hace
La idea principal de SmartCalc es simple: hacer que una hoja de cálculo y una calculadora se sientan como una sola herramienta. Cada línea funciona como una expresión independiente, y el resultado aparece a la derecha en tiempo real. Esto permite hacer cálculos rápidos, construir fórmulas paso a paso y mantener una lógica visible en pantalla.
Entre sus capacidades destacan:
- operaciones aritméticas básicas y funciones matemáticas;
- trigonometría, logaritmos, estadísticas y constantes;
- porcentajes naturales, reglas de tres y cálculos inversos;
- conversiones de unidades, fechas y cálculos con calendario laboral español;
- geometría con autocompletado;
- variables y referencias entre líneas para construir fórmulas más complejas.
Además, la interfaz incluye un título editable, autoguardado local, importación y exportación de documentos y un resumen final con métricas útiles como suma, media o mediana.
Cómo se ha hecho
El proyecto está construido con una arquitectura muy directa y modular. En el frontend se usa Vite junto con React y TypeScript, lo que permite desarrollar una interfaz rápida y mantener el código estructurado. La lógica de cálculo se ha separado en distintos módulos del directorio src/engine, cada uno enfocado a una categoría concreta: fechas, unidades, geometría, porcentajes, variables o procesamiento previo de expresiones.
La aplicación sigue un patrón sencillo:
- el usuario escribe una expresión en una línea del editor;
- el sistema la preprocesa y la interpreta;
- el motor de cálculo la evalúa según reglas específicas;
- el resultado se muestra en la interfaz y, si procede, se deja listo para reutilizar en otras líneas.
Esta separación de responsabilidades hace que el proyecto sea más fácil de extender. Por ejemplo, si se quiere añadir un nuevo tipo de operación o una nueva regla de conversión, basta con introducirla en el módulo correspondiente sin tener que reescribir toda la aplicación.
¿Por qué me gusta este enfoque?
SmartCalc me parece interesante porque no intenta parecerse a una calculadora “de escritorio” clásica, sino a una herramienta más cercana al modo en que trabajamos en la práctica. La combinación de lenguaje natural, resultados en tiempo real y una estructura de documento hace que sea útil tanto para cálculos rápidos como para pequeños flujos de trabajo más elaborados.
También me gusta que el proyecto se haya construido con una mentalidad muy práctica: simple de usar, fácil de probar y preparado para crecer. En ese sentido, SmartCalc no solo es una calculadora, sino también un ejercicio de diseño de producto y arquitectura de software.
Tecnologías principales
- Vite + React 19 + TypeScript
- mathjs para el motor de cálculo
- date-fns y date-holidays para fechas y festivos
- Vitest y Testing Library para los tests
- CSS plano sin frameworks de estilos
Este proyecto nace como una mezcla entre utilidad real y experimento de interfaz: una herramienta que intenta convertir la complejidad matemática en algo más legible, más flexible y, sobre todo, más humano.