A very basic utility to graph lunch arrival times
I got sick of guessing when my food delivery will arrive based on gut feeling and decided to utilize a data based approach 🤓
My company has a dedicated WhatsApp chat for announcing when a food delivery arrives. I exported this chat to a txt file and wrote a python parser to convert it to JSON and a tiny Plotly based frontend. The entire thing is packed into a single HTML file for easy offline sharing.
- Why not use WhatsApp's API? That requires a server, credentials and possibly a WhatsApp business account
- Why not generate the chat file by scraping? WhatsApp's web UI implements infinte scroll, which limits scraping (or requires Selenium-like solution, which I didn't feel like implementing)
- Why not generate the chat by querying IndexedDB? Skimmed it and looks like it holds encrypted messages. Figuring out how to decode those would take me more time than parsing a txt file
- Why plot by search pattern instead of by resturaunt? Identifying, extracting and normalizing resturatunts from free text WhatsApp message requires more NLP/heuristics effort than I was willing to put in
Autocompletion in search textbox by existing stringsThanks @ofergoliTags UI for searching multiple resturaunts, instead of separating by commasThanks @ofergoliPercentiles viewThanks again @ofergoli- Mobile support
- Allow grouping multiple searches as a single resturaunt (or do it automagically)
- There are more possible improvements, but they will pend for user feedback 😇
- Are you a developer? You're welcome tackle any of the issues in the What's next section!
- Are you in this WhatsApp group? Make sure to report as quickly as possible and with consistent spelling!
- Are you in this WhatsApp group for longer than I am? You can export the chat and send it to me so we'll have more historic data!
- Do you have an idea for a cool feature? Open an issue!
- Order me lunch!