WenFire: When Could I retire?! πŸ”₯

πŸŽ„πŸŽ Advent of Open Source – Day 04/24: A financial independence calculator built with FastAPI, htmx, and Vega-Lite.

(See my intro post)

While I absolutely love my job, I believe I’ll love it even more when my family’s livelihood doesn’t depend on it. That’s the dream of financial independence - doing what you love because you want to, not because you have to. This led me to create WenFire, a financial independence calculator that helps answer the eternal questions: “When can I retire?” and “How many days of extra work will that new iPhone or car cost me?”

πŸ“– Origin Story

There are many retirement calculators out there, but they all made assumptions I didn’t quite agree with (and I’m sure others won’t agree with my assumptions either!). I wanted something that matched my specific views on salary growth and investment returns. Plus, I had been itching to learn more about building web applications, so this project let me explore FastAPI, htmx, and Vega-Lite while solving a personal need.

πŸ”§ Technical Highlights

  • Built with FastAPI and Bootstrap
  • Interactive visualizations using Vega-Lite
  • Responsive and mobile-friendly design
  • Customizable assumptions for:
    • Investment growth
    • Inflation rates
    • Salary increases
    • Safe withdrawal rates
  • Allows parameter changes at certain dates
  • Calculate retirement impact of one-time expenses
  • All parameters are encoded in the URL for easy sharing

πŸ“Š Impact

While this project only has 3 GitHub stars, its real value is personal - it helps me track my own journey to financial independence. It’s also been a great learning experience in web development, an area where I had little prior experience.

🎯 Challenges and Solutions

  • Learning web development from scratch
  • Creating intuitive visualizations for financial data
  • Balancing simplicity with customization options
  • Making reasonable default assumptions
  • Ensuring mobile responsiveness

πŸ’‘ Lessons Learned

  1. Financial modeling requires careful consideration of assumptions
  2. Web development is a different beast from scientific computing
  3. Sometimes the best way to learn new tech is to solve a personal problem
  4. The best calculator is the one that matches your own assumptions

Want to calculate your path to financial independence? Try it at wenfire.nijho.lt or check out the source code!

#OpenSource #Python #FinancialIndependence #WebDev #FIRE

Edit this page

Bas Nijholt
Bas Nijholt
Staff Engineer

Hi.

Related