💡 Inspiration

Each term since I began college, I’ve tracked my moods in various ways, such as journaling and drawing them out on a white board. Because of this, I’ve always wanted to make a mood tracking app. Unfortunately, me and my previous teammate came to a disagreement when deciding on the app idea, and we eventually settled with the idea to create a sleep tracking app (because we are both sleep deprived CS majors) with mood tracking sub-features. My teammate was really busy throughout the term, so we had to postpone project development until there were 7 days left to the deadline. We spent a couple hours working on it, but my teammate decided he would be too busy and had to leave. The concept was already laid out, so with less than a week to create a full-stack application from essentially scratch, I decided to go through with it.

Also, considering this is App Dev Club, I wanted to make a mobile app😼

⚙️ What it does

Slumped Stats is designed to encourage better sleep by having users compete to see who sleeps more. Users can check in once a day to log the amount of sleep they got the night before. Then, they can navigate to the “Compete” tab where they can compare their sleep with friends. A lot of the underlying functionality is within the friending logic, where users can add, remove, and compare sleep with friends on the leaderboard.

🔨 How I built it

Frontend - React Native, TypeScript Backend - Golang, MongoDB Tools - Expo, React Native Paper UI Library, Figma, Postman, Render

🏃 Challenges I ran into

One major challenge I ran into was parsing dates with Golang. One thing about Go is it doesn’t give you warnings, just errors, so that was pretty annoying. On the other hand, I was pretty surprised to find that Go wasn’t the hardest thing to learn, especially since I was just making an API. For instance, when I was making the search feature to search for friends, I would send a request to the backend to search for usernames that contained the search query as a substring. When tackling this problem, I was relieved to find Go’s Contains() method for strings, which made the solution easy to implement.

🏆 Accomplishments that I’m proud of

I’m proud that I got to see my Figma designs come to life! Truly an amazing feeling.

🤓 What I learned

On the non-technical side of things, I learned the importance of not overlooking the “small” stuff when planning out a project. In my case, this was the friending functionality. I greatly underestimated how much time I would have to spend on friending, leading to less time able to spend on the primary features I wanted to showcase the most.

I also learned to mock up the frontend of a project down to every detail. I had to simplify the app many times, but I never stepped back to redesign the frontend. This caused me to have to create it on the fly, leading to unappealing UI in some places.

🤔 What’s next for Slumped Stats

  1. Do user tokens so the user doesn’t have to log in to the app each time.
  2. Create profile pics for users.
  3. Add more animations, including a splash screen animation. I feel like if I had a few more days, I could really polish some of the UI and enhance the overall feel of the app.
  4. Publish it to the Apple Store. Sadly, it costs $100 dollars though (pls vote for me🙏🏻).
Share this project:

Updates