One of our teammates uses an app that strives to help him focus in an unconventional way. In this app, when you put down your phone, you can grow a tree that gets killed when you pick up your phone. This way, you remove the distraction of your phone and strengthen your focus on the task at hand. You've probably heard of Forest, one of the top-rated productivity apps on the App Store and Google Play Store. The prospect of planting a tree and growing a personal, virtual forest through staying away from distractions on your phone is motivating for many people, and we thought that we'd take it a step further by allowing the user to evolve a vivarium their room or house, using the power of Augmented Reality.

What it does

Terrarium is an app that allows users to bring virtual plants or animals in their home by putting their phone down and distancing themselves from distractions. Similar to the functionality of Forest, Terrarium allows the user to either hatch an animal or grow a plant while they stay away from their phone for a certain amount of time. When the timer stops, the user receives a virtual plant or animal which they can then transfer to their vivarium in their home with augmented reality. It takes the idea of planting trees from Forest in the 2D world into the 3D world with us, thanks to the power of augmented reality. This brings more motivation to the end user as they are able to share their 3D vivarium in their home with friends, while continuing to develop their homemade virtual vivarium.

How we built it

We built our app using Flutter, Unity, and EchoAR.

Challenges we ran into

This was our first time using Unity and EchoAR, and unfortunately, due to one of our team members lacking the necessary disk space to install Unity, only one of our members could work on the Unity + EchoAR part of the app. However, we luckily came across an EchoAR + Unity + Flutter template, which was convenient since we had just recently learned Flutter. Thus, we decided to split the roles into the front-end (the Flutter app) and the back-end (the Unity + EchoAR app).

Unfortunately, Unity was a giant pain to install on Linux, which was the platform our team member was using. There were constantly bugs, and he found it hard to decide to either switch to MacOS (which would lose all his convenient macros and keybindings that make his workflow efficient), or to stick to Linux and just deal with or find workarounds for the bugs. At the end, after reinstalling Unity and finding out that it still didn't work, he decided to switch to MacOS where it worked on the first attempt. If only he hadn't spent the last 3 hours trying to install Unity...

Share this project: