PRISM-INSIGHT
13개의 특화 AI 에이전트가 한국·미국 주식을 실시간 분석합니다. 오픈소스, 무료
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Beginner-friendly financial calculators — fincalculator.co
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A fast, mobile-first suite of accurate financial calculators — from a first budget to early retirement. Every calculator updates live as you type, explains its result in plain English, draws a chart, shows a full schedule where relevant, and can be shared by URL or exported to CSV.
No accounts, no backend, no tracking: it's a static site and everything runs in the browser.
| Level | Calculators |
|---|---|
| Basics | Budget & Emergency Fund · Simple Interest · Inflation · Interest Rates Explained (APR ↔ APY, Rule of 72) |
| Building Wealth | Compound Interest · Savings Goal · Investment Return (CAGR) |
| Debt & Borrowing | Loan Payment · Mortgage · Debt Payoff Plan (Avalanche vs. Snowball) |
| Long Game | Retirement (with FIRE number) |
Built for people learning financial literacy: every calculator opens with the plain question it answers, a 3-step "how to use" box, plain-English tooltips and hints on where to find each number.
Beginner's Guide (/guide/): how the calculators work, which one to use, what interest rates mean (with typical ranges), and a plain-English glossary (shared with the tooltips via lib/glossary.ts).
Requires Node 20+.
npm install
npm run dev # http://localhost:3000
| Command | What it does |
|---|---|
npm run dev | Dev server with hot reload |
npm run build | Static export to out/ (deploy anywhere; Vercel works out of the box) |
npm start | Serve the built out/ folder locally on port 3000 |
npm test | Unit tests (Vitest): test vectors, property tests, formatting, URL state, CSV |
npm run test:e2e | Playwright: one smoke test per calculator, accessibility (axe) in light and dark mode, and input fuzzing — at desktop and 375 px mobile widths. Builds the site first. |
npm run lint | ESLint (Next.js rules, no-explicit-any as an error, zero warnings allowed) |
npm run typecheck | TypeScript strict check |
The first time you run the e2e tests, install a browser: npx playwright install chromium.
npm run dev builds into .next-dev and production builds use .next, so you can run the tests or npm run build while the dev server is running. If the dev server ever shows a Cannot find module './123.js' error, stop it, delete .next-dev, and start it again.
The live site is https://fincalculator.co, hosted on GitHub Pages.
main runs .github/workflows/deploy.yml: lint, typecheck and unit tests, then npm run build and a deploy of the out/ folder. A failing check blocks the deploy.npm run test:e2e) run on pull requests via .github/workflows/e2e.yml, or on demand from the Actions tab.public/CNAME and in the repo's Settings → Pages.app/ routes: hub, /guide and /calculators/[slug]
components/
ui/ Input, Select, Toggle, Slider, Card, Tabs, Tooltip, form-bound fields
calculator/ CalculatorShell, panels, ResultSummary, ScheduleTable, Share/Copy/Export, Explainer, useCalculator
calculators/ one component per calculator + registry.ts
charts/ GrowthChart, AmortizationChart, PayoffChart, BreakdownDonut
lib/
finance/ pure math (no React) — one file per domain
format.ts currency, percent, duration formatters (Intl.NumberFormat)
url-state.ts inputs ⇄ query string
csv.ts schedule → CSV (Excel/Sheets-friendly)
schema.ts zod helpers that turn field text into validated numbers
calculators.ts calculator registry (titles, plain-language questions, how-to steps, groups, hub order)
glossary.ts plain-English definitions used by ⓘ tooltips and the guide's glossary
site.ts site name, tagline and disclaimer
content/explainers/ one Markdown "What this means" explainer per calculator
tests/unit, tests/e2e Vitest and Playwright suites
5 = 5%); they become decimals at the schema boundary. Everything in lib/finance takes decimals.NaN, Infinity or -0.:root is light mode and .dark is dark mode. Values are space-separated RGB channels (e.g. --brand: 4 120 87;) so Tailwind opacity modifiers keep working. --chart-1 … --chart-6 are the chart series colors.--font-sans / --font-display in the same file (they default to the system font stack, which keeps the site fast). To use a web font, load it with next/font in app/layout.tsx and point the variable at it.bg-brand or text-ink-muted) live in tailwind.config.ts.After changing colors, run npm run test:e2e — the axe accessibility suite checks WCAG AA contrast in both themes.
See CONTRIBUTING.md.
All calculators are verified against the published test vectors (see tests/unit/finance/vectors.test.ts) and property tests such as "amortization principal always sums to the loan" and "Avalanche never pays more interest than Snowball."
One documented nuance: a $200,000, 6%, 30-year loan's cent-rounded schedule ($1,199.10 × 359 plus a $1,200.14 final payment) totals $231,677.04 in interest. The textbook figure of about $231,676 comes from the unrounded payment ($1,199.1010…) and is also asserted in the tests.
Results are educational estimates, not financial advice.