1. Overview
This project is a mobile app for setting goals, following through on them, and logging your progress. That motto turned out to be meaningful not just for users, but for me as the developer as well.
I decided to build this project to deepen my understanding of React Native, aiming to work on it in whatever spare time I had left after class each day.
Through that, I steadily grew my frontend skills, and applied what I learned and felt along the way back into the project.
The project started from a personal desire for growth, but it went beyond simple goal tracking — I focused on creating an environment where users could stay continuously motivated.
I tried to make the entire flow — from setting a goal, to daily logging, to tracking and sharing progress — intuitive and easy to use.
2. System Architecture
Since I built this project specifically to grow my React Native skills, it's built on React Native.
I also introduced Recoil for client-side state management. At the time, Recoil was maintained by Meta, the same company behind React Native, so I figured it would integrate well.
Grops. is made up of the following screens.
| Screen | Role |
|---|---|
| Main screen | Shows recommended nearby users and the user's goals in a feed |
| Explore screen | Shows other users' goals and their progress |
| Profile screen | Manage the user's goal history and settings |
| Saved screen | Shows saved goals |
3. Retrospective
I started this to build up my frontend skills, and I still regret that, without much backend knowledge at the time, I only ever built out the frontend half of the project.
Even so, I put a lot of effort into making it user-friendly with a fresh UI/UX, and made active use of libraries like Recoil that I wasn't very comfortable with before.
It never became a fully polished product, but it was a meaningful project for my growth.
