Inspiration
SubSaver was born out of my own frustration—I realized I was paying for subscriptions I had completely forgotten about. Like many people, I’d sign up for free trials or services and then just lose track. I wanted a simple way to spot these charges and take control of my spending, without compromising my data privacy.
What it does
SubSaver scans your bank or credit card statements and picks out recurring charges that look like subscriptions. It gives you clean, interactive visuals so you can actually see where your money’s going. You can flag subscriptions you don’t need, and everything runs locally on your machine—your financial data stays with you.
How I built it
I built SubSaver using Streamlit for the interface because it let me move fast and keep things interactive. To read financial statements, I used Python libraries like pandas for CSV files and PyPDF2 for PDFs. The subscription detection logic combines pattern matching with some heuristics to catch common subscription formats. For charts and graphs, I leaned on Plotly and Streamlit’s built-in tools. Most importantly, all the data processing happens locally to protect user privacy.
Challenges I ran into
- One big challenge was parsing different statement formats—banks don’t exactly follow a universal template.
- Detecting real subscriptions vs. similar-looking transactions took some careful tuning.
- Keeping everything fast and responsive, even with big files, was tricky since everything runs on the user’s device.
Accomplishments that I'm proud of
- I’m proud that SubSaver respects user privacy by keeping all processing local.
- Built a tool that’s both useful and easy to use—something I’d actually want to use myself.
- Got it working with both PDF and CSV files, which took a bit of wrangling but really improves usability.
What I learned
- Handling real-world financial data is messier than I expected, but I learned how to adapt quickly.
- I gained a deeper appreciation for user privacy and the importance of local-first design.
- Streamlit turned out to be a great tool for building interactive apps fast, and I got more comfortable with it along the way.
What's next for SubSaver
- I want to support more banks and formats, so it works for more people.
- Improve the detection engine with smarter logic or maybe machine learning.
- Add reminders to notify users about upcoming renewals.
- Possibly integrate with budgeting tools, for a more complete financial picture.
- I’m also thinking about offering an optional, encrypted cloud sync—still privacy-first, but with a backup.
Built With
- python
- streamlit
Log in or sign up for Devpost to join the conversation.