Inspiration

I have heard tales from friends about earning $70/hr with Instacart or earning $200 in just one night with DoorDash, and it sounded too good to be true. After looking into it, I found out it was true, with a catch. My friends weren't accounting for the fuel they spent, taxes at the end of the year, time spent with low pay, or a plethora of other catches. I'm sure many other people are as in the dark with their side hustles as my friends (or aren't paying taxes) so I wanted to make a project to make it as clear as possible.

What it does

Currently, DashBuddy works through Discord as a Bot. Whenever you start you side hustle shift (as soon as you get in your car to leave) you tell DashBuddy your current odometer reading and optionally what car you are driving (to get more accurate data), you go through your DoorDash/Uber/Instacart/{insert your side hustle here} shift as normal, and as soon as you get back you tell DashBuddy your new odometer reading and your Gross Pay (how much the app paid you). From there, using the timestamp of your messages, DashBuddy is able to calculate all sorts of stats about your shift: Miles Driven, Time Spent, Gross Pay Per Mile, Estimated Expenses (broken up into estimated fuel cost, maintenance, repair cost, depreciation, and taxes), Estimated Net Pay, and other useful statistics. The more you use DashBuddy the more DashBuddy can do. It keeps track of your previous shifts, so it can give long running stats, including useful information such as Estimated Net Hourly Pay and Estimated Total Fuel Costs as well as interesting information such as Total Miles Driven and Average Speed.

How we built it

All the logic for the discord bot is written entirely in Node JS and currently runs off of my computer. It uses discord.js for all of the discord interactions and stores user data in a MongoDB database for persistence after restart.

Challenges we ran into

Scope creep was the largest challenge by far, at every point I wanted to make the Bot interactions smoother, prettier, more convenient, more intuitive, or just plain add more features. However, the time I had to built this was very limited (by design) so I wasn't able to implement nearly as much as I wanted to. However, I am very proud of what I accomplished, and I think what I created is more than usable for my target audience. Also was very limited in UI choices as the users had to interact through discord.

Accomplishments that we're proud of

I am very happy with the class structure and general form of the program. I also like how functional and plug-and-play the bot is, a brand new user can start using the bot immediately and there is no long intrusive onboarding.

What we learned

Prior to GrizzHacks 8 I had very little experience with Discord bots and event-driven programming. I would like to say I am now proficient in both.

What's next for DashBuddy

If I wanted to expand the scope of the project, I could easily upload the code from my computer to a cloud server and run DashBuddy 24/7 remotely as well as properly integrate it with a database (MongoDB). Beyond that, there are a ton of small features I would like to add to make it more convenient and dynamic. Perhaps the largest feature I would still like to add is improved views for Weekly/Monthly/Yearly/All Time reflection.

Built With

Share this project:

Updates