Inspiration

We believe that the best pain points to target stem from ourselves. As we thrashed ideas, we noticed how one of our members seem to be clumsily but vigourously keeping track of the progress of the meeting. Peeking at his computer, a shocker indeed. His computer desktop was a mess. Easily 10+ windows opened. 2 borwsers, 500+ tabs?! That's when we resolved to help this poor fella.

As we conducted our UX research on our teammate (named John Doe for convenience), we realise he faces a, dare we say, chronic issue of saving things for later, only to never return for weeks, even months! He leaves tabs opened so that he could return to where he left off his research. He sends messages to himself just to keep track of his thoughts and reminders. When asked why doesn't he just use organisers or workflow management tools, he quotes: "They are just another bunch of opened tabs. They won't help me reduce the number of tabs and number of stuff left opened in the background". This insight led us to our solution: Multasko

What it does

Multasko is this scatter-brained boy's dashboard. It groups memos in neat time boxes to maintain the essence of the train of thought. To deal with his "Save for later" thoughts, we levearged the power of text summarisation of the web pages he wants to read later. He can also access his calendar and schedule events on this dashboard, and also trasnfer files between his devices here.

How I built it

We used Vue for our front end and flask for our backend. We chose flask because we wanted to help him crawl these "Saved for later" sites and extract the gist of the site using the unsupervised TextRank summarisation algorithm to extract key sentences. We try to provide some key insights for shorter text like the memos too. For such short text, we used a pre-trained Named Entity Recognition model (spacy) to identify key entities, noun chunks with accompanying verbs to flesh out the essence. For the categorisation, we settled for the same spacy model and cosine similarity comparison between the summarised token and some pre-defined categories. The flask server with the machine learning model communicates with our main backend to get data and return it to client. We also built a telegram-message-json parser to import the saved messages

The front end was mainly built with Vue, some npm packages and we used d3 visualisation library to show the pie chart of priorities.

Challenges I ran into

Most of us are first time hackathon goers, so coding under this time limit is insane to say the least. Coordinating between the front and back ends was initially a little difficult but we overcame that when we standardised what we need from each other. For the machine learning side, it wasn't that clear cut on what to do.

Accomplishments that I'm proud of

  1. Despite the time constraint, we have a decent looking UI with beautifiul animations
  2. The machine learning algorithms didn't require training at all to achieve that level of accuracy
  3. Dockerizing and deploying to heroku
  4. We made something more than just a to-do app; we made a useful app ## What I learned We learned alot more about web technologies in general such as the frontend framework and the backend integrations. We also better understood the importance of getting everyone on the same page through diagrams and simple but clear prototypes on figma. We also learned that deploying a machine learning model of considerable size is a pain

What's next for Multasko

We hope that our team mate finally gets his shit together and dumps it in our platform, so that he doens't have to suffer from such information overload anymore :D In all seriousness, we are only 50% done given that there are several key features not implemented yet. Beyond the MVP, we strive to improve the algorithms use to organise such unstrcuted data and to implement telemetry that can be used to provide better user experience. Another area of exploration would be visualisations besides pie charts like bubble charts, and basically any other improvements to ensure a smooth user experience like lazy loading (since the text summarisation is taking a long time). Here's our linkedIn!

Jun Leong: https://www.linkedin.com/in/hoejunleong/

Built With

+ 3 more
Share this project:

Updates