DEV Community

Dev
Dev

Posted on

🌱 GrowWise: A Local-First AI Garden Planner

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built

GrowWise is a local-first AI gardening planner designed to help people spend less time staring at screens and more time taking care of plants.

Gardening can feel intimidating for beginners. It is not always obvious what to plant, when to water, how to care for different plants, or which tasks deserve attention each week. GrowWise aims to make those decisions simpler by turning a garden profile into a practical, manageable gardening plan.

The idea is straightforward: use AI to help people get outside, not give them another reason to stay online.

GrowWise is being built around a few core ideas:

  • Personalized gardening plans: Create a weekly list of gardening tasks based on a user's garden profile and selected plants.
  • Plant care guidance: Access practical information about plant care, watering, sunlight, and maintenance.
  • Outdoor task mode: View the next task without navigating a complicated interface while working in the garden.
  • Progress tracking: Mark tasks as completed and maintain a simple gardening journal.
  • Local-first experience: Keep garden profiles, saved plans, and progress on the user's device wherever possible.

GrowWise is intended for beginner gardeners, people growing plants at home, and anyone who wants a practical way to build a gardening habit.

The project is still being developed, so the final feature list and behavior will reflect what is actually implemented and tested.

Demo

Video demo: ADDING SOON

The demo shows the implemented application, how a user creates a garden profile, and how GrowWise helps turn that information into actionable gardening tasks.

Code

GitHub repository: https://github.com/hackwithdev/hf-opensource-ai-challenge-week1

The repository contains the application source code, setup instructions, and documentation for running GrowWise locally.

How I Built It

GrowWise is designed around open-source AI and local inference rather than a hosted AI API.

The planned stack is:

  • Astro, React, TypeScript, and Tailwind CSS for the user interface.
  • Python, FastAPI, and Pydantic for the local backend and structured request validation.
  • Ollama to run an open-weight language model locally.
  • IndexedDB to store garden profiles, saved plans, and task progress on the user's device.
  • A curated gardening knowledge base to provide practical reference information alongside AI-generated suggestions.

The AI's role is to turn a user's garden details and available gardening knowledge into structured, understandable plans. The application is designed to validate generated output rather than blindly trusting every model response.

The local-first approach also influences the architecture. The application aims to avoid sending garden profiles to a third-party AI service, while keeping saved information available on the same device. Where possible, the interface and previously saved plans should remain useful without an internet connection.

The final implementation and model choice will be documented in the repository, including the instructions needed to run the project locally.

Why Does Open Innovation Matter?

For a project like GrowWise, open innovation is about more than using a model whose weights are available.

It gives developers the freedom to inspect the technology they depend on, experiment with different models, adapt the system to a particular use case, and make the implementation accessible to other people.

Using local inference also changes the privacy trade-off. A gardening planner can work toward keeping personal garden information on the user's own device instead of requiring every request to pass through a hosted AI provider. It also gives users more control over which model they run and how they configure the application.

Open-source development makes the project easier for others to learn from, improve, and adapt. Someone could contribute a better plant-care knowledge base, add support for more plant varieties, improve accessibility, or adapt the application for a different climate.

There are practical limitations, too. Local models need suitable hardware, and their recommendations can be inaccurate. GrowWise therefore needs clear setup instructions, sensible validation, and careful handling of information that depends on a user's location or local growing conditions.

My goal is to build something useful that people can run, inspect, and improve themselves.

Top comments (0)