FinEngine is an open-source computational framework solving IEEE-754 floating-point rounding anomalies in client-side fintech. It delivers deterministic integer arithmetic, native BDT (Bangladeshi Taka) sub-unit precision, and zero-knowledge client-side privacy. Built for reducing-balance loan amortization, APR/XIRR engines, and audit-compliant ledger validation, backed by Crossref and Zenodo research archives.
Includes @finengine/core (integer math), @finengine/math (reducing-balance amortization, APR, XIRR), and @finengine/ui (headless KPI helpers). Built for developers and finance researchers who require absolute computational accuracy.
Looking forward to your critical feedback on our calculation models!
Report
Maker
Afshara here. As a CSE student working on FinEngine, our main priority on the engineering side was keeping client-side calculations completely deterministic across different browser environments without pulling in heavy runtime dependencies.
We spent a lot of time testing edge cases in reducing-balance amortization and discrete integer math to prevent compounding precision drift. Really excited to get this out to developers, and we would love any feedback or critiques on our API design and core math implementation!
Report
Maker
For any developers curious about the under-the-hood math: instead of dealing with floating-point drift (0.1 + 0.2 !== 0.3), FinEngine shifts all currency amounts, such as BDT (Bangladeshi Taka), into discrete integer sub-units (poisha / cents, scaled * 100) before running any reducing-balance amortization or XIRR loops. Would love to hear how other teams handle precision in client-side financial ledgers.
Hey Product Hunt,
I am Rafi, a finance researcher and developer launching FinEngine on behalf of CFSBR.
JavaScript's IEEE-754 drift introduces compounding rounding errors in financial ledgers. FinEngine solves this via deterministic integer arithmetic, native BDT poisha precision, and 100% client-side execution (zero data leakage).
Links & Verification:
• Simulation Lab & Docs: https://finengine.js.org
• GitHub Repository (MIT): https://github.com/gmrafi/FinEngine
• Methodology Paper (Crossref DOI): https://doi.org/10.67226/cfsbr.fe.2026.001.v1
• Software Archive (Zenodo DOI): https://doi.org/10.5281/zenodo.22769501
Architecture:
Includes @finengine/core (integer math), @finengine/math (reducing-balance amortization, APR, XIRR), and @finengine/ui (headless KPI helpers). Built for developers and finance researchers who require absolute computational accuracy.
Looking forward to your critical feedback on our calculation models!
Afshara here. As a CSE student working on FinEngine, our main priority on the engineering side was keeping client-side calculations completely deterministic across different browser environments without pulling in heavy runtime dependencies.
We spent a lot of time testing edge cases in reducing-balance amortization and discrete integer math to prevent compounding precision drift. Really excited to get this out to developers, and we would love any feedback or critiques on our API design and core math implementation!
For any developers curious about the under-the-hood math: instead of dealing with floating-point drift (0.1 + 0.2 !== 0.3), FinEngine shifts all currency amounts, such as BDT (Bangladeshi Taka), into discrete integer sub-units (poisha / cents, scaled * 100) before running any reducing-balance amortization or XIRR loops. Would love to hear how other teams handle precision in client-side financial ledgers.