-
Main page, initial stage when new goal is being added. Left and right arrows can be click to access other goals the user have.
-
Main page, after completing a subgoal, the plant grows.
-
Main page, after completing another subgoal, the plant grows.
-
Main page, final stage of the plant, all subgoals are completed meaning the main goal is also completed.
-
Add new goal page, by clicking the hoe icon in the main page, you can chat with AI here to let AI divide a big goal into subgoals for you.
-
The divided goals AI sends back. User can make edition or give more details for better generation. Once satisfy with the plan, click confirm
-
The full list of all the subgoals for the current page's main goal. Access by clicking the plant in the main page.
Inspiration
Have you ever struggled to start your goals, not because you lack motivation, but because you don’t know where to start? Breaking a large task like into small, actionable subgoals can make it far more achievable. We wanted to build a tool that turns vague intentions into structured, personalized roadmaps that make acheiving your goals much less daunting and much more approachable.
What it does
Leafloop helps users transform big goals into clear, manageable action plans. The user enters a goal (e.g., “I want to learn C++”). The app uses Google’s Gemini API to generate a series of subgoals, each with its own title and description. The subgoals are then displayed in a clean, intuitive interface, and the user can check off subgoals as they progress and confirm when a goal is complete.
How we built it
Backend: Java (Spring Boot) running in IntelliJ IDEA.
- Handles incoming POST requests from the Android app.
- Calls the Gemini AI API using a secure API key to generate subgoals based on the user’s input.
- Returns the structured subgoals as JSON. Frontend: Android Studio (Java and xml layouts).
- Displays the goal and subgoals using a Material Design interface.
- Uses Retrofit to communicate with the backend endpoints. Integration: The Android app connects to the backend via endpoints.
Challenges we ran into
Connecting backend and frontend: we encountered many errors during this process and had to make many changes to match the frontend with the backend.
Accomplishments that we're proud of
- Built a functional Android frontend with real-time goal visualization
- Designed a user-friendly UI that makes progress tracking intuitive and fun
- Created something that could help users stay organized and motivated
What we learned
- How to properly handle API authentication, key restrictions, and error debugging with Google Cloud.
- The importance of prompt engineering when working with large language models.
- How good UX design can directly impact user motivation and engagement.
- How to bridge multiple technologies including Android, Java, and AI APIs in a cohesive workflow.
What's next for Leafloop
- Adding user accounts and progress persistence using a database
- Introducing smart reminders and deadlines for goals
- Expanding to support collaborative goals such as allowing friends or teams to share and complete subgoals together
Built With
- android-studio
- firebase
- gemini
- github
- intellij-idea
- java
- maven
- rest
- spring-boot
- xml


Log in or sign up for Devpost to join the conversation.