DEV Community

Scott Simontis
Scott Simontis

Posted on

FlowGoal: An AI-powered Inbox Assistant

I have been wanting to learn machine learning for a long time now, but have always found a convenient excuse or shiny object to keep me away from it. The statistics aspect of machine learning terrifies me; probstat is one of the several key factors why I dropped out of university. I am in no hurry to visit that feeling of frustration and hopelessness again, but how much longer will I let my fears hold me back?

I've actually done a system with Twilio many years ago. My best friend was a volunteer firefighter in South Australia at the time, and we bonded over our shared love of music, our first responder careers, and fascination with programming. All volunteer units in his region were still using Motorola pages to receive dispatches to calls, which was inefficient, cumbersome, and sometimes lethal. During a major bushfire, the pager network went down and several firefighters did not receive orders to evacuate immediately.

Their sacrifice will not be forgotten. We could do our part to ensure that the same mistakes were never repeated. With a combination of patent documents, USB TV scanners and open-source SDR software, we reverse engineered the protocol. We were able to send dispatches to firefighters as text messages, and we had a large majority of volunteer units in the region subscribing to our service. It was fun while it lasted and I learned a lot, but one of our coworkers was embezzling and had drained the company dry behind our backs. Working from across the world, it was easy for me to step away and avoid the infighting that brought the remains of the company to the ground in a not-so-dignified series of dramatic events.

Originally, I figured I would do the same concept! Except reverse engineering radio signals might be against the contest's terms of use, so I had to broaden my horizon. Starting at the 30,000 unopened e-mails in Thunderbird, I wondered if I could find a way to automate the dumpster fire that is my inbox. And at that moment, FlowGoal was born.

I hope to use Natural Language Processing to find out what really matters within my inbox. Twilio's SMS API can text me if it appears that a server is going down or if I have a potential business opportunity. If an e-mail thread goes back and forth too long, my extension will offer to let me place a VOIP call with the other party and see if five minutes on the phone can avoid another dozen replies. New leads can be validated for legitimate phone numbers. For a guy who doesn't really know any ML it is quite ambitious but let's see what I can manage!

Originally, I wanted to do this all in F# or Clojure. It's been a few years since I have worked with F# extensively, and I barely know closure. I wanted to add a novel technology to the mix, but I have enough of a challenge on my hands. I will work in C#/ASP.NET Core on the background since I am most familiar with that tech stack, although I will let myself try Dart to write the extension!

And so it begins! GitLab repo coming soon!

Top comments (3)

lizziepika profile image
Lizzie Siegle

This is a cool idea! Love that you initially wanted to do this all in F# or Clojure.

ssimontis profile image
Scott Simontis

It ended up turning into an F# thing :D