# Savegrove

One English-language page with 30 savings calculators. Inputs and formulas run locally. No financial account access, sign-up, live rate feed or exchange-rate service. Display currency changes labels only.

## Structure

index.html is the single calculator hub. app.js builds forms and results. calculators.js contains all 30 definitions, formulas and methods. methods.html cites educational references and explains assumptions; privacy.html describes hosting and advertising. catalog.json contains the complete tool metadata. No runtime calculation library is required.

## Test

Node.js 20+, no packages:

```sh
node --test tests/calculators.test.cjs
```

## Deployment

Upload the folder or ZIP to Cloudflare Pages Direct Upload with index.html at the root. No build command. Alternatively upload to a public GitHub repository and publish main / root with GitHub Pages, including .nojekyll. All local links are relative.

## Assumptions

APY is effective annual yield; its monthly equivalent is (1 + APY)^(1/12) − 1. Nominal rates are separately identified. Deposits are month-end unless the tool offers a timing selector. Model years are whole years, up to 100. Tax and fees are excluded unless explicitly entered in the relevant tool. Rates are examples and remain constant in projections. Inflation is an assumption, not a forecast. Calculations use floating-point numbers and round for display. Results are educational, not financial or tax advice.

## Advertising and license

AdSense ca-pub-9210134728441760 is integrated on the main page, with matching ads.txt. Ad serving depends on Google's site review, account state, Auto ads and consent settings. Source is MIT licensed; see LICENSE. Created with AI assistance. Third-party scripts may have their own data practices.
