DEV Community

Gael
Gael

Posted on

Cómo construí una calculadora de interés compuesto con JavaScript vanilla y por qué todo el mundo debería usar una

La primera vez que oí hablar del interés compuesto tenía 22 años y estaba en el coche con mi padre. Me dijo: "si metes 200 euros al mes en un fondo indexado al S&P 500 durante 30 años, te jubilas con medio millón". Yo pensé que exageraba.
Luego hice los números.
200 € × 12 meses × 30 años = 72.000 € de tu bolsillo. Pero con una rentabilidad media del 7% anual, el resultado final no son 72.000 €. Son 245.000 €. La diferencia —173.000 euros— es el interés compuesto haciendo su magia.
No me lo creí hasta que lo programé yo mismo.
La fórmula
El interés compuesto con aportaciones periódicas sigue esta fórmula:
VF = P × (1+r)^n + PMT × ((1+r)^n − 1) / r

Donde:

P es el capital inicial

r es la tasa mensual (anual / 12)

n es el número total de meses

PMT es la aportación mensual
Parece intimidante, pero en JavaScript son 4 líneas:
const r = tasaAnual / 100 / 12;
const n = años * 12;
const VF = capitalInicial * Math.pow(1 + r, n)
+ aportacionMensual * ((Math.pow(1 + r, n) - 1) / r);
¿Por qué JavaScript vanilla?
Porque no quería dependencias. Ni React. Ni Tailwind en runtime. Ni Vite. Quería un archivo HTML que pudiera abrir en cualquier navegador, en cualquier dispositivo, sin instalar nada.
El resultado: una página de 150 líneas que carga en menos de 1 segundo, puntúa 100/100 en PageSpeed Insights, y funciona incluso en un Nokia con 3G.
(La moraleja técnica: no necesitas un framework para crear herramientas útiles. A veces lo mejor es un al final del <body> y tirar millas.)<br> Lo que aprendí construyendo calculadoras<br> He creado 12 calculadoras para mi sitio Calculadoras Útiles (<a href="https://calculadorasutiles.es">link</a>): interés compuesto, IVA, paro, jubilación, gasolina, sueldo neto, IMC, horas, ritmo de carrera, letra del DNI...<br> Y el patrón es siempre el mismo:</p> <ol> <li> Inputs — el usuario mete 3-4 números</li> <li> Fórmula — JavaScript hace el cálculo en milisegundos</li> <li> Resultado — tablas, desgloses año a año, comparativas</li> <li> SEO — contenido complementario para que Google te encuentre La parte difícil no es programar la calculadora. Es hacer que la gente la encuentre. ¿Y el AdSense? Ahora mismo la web tiene 500 impresiones en Search Console después de 1 semana online. El CTR es del 0,6% porque las posiciones están en la página 4-5 de Google. No he solicitado AdSense todavía. La recomendación general es esperar 2-3 meses, tener al menos 20 páginas indexadas, y superar las 50 visitas/día antes de pedirlo. Los rechazos prematuros ralentizan el proceso. Mientras tanto, el plan es seguir creando contenido útil. Cada calculadora nueva es una página más que Google puede indexar. Cada artículo complementario es una oportunidad de rankear para una keyword de cola larga. Los números reales (mayo 2026) Después de una semana: Métrica Valor Páginas indexadas 9 de 26 Impresiones totales 480 Clics 3 Posición media #50 Página estrella Calculadora de gasolina (260 impresiones) Es pronto. Pero la dirección es la correcta: las impresiones crecen cada día y Google está rastreando el sitio activamente. Tres cosas que habría hecho distinto</li> <li> Habría empezado antes. El interés compuesto aplica también al SEO: cada mes que tu dominio está online sin contenido es un mes de autoridad perdida.</li> <li> Habría buscado backlinks desde el día 1. Un solo enlace desde un blog de finanzas español habría acelerado el sandbox de Google varios meses.</li> <li> Habría validado las keywords antes de programar. Construí calculadoras para keywords de 60.000 búsquedas/mes con SD baja. Pero también hice alguna para keywords de 800 búsquedas que probablemente nunca rankee en top 10. La herramienta está aquí Puedes probar todas las calculadoras gratis en: 👉 calculadorasutiles.es (<a href="https://calculadorasutiles.es">link</a>) Si tienes sugerencias de nuevas calculadoras que te gustaría ver, o quieres el código fuente de alguna, déjame un comentario. Todo está hecho con JavaScript vanilla y es sorprendentemente fácil de replicar.</li> </ol>

Top comments (2)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.