Being stuck at home and away from friends for an extended period of time, our team began to realize how much we took for granted the face-to-face interactions that we used to have with many of our friends and classmates. We all saw a void for reasons people had to talk to their friends and decided that a simple service that could provide such a reason could keep friends closer together even when physically apart. However, there are not many things people still have to do in quarantine when many errands are not a necessity. We looked to the simpler things like taking walks, washing the dishes, and chores that keep all people have to stay sane and productive. Combining the social aspect and productivity, Janch brings an innovative solution to the two largest problems the pandemic has brought to humans: lack of motivation and social isolation.
What it does
Janch is not just a friendly reminder service. By bringing friends closer into your life to help you with productivity, we like to call it a “friendful” reminder service. A user can add tasks that they want to remind their friends about and the service will keep track of these tasks and use the user's Facebook account to send a message to the chosen friend about the specific task that is to be completed. Once this automated message is sent, the friend will hopefully respond to the message and continue the conversation. If not, the user can follow up on the message from the app and make sure that their friend is staying very productive.
Common Tasks: Take a walk, make dinner, go to sleep, wake up, do Duolingo, maintain Snapchat streaks, feed pets, brush teeth, shower, meditate, write in journal/diary, exercise, practice instruments, do gardening, do homework.
How we built it
We used Django to develop a server to store and present tasks for each user. To minimize waiting time and maintain good interactivity, our design relied on separate jobs to handle the connections to the Facebook server, which were much more complicated and could require many connections and operations done for many users. Therefore we interacted with the Facebook Chat and Facebook Messenger API, also making use of HTML and CSS for the frontend.
Challenges we ran into
Since we don't want the slow process of Facebook authentication to hurt website performance, we decided to set up cron jobs to dispatch background processes to check for queued tasks and log in. However, this required us to interface with the Facebook Messenger API, which turned out to be very incomplete. The built-in user authentication provided by chat APIs was broken, so we hotfixed these packages by managing session cookies ourselves, resolving the issue.
Accomplishments that we're proud of
We’re proud that we were able to restore usability to a currently broken python package. We are also proud that we were able to expand our technical skills, learning various new technologies in the process.
What we learned
As a team, we had relatively little experience with Django, Bootstrap, and handling cookies for server connections. As a result, most of us got to learn about technology we are not super familiar with, forcing us to get much more experience in these areas.
What's next for Janch - The “Friendful” Reminder Service
Janch plans to expand its functionality by utilizing machine learning to create a chatbot system. As of now, once the reminder is sent to the user's friend, the user and his friend can continue the conversation manually. However, implementing a chatbot system will allow Janch to send regular texts periodically in addition to just reminders; this prompts for more conversations that do not just revolve around responsibilities/tasks but can allow for more freedom and fun. This keeps our users engaged with the platform and each other, also allowing us to expand our user base exponentially.
Right now, Janch's main benefit is based on a simple but significant observation we have made: that short, regular interactions can make it much more likely for relationships to last through extended, stressful periods. To further assist people in maintaining their friendships whether through a pandemic or long distance, we want to use this platform to better understand the keys to success that may not be immediately apparent or intuitive, so we want to leverage machine learning to develop simple visualizations to help people understand the types of tasks and reminders that help best connect friends. As a result, we hope that we can help people learn directly from their own experiences while Janch also learns to be more relevant for more people’s situations.