4 ms·
Last week I built an automated expense tracking dashboard on Tableau using SendGrid and Google Sheets. I use a Gmail filter to forward my credit card transactio
by arafsheikh 7y ago
Last week I built an automated expense tracking dashboard on Tableau using SendGrid and Google Sheets. I use a Gmail filter to forward my credit card transaction emails to an Inbound Parser setup on SendGrid, which makes a POST call to my home server with the content of the email. A regex then captures the details from the POST body and pushes them to a Google Sheet.
Next I use Tableau Public to read data from Google Sheets and publish a dashboard to Tableau Public Online. Tableau Public automatically refreshes data on the server side from Google Sheets every few hours.
The good part is that all of this can run automatically without any manual intervention whatsoever and I get a
beautiful near real-time dashboard for my daily expenses that I can access from anywhere (dashboard is publicly accessible but hidden).
- jesterson 7y agoAre you comfortable sharing your personal expenses with so many public sources?
- arafsheikh 7y agoTableau Public is the one that makes me uncomfortable. If this dashboard continues to work well and be useful I'll look into self-hosted alternatives.
- j45 7y agoMetabase may be of interest as an alternative
- arafsheikh 7y agoYeah, I've used it in the past. Problem is my home server is a tiny RPi Zero and Metabase is too heavy for it. I'll look into running it on AWS/DO if I absolutely have to.
- j45 7y agoI’ve given in and bought an energy efficient homelab server for a few hundred off eBay. Intel makes the nuc, Lenovo has tiny thinkcentres, and HP has the elite desk among others. The strange thing is how many odd lxc container projects I’ve stood up just to play with. Proxmox is sweet.
- shostack 7y agoCould you use Google Data Studio for it instead?
- arafsheikh 7y agoThanks for the suggestion. Looks promising. Although it's not as polished as Tableau.
- shostack 7y agoNo, but has private dashboards for free and it is hooked into your Google account for easy import from Sheets and such.
- slightwinder 7y agoHow does error-handling in this case happens? Do you get a message if some part of this pipeline fails?
- arafsheikh 7y agoSend grid retires sending the message for 3 days incase it doesn't get a 200 from my server. To capture errors on my server I use PaperTrail's email alerts.
- ultrasounder 7y agoThis is an excellent idea for an expense tracker dashboard. I would like to create something similar for a business process automation course that I am currently working on. And I would use Google Data Studio instead of tableau as Google sheets has a data connector for data studio already.