Note: This article was translated with the assistance of AI. I wrote the original in Chinese. If you can read Chinese, you are welcome to read the original Chinese version for the most authentic and unfiltered expression.

Preface

I’ve recently become quite interested in investing. Over time, I’ve read a fair number of investing books and articles, watched videos from personal finance bloggers, and listened to a few finance podcasts. For the average person, well-planned long-term investing still offers a real chance at financial freedom—or at least a more comfortable life. The power of compound interest is immense, and since I’m still young, the sooner I start planning, the better.

I began searching for existing long-term investment calculator tools online to help with my decisions and planning. There are some out there, but they’re fairly limited in functionality and not customizable enough for my needs. For example, they can only calculate a single asset rather than supporting multi-asset portfolio planning; they only show cumulative amounts without year-by-year contributions and returns; and they don’t account for return volatility (I haven’t implemented this yet either—consider it a future TODO)…

So, burning the midnight oil with the help of Cursor—and picking up React and a few frameworks along the way—I built a tool. If you’re interested, feel free to try it out and share your feedback! And if you find it useful, a Star would be much appreciated~

PixPin_2025-03-09_09-51-54

PixPin_2025-03-09_09-38-09

Live Demo on GitHub Pages

Open Source Repository on GitHub

Features

  • 📊 Interactive portfolio configuration
  • 📈 Multi-dimensional return visualization (total assets / invested amount / profit analysis)
  • 💾 Local storage of investment configurations and personal information
  • 📤 CSV data export
  • 📱 Responsive chart design
  • 🛡️ Pure frontend implementation, protecting user privacy

Tech Stack

  • Frontend Framework: React
  • UI Library: Ant Design 5.x
  • Charting Library: ECharts 5.x
  • Build Tool: Vite