<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Personal Finance | Bas Nijholt</title><link>https://www.nijho.lt/tag/personal-finance/</link><atom:link href="https://www.nijho.lt/tag/personal-finance/index.xml" rel="self" type="application/rss+xml"/><description>Personal Finance</description><generator>Hugo</generator><language>en-us</language><copyright>© 2026</copyright><lastBuildDate>Sun, 22 Dec 2024 00:00:00 +0000</lastBuildDate><image><url>https://www.nijho.lt/media/icon_hu_408a8f6cef43e327.png</url><title>Personal Finance</title><link>https://www.nijho.lt/tag/personal-finance/</link></image><item><title>tiller-streamlit 💰</title><link>https://www.nijho.lt/post/advent-of-open-source/22-tiller-streamlit/</link><pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate><guid isPermaLink="false">/post/advent-of-open-source/22-tiller-streamlit/</guid><description>&lt;p&gt;(See my &lt;a href="../"&gt;intro post&lt;/a&gt;)&lt;/p&gt;&#10;&lt;p&gt;Tracking personal finances is crucial, especially when working towards financial independence (see my &lt;a href="../04-wenfire"&gt;WenFIRE post on Day 4&lt;/a&gt;). Today&amp;rsquo;s project is &lt;a href="https://github.com/basnijholt/tiller-streamlit" target="_blank" rel="noopener"&gt;&lt;code&gt;tiller-streamlit&lt;/code&gt;&lt;/a&gt;, a Streamlit app that visualizes your financial data from &lt;a href="https://www.tillerhq.com/" target="_blank" rel="noopener"&gt;Tiller&lt;/a&gt;. I host it on my local network under &lt;code&gt;money.local&lt;/code&gt; using Traefik for easy access.&lt;/p&gt;&#10;&lt;h2 id="-origin-story"&gt;📖 Origin Story &lt;a class="anchor" href="#-origin-story" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Used to use Intuit Mint, but when they shut down, I needed an alternative with full data control.&lt;/li&gt;&#10;&lt;li&gt;Tiller automatically populates your financial data into a Google Sheet that you own forever.&lt;/li&gt;&#10;&lt;li&gt;With 20+ accounts, manual updates are tedious – Tiller automates it.&lt;/li&gt;&#10;&lt;li&gt;Combined Tiller&amp;rsquo;s data with Streamlit&amp;rsquo;s ease of use, creating a personal finance dashboard.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-technical-highlights"&gt;🔧 Technical Highlights &lt;a class="anchor" href="#-technical-highlights" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Powered by Streamlit: Turns Python into a web app with minimal code.&lt;/li&gt;&#10;&lt;li&gt;Tiller Integration: Connects to Tiller&amp;rsquo;s Google Sheets for automated data retrieval.&lt;/li&gt;&#10;&lt;li&gt;Interactive Visualizations: Uses Plotly and Altair for dynamic charts.&lt;/li&gt;&#10;&lt;li&gt;Customizable Analysis: Filter by categories, time periods, and more.&lt;/li&gt;&#10;&lt;li&gt;Net Worth Tracking: Calculates and visualizes net worth over time.&lt;/li&gt;&#10;&lt;li&gt;Dockerized Deployment: Easy deployment with Docker, and served locally with Traefik.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-impact"&gt;📊 Impact &lt;a class="anchor" href="#-impact" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Primarily for personal use, it has significantly improved my understanding of my finances.&lt;/li&gt;&#10;&lt;li&gt;Great way to learn Streamlit and explore its capabilities.&lt;/li&gt;&#10;&lt;li&gt;Visualizing spending patterns helps identify areas to cut back and make informed financial decisions on the path to financial independence.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-challenges-and-solutions"&gt;🎯 Challenges and Solutions &lt;a class="anchor" href="#-challenges-and-solutions" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Learning Streamlit: Excellent documentation and community support made it a smooth process.&lt;/li&gt;&#10;&lt;li&gt;Data Wrangling: Transforming Tiller&amp;rsquo;s raw data into a format suitable for visualization.&lt;/li&gt;&#10;&lt;li&gt;Deployment: Docker and Traefik simplified local deployment, making it accessible on my home network.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-lessons-learned"&gt;💡 Lessons Learned &lt;a class="anchor" href="#-lessons-learned" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Data Ownership Matters: Owning your financial data gives you control and flexibility.&lt;/li&gt;&#10;&lt;li&gt;Visualization is Key: Seeing your finances visually makes a huge difference.&lt;/li&gt;&#10;&lt;li&gt;Streamlit is Powerful: Simplifies web app development.&lt;/li&gt;&#10;&lt;li&gt;Automation is Essential: Tiller&amp;rsquo;s automatic data population makes the whole process sustainable.&lt;/li&gt;&#10;&lt;li&gt;Docker and Traefik Simplify Local Deployment: Making it easy to access the app on my home network.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-future-plans"&gt;🔮 Future Plans &lt;a class="anchor" href="#-future-plans" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Budgeting Features: Integrate budget tracking and forecasting.&lt;/li&gt;&#10;&lt;li&gt;Goal Setting: Set financial goals and track progress.&lt;/li&gt;&#10;&lt;li&gt;Investment Tracking: Incorporate investment data for a complete picture.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Want to visualize your own finances with Tiller and Streamlit? Check out &lt;a href="https://github.com/basnijholt/tiller-streamlit" target="_blank" rel="noopener"&gt;&lt;code&gt;tiller-streamlit&lt;/code&gt; on GitHub&lt;/a&gt;!&lt;/p&gt;&#10;&lt;p&gt;#OpenSource #Python #Streamlit #PersonalFinance #DataVisualization #Tiller #Traefik #Docker&lt;/p&gt;&#10;</description></item><item><title>WenFire: When Could I retire?! 🔥</title><link>https://www.nijho.lt/post/advent-of-open-source/04-wenfire/</link><pubDate>Wed, 04 Dec 2024 00:00:00 +0000</pubDate><guid isPermaLink="false">/post/advent-of-open-source/04-wenfire/</guid><description>&lt;p&gt;(See my &lt;a href="../"&gt;intro post&lt;/a&gt;)&lt;/p&gt;&#10;&lt;p&gt;While I absolutely love my job, I believe I&amp;rsquo;ll love it even more when my family&amp;rsquo;s livelihood doesn&amp;rsquo;t depend on it.&#10;That&amp;rsquo;s the dream of financial independence - doing what you love because you want to, not because you have to.&#10;This led me to create &lt;a href="https://wenfire.nijho.lt/" target="_blank" rel="noopener"&gt;WenFire&lt;/a&gt;, a financial independence calculator that helps answer the eternal questions: &amp;ldquo;When can I retire?&amp;rdquo; and &amp;ldquo;How many days of extra work will that new iPhone or car cost me?&amp;rdquo;&lt;/p&gt;&#10;&lt;h2 id="-origin-story"&gt;📖 Origin Story &lt;a class="anchor" href="#-origin-story" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;There are many retirement calculators out there, but they all made assumptions I didn&amp;rsquo;t quite agree with (and I&amp;rsquo;m sure others won&amp;rsquo;t agree with my assumptions either!).&#10;I wanted something that matched my specific views on salary growth and investment returns.&#10;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.&lt;/p&gt;&#10;&lt;h2 id="-technical-highlights"&gt;🔧 Technical Highlights &lt;a class="anchor" href="#-technical-highlights" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Built with FastAPI and Bootstrap&lt;/li&gt;&#10;&lt;li&gt;Interactive visualizations using Vega-Lite&lt;/li&gt;&#10;&lt;li&gt;Responsive and mobile-friendly design&lt;/li&gt;&#10;&lt;li&gt;Customizable assumptions for:&#10;&lt;ul&gt;&#10;&lt;li&gt;Investment growth&lt;/li&gt;&#10;&lt;li&gt;Inflation rates&lt;/li&gt;&#10;&lt;li&gt;Salary increases&lt;/li&gt;&#10;&lt;li&gt;Safe withdrawal rates&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Allows parameter changes at certain dates&lt;/li&gt;&#10;&lt;li&gt;Calculate retirement impact of one-time expenses&lt;/li&gt;&#10;&lt;li&gt;All parameters are encoded in the URL for easy sharing&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-impact"&gt;📊 Impact &lt;a class="anchor" href="#-impact" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;While this project only has 3 GitHub stars, its real value is personal - it helps me track my own journey to financial independence.&#10;It&amp;rsquo;s also been a great learning experience in web development, an area where I had little prior experience.&lt;/p&gt;&#10;&lt;h2 id="-challenges-and-solutions"&gt;🎯 Challenges and Solutions &lt;a class="anchor" href="#-challenges-and-solutions" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Learning web development from scratch&lt;/li&gt;&#10;&lt;li&gt;Creating intuitive visualizations for financial data&lt;/li&gt;&#10;&lt;li&gt;Balancing simplicity with customization options&lt;/li&gt;&#10;&lt;li&gt;Making reasonable default assumptions&lt;/li&gt;&#10;&lt;li&gt;Ensuring mobile responsiveness&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="-lessons-learned"&gt;💡 Lessons Learned &lt;a class="anchor" href="#-lessons-learned" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Financial modeling requires careful consideration of assumptions&lt;/li&gt;&#10;&lt;li&gt;Web development is a different beast from scientific computing&lt;/li&gt;&#10;&lt;li&gt;Sometimes the best way to learn new tech is to solve a personal problem&lt;/li&gt;&#10;&lt;li&gt;The best calculator is the one that matches your own assumptions&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Want to calculate your path to financial independence? Try it at &lt;a href="https://wenfire.nijho.lt/" target="_blank" rel="noopener"&gt;wenfire.nijho.lt&lt;/a&gt; or check out the &lt;a href="https://github.com/basnijholt/wenfire" target="_blank" rel="noopener"&gt;source code&lt;/a&gt;!&lt;/p&gt;&#10;&lt;p&gt;#OpenSource #Python #FinancialIndependence #WebDev #FIRE&lt;/p&gt;&#10;</description></item><item><title>Tiller Streamlit</title><link>https://www.nijho.lt/project/tiller-streamlit/</link><pubDate>Thu, 08 Feb 2024 00:00:00 +0000</pubDate><guid isPermaLink="false">/project/tiller-streamlit/</guid><description/></item></channel></rss>