DEV Community

Arthur Renard
Arthur Renard

Posted on

Track your expenses with email inbound!

This is a submission for the Postmark Challenge: Inbox Innovators.

What I Built

When thinking about the challenge I was looking for a use case that would help me track my online expenses and subscriptions on a daily basis since I usually procrastinate to do so. And I came up with this: an automatic expense tracker powered by your email receipts!

Simply forward your order confirmations and billing emails to the app, and it uses AI to automatically parse and categorize every transaction. No manual data entry, no connecting bank accounts - just let your existing emails do the work.

What you get:

📊 Automatic expense tracking and categorization
💳 Complete subscription overview with monthly costs
🔔 Insights into your spending patterns
⚠️ Never forget about recurring services again

The result? No more mystery charges, no more "wait, am I still paying for that?" moments, and no more spreadsheet headaches. Just forward your emails and get instant financial clarity. :)

Demo

You can try the tracker at:
https://expensetracker.arthurrenarddev.com

To test it:

  • Create an account with the sign up page (a fake email would do)

Image description

  • Log in with the account you created

Image description

A unique address will be generated for you.

  • You can use the test email generator to avoid sending your personal data

Image description

  • Wait a moment for your emails to be processed Once they are you can check your orders, subscriptions and statistics :)

Image description

Image description

Image description

Code Repository

https://github.com/Cramplescrunch/postmark-inbound-challenge

How I Built It

I had several goals when starting this project:

  • Finish the setup of my personal development environment, a second-hand Lenovo Thinkpad which I installed Arch Linux on along with Emacs. I made my Emacs conf from scratch (following the great videos from SystemCrafters on Youtube) and installed Pyright as an LSP server for the Python backend.
  • Think about a product that would answer real life problems before thinking of a tech solution
  • As a backend developer usually working with Java or Clojure, I wanted to learn a new tech stack to develop the backend. I chose Python's FastAPI for this project. The database used is Postgres.
  • I wanted to work with AI for the solution. I used Gemini to analyze the data from the incoming emails
  • I also wanted to see how far I could go on my own with the limited time we had for this challenge. I made this project on my free time while working a full-time job beside that. To help with this I used AI to develop the front-end
  • For the frontend I chose React/Next.js. I initialized the project manually and developed the majority of it using Cursor. The code is probably ugly and full of bugs but it's enough for the proof of concept
  • Finally I wanted to learn how to deploy a full stack application using AWS, as Devops is one of my weak points as a developer. I used the Free tier of AWS for the most part, which is enough for a proof of concept like this. I definitely learned a lot, and I even ended up creating my own domain for the project! This is probably the part I'm most proud of

The result is still very raw and there is a lot of room for improvements, but I'm happy with the result!

Overall this was an intense experience but I'm really proud of myself for getting to the finish line. It was the first challenge of that sort I participated in and I learned a LOT along the way!!

Top comments (0)