Inspiration

We wanted to make something that we could see ourselves using and help people of our generation with a great social issue: focus. Many productivity apps only reduce people to numbers, streaks, and charts. We wanted to create something more engaging and emotional. Naturally, plants reflect continued attention, care, and growth, making them a perfect metaphor for focused productivity. We were also inspired by how much time people spend doomscrolling and how difficult it is to stay focused in an environment that is filled with distractions. Our main goal was to transform productivity into an interactive game where healthy habits visibly grow a virtual garden while distractions have consequences.

What it does

GrowFlow uses AI and multi-platform productivity tracking to accurately track and reward user focus. Considering both mobile screentime and desktop chrome usage, AI dynamically considers if the time being spent is productive to the goal the user set, taking into account the application, time spent, and more qualitative metrics like user mood (ex. “Working,” “vacation,” etc.). If the user time is considered productive to the goal they set, they’ll see their plant grow in their garden and wither if they ignore their goal. Complete with account login, onboarding customization, and a rewarding visual of plant growth, users are incentivized to enter the flow state and stay focused on the goals they set.

How we built it

Our tech stack includes: Flutter as the framework Supabase for the backend and Google Cloud OAuth Claude API for analysing screentime metrics Midjourney for images and sprites Vercel for webpage deployment Chrome extension for tracking tab activity

Challenges we ran into

One challenge was implementing AI-powered tab analysis. Our original plan was to have a Chrome extension send browsing data directly to Supabase, but we ran into issues reliably linking extension data to user accounts. To solve this, we redesigned the system so the extension sends data to our web app, which authenticates the user and forwards the data to Supabase, creating a more reliable and scalable solution.

Accomplishments that we're proud of

We are proud to have created a complete and organized end-to-end flow: Google sign-in → onboarding → Chrome extension pairing → AI-powered scoring → animated plant growth/shrinkage, where all run live. Additionally, Claude's mood-aware scoring does truly feel fair, as it understands the differences in acts of productivity and distraction, like a deep work session on Google Docs and browsing through different Reddit posts. We also believe that the plant metaphor landed exactly as we had planned for it: watching your plant wilt is more motivating than just seeing a number go down.

What we learned

With Supabase Edge Functions, it is surprisingly easy to keep API keys on the server-side while still giving the client a strong, structured response. Also, Flutter’s Riverpod state management is something that scales well for real-time data: the plant state updates via Supabase Realtime without there actually being any manual polling. Moreover, Claude’s tool-use feature works well for the structured scoring tasks, since forcing a single tool call guarantees the response shape and also gets rid of parsing fragility. Lastly, having the gap between “working on web” and “working on a real device” is very important for anything that touches the Operating System level permissions, like screen time.

What's next for GrowFlow

We plan to introduce shared gardens, allowing friends to combine their plants and grow a collaborative garden together. By adding a social and community aspect, users can motivate each other to stay productive and build healthy habits as a group. We also want to give users the option to let GrowFlow temporarily block distracting apps, helping the platform evolve from a productivity tracker into an active accountability tool that encourages focus and reduces distractions.

Built With

Share this project:

Updates