Inspiration

Lilix

Most of us often forget to take breaks from our daily schedule, and in this work-from-home era, it's even more prominent. So we wanted to make something that'll encourage people to take regular breaks in a fun manner. In order to achieve this, we conducted a small survey to ask our friends about the things that make them go out and take a break. We noticed that most of them said it was hanging out with friends. So, we wanted to capture the excitement of meeting with friends while enjoying a break. And that's how we came up with the idea of Lilix, to make taking breaks easier, rewarding and in a way fun!!

What it does

Lilix is a flutter app as well as a discord bot. Suppose I want to make my friend take breaks from her work, what I can do is I'll go over the Lilix app, type a text message and encrypt it with the layers of encryption I want, so that no common online decoder can decode. Then I'll copy the text and pass it on the server while mentioning my friend, like :-

!info @xyz#0001 {encrypted text}

And now this, will make my friend wanna decrypt the text and read the message, but that's not straightforward. In order to retrieve the text, she would need to walk 200 steps [as we've set for now] while using the dashboard (pedometer) section of Lilix app, and when she'll be done with atleast 200 steps, she'll upload the data to Firebase through a button, and then on the server, she can run the command !retrieve to know the actual decrypted text. And similarly she can send an encrypted text to me and I gotta take a walking break to decrypt it. That's how Lilix makes taking breaks easier and fun [kinda exciting]

Dashboard Mockup

How we built it

We built it with love. Well technically we used a variety of tech stacks, including-
Discord.py Library, to write Lilix discord bot in python, that makes use of commands to retrieve and upload encrypted text, images or any content, and also to check and communicate with Firebase.
Flutter for making the mobile application that serves as a pedometer, encrypts text with preferable number of encryption layers, and uploads data to Firebase as well.
Firebase, to serve as authentication mode and also as a database. It played a crucial role in connecting our discord bot with flutter application. Basically like a point of communication between the two!
Heroku, used to deploy our bot on server and keep it online 24/7!

For presentation and demo video purposes, we used-
• Figma, for prototyping of Mobile Application.
• Canva, to make devpost cover and few other touches to pictures.
• Alight Motion, for editing the demo video.

Challenges we ran into

There were many small challenges that we faced throughout the ideation and building of Lilix. Some of them were-
• Getting the pedometer working, since both of the teammates use Samsung and there were some restrictions of that specific package with Samsung, we had to find a workthrough to get it working in real-time. reference: https://pub.dev/packages/pedometer
• Connecting Lilix bot and Lilix app to the same Firebase and Firestore.
• Passing custom level of encryption on content.
• updating and retrieving data through python and flutter at the same time.

Accomplishments that we're proud of

We're very proud of what we were able to come up with in these 2 days of BonVoyage Hacks. We never connected two different applications simultaneously to a same database so that's a flex moment for us. We feel Lilix is very useful for those people who find it tough or maybe miss to take breaks from their regular schedule. Also, we're pretty much proud that we actually tested it and took breaks from our busy [not really busy] schedule.

What we learned

Ahh, throughout the weekend, we learned loads of new stuff. We learned how to make use of physical sensors in flutter, connecting Firebase to python and flutter at the same time, deploying bot on heroku to keep it online 24/7, designing and coding nice effortless dark themed applications and much more tbh.

What's next for Lilix

One thing is that for now, Lilix will work on servers that are predetermined in the code, because of Discord Privacy Policy. So we want to find a way to make it work on all servers. Apart from that, we want to make uploading data to database from flutter more efficient and maybe asynchronous. And hopefully if everything goes well, we'll love to launch it in real world.

Built With

Share this project:

Updates