Inspiration

Multiple of the members of our team have ADHD, which is what initially inspired this project. The members who do not still relate to many of the challenges, as leading a busy college life leads to many different facets of life in which it can be hard to keep up with all of them.

We were frustrated by the lack of effective solutions, whether in an app form or otherwise, for people to manage their ADHD symptoms — these include issues like lack of focus and procrastination, which are more commonly known, but also aspect such as hyperfocus. We also seek to understand and effectively tackle the common cases where ADHD is tied into other conditions such as anxiety, as well as really work to alleviate common triggers of ADHD rather than simply trying to forcibly mask the consequences.

What it Does

One of the primary features of the app is the “mind map” portion which allows users to write down any thoughts they may have with an extremely low barrier to entry. Drawing from the idea of how all of us have many different aspects of our lives, we organize these thoughts or brain-dumps into “spheres” such as family, friends, academics, gaming, and school. One of the aspects that makes this app unique is that we utilize the OpenAI GPT API to automatically classify these thoughts, saving the user valuable time and allowing them to stay focused on their task at hand even if they are momentarily distracted by an unrelated thought. When they have time to dedicate to, say, thinking about friends, they can open all thoughts that were related to that topic and have them all in one place.

The second portion of this app works closely in conjunction with the mindmap; it is a focus timer. There are many timers out there that block apps or gamify the process of staying focused. But we sought to understand ways that can help users naturally stay on task rather than it being a forcible solution which doesn't really fix the issue. From personal experience, we've discovered that oftentimes, it is as simple as forgetting what goal you set or what you were working on. Our app allows the user to type out a description of what they are working on, and then uses GPT to summarize this into a few words that remind the user of their “focus” whenever they open their phone for any reason.

How We Built It

Once we identified the features, we got into the actual implementation of this app. We first decided on an architecture that included a React Native app to allow for compatibility with both iOS and Android phones, and for ease of use given some team members’ familiarity with web app dev in React. For the backend, we chose Node.JS, and after some other experimentation landed on using MongoDB as the database system for storing notes, spheres, and other such information.

Challenges

One of the main challenges of the project is that we set out to a multi-featured full-stack app in less than 24 hours (around 12 hours of actual development time). This required extremely quick iteration and pivoting when necessary. We had some challenges adapting from React to React Native, given the lesser amount of documentation and support, so the debugging process took longer than expected. Often, the location of bugs were not specified, making it even more difficult to diagnose issues.

We also had some struggles with finding a database that we could use without too much manipulation of the data. We had initially chosen Firebase given its popularity for simple, hackathon-style apps. However, we found that Firebase tended to overcomplicate the structures, especially for the organization we were trying to store, and converting between usable JSON and the firebase output was non-trivial. When we switched to MongoDB which stores JSON directly, we found that our iteration times were much faster and there was much less boilerplate/conversion code required.

It was a challenging night of minimal sleep and plenty of unexpected issues, but a great learning experience!

Accomplishments

We were quite happy with the amount that we were able to accomplish in the 24 hours — only one of our team members had substantial full-stack app experience, and some of us were working on learning JavaScript for the first time, let alone React or Node or any other framework. But we had written tons of code and had many features by the end of the time!

What we learned

We learned a lot about the importance of designing the stack to work together well, coordinating APis across members working on different portions of the app, and much more.

What’s next for Crystal

We see Crystal as being able to expand so much more to benefit ADHD and other populations that need support with managing symptoms so they can be empowered to do whatever it is they wish to do. For instance, we hope to further integrate the focus mode with the notes, add skills development for preventing procrastination, creating guided journal prompts and check-ins to understand the causes of procrastination, and so much more.

Built with

We built this app by using Node.js backend and React Native frontend ( coded with JavaScript and TypeScript ) as well as a MongoDB database layer.

Built With

Share this project:

Updates