Gogrow
The GoGrow planning, homesteading, and image annotation app
Install / Use
/learn @DaytimeLobster/GogrowREADME
GoGrow: Your Homestead Management and Image Annotation Tool
Maintenance Mode - As of March 2026, this repository is in maintenance mode. Dependencies have been updated and most security issues addressed. No new features will be added to this version. See below for what's next.
What's Next: GoGrow Next
I'm working on a full rewrite of this project under my software studio, Firespawn Studios. GoGrow Next is being built from the ground up with a modern stack, a cleaner UI, and features that weren't possible in this version. More details coming soon.
In the meantime, this version of GoGrow should remain fully functional. The codebase has been updated to current dependency versions as of March 2026.
If you like GoGrow or want to support some of my other projects, please check us out on the web: Firespawn Studios
and on our github: Firespawn Studios GitHub
The GoGrow Project
GoGrow is a Flask application written in HTML, CSS, JS, and Python. It's designed to assist gardeners, farmers, project managers, drone operators, preppers, planners, or really almost anyone in need of an efficient mapping or image annotation tool to mark a place, feature, or thing.
<p align="center"> <a href="http://www.youtube.com/watch?v=8lQdxjow-kI"> <img src="http://img.youtube.com/vi/8lQdxjow-kI/0.jpg" alt="GoGrow App Demo" width="50%" height="50%"> </a> </p>Purpose of GoGrow
GoGrow is an open-source application that provides a thoughtful UI to annotate, mark, and keep track of images or projects. It empowers users to plan and track their changes to projects, whether on a large scale or on a more personal level. With modern access to high-resolution camera drones and satellite imagery, users can leverage a vast array of public and private imagery to upload and work with in GoGrow - from expansive territories, to personal homesteads, to backyard square-foot gardens. GoGrow prioritizes user privacy and data ownership, offering a user-friendly workflow for local annotation and collaboration on PNG and JPG images. Its versatility and modularity make it suitable for diverse industries and individuals seeking precise image annotation and marking. With GoGrow, you can seamlessly place and plan projects, structures, and associated information while enjoying a user-centric experience.
Privacy and Data Ownership
GoGrow prioritizes privacy and data ownership. The application operates completely offline, with all essential components like icons and scripts embedded within it. Your data stays on your device and is not logged, sent to third parties, or used for any other purpose.
Open Source and Ad-Free and Self-Hostable
GoGrow is open source, ad-free, and easily self-hosted. It provides access to annotation, editing, and mapping functions without the distraction of ads and contains no geolocation or tracking.
Collaborative and Flexible
GoGrow supports collaborative mapping and image annotation by LAN access, making it a useful tool for team projects that require detailed visual data feedback. You can annotate logos, art pieces, or character designs - pretty much anything in PNG or JPG format (RAW and DNG support is experimental at this time).
Features
-
Interactive Map: Visualize and navigate your homestead, garden, or farm with an intuitive and user-friendly map interface. Upload any image to annotate and add markers, from high-resolution drone aerial photos to simple overhead pictures taken from your smartphone. It's versatile for planning and building campsites, worksites, gardens, orchards, structures, and more.
-
Customizable Markers: Create, edit, and delete markers or lines to represent planting zones, fences, orchards, electric lines, water sources, and other vital points of interest. You can even use your own SVG icons!
-
Track your progress over time: Keep track of your work progress by adding notes to markers you place and lines you draw. Record your experiences, observations, or any insights that may help you in the future about a particular place or feature on an image.
-
Organized Categories: GoGrow automatically sorts your uploaded images (and a database with all of your marker and line data) into "image folders" to efficiently organize the different features you want to mark and keep notes on. Switch between these image folders with just one click. or tap.
-
Custom Backgrounds & Themes: Personalize the app with a variety of available background textures and themes, or include your own background for more personalization.
-
Responsive Design: Seamlessly plan and manage your image-based projects across various devices, and pick up where you left off.
-
Extensible: Built on open-source technologies, GoGrow is adaptable and ready for future expansion and updates.
-
Data Security: Export your data whenever needed. GoGrow does not send your data to any third parties.
-
Docker and Multi-Platform Support: GoGrow is easy to install with docker or by simple command line commands. Instructions are provided for running the app on your LAN, enabling collaboration on maps with others, even on mobile devices and tablets (through the device's web browser) with GoGrow's responsive web design and user interface.
-
Extensive rich text journal system: GoGrow provides a comprehensive journal system that allows you to create and manage detailed journal entries. The rich text editor (Quill) enables you to format text, add images, create lists, and apply styles to your journal content seamlessly. Journal entries are organized into image folders, just like the data for markers and lines - making it easy to navigate and manage your journal entries. The interface allows you to view and modify the title, content, linked items, and favorite status of each journal entry, and includes a powerful journal search function.
-
Linked Items: GoGrow supports linking journal entries to markers and lines on the map. You can associate specific journal entries with markers or lines you place on your uploaded image or map to provide additional context and reference relevant information. Click on the "Show on Map" button, and a popup showing the position of the linked marker or line appears for easy reference
Warning / Disclaimer
GoGrow is an actively developed application, and as such, occasional bugs or frequent changes may occur. We kindly request that you exercise caution and be aware of this fact before entrusting your data to the application. The author(s) and developer(s) of GoGrow cannot be held responsible for any damages, whether tangible or intangible, that may arise from the use or misuse of the application.
We strongly advise against using the application for any harmful or malicious activities. GoGrow, its developers, owners, and related parties make no guarantees or assumptions regarding the security or safety of the application. It is your responsibility to ensure the appropriate usage and protection of your data while using GoGrow.
Please proceed with caution and make informed decisions when using the application.
Install & Getting Started
Installation
Install with Docker Compose (recommended):
Docker compose and Docker run are the easiest ways to get up and running with GoGrow.
Ensure Docker and Docker Compose are installed and running correctly, and you can follow the below steps:
-
Clone the GoGrow repository or download the zip file from the repository.
-
Navigate to the directory where you've saved GoGrow in your terminal (there should be a Dockerfile and docker-compose.yml file present).
-
Use the included, or make/edit your own version of the
docker-compose.ymlfile in the same app directory as the Dockerfile. Below is an exampledocker-compose.yml- it maps only the img and backup folders, and makes the app available on port 5000:version: '3' services: gogrow: build: . ports: - "5000:5555" volumes: - ./img:/app/gogrow_app/img - ./backups:/app/gogrow_app/backups -
In your terminal, type
docker-compose up -dto build and run the GoGrow app as a Docker service. -
Navigate to the IP address and port you've set (default is localhost:5555), and enjoy the app!
These Docker Compose commands spin up a new GoGrow service using Docker on port 5000 and makes the "backups" and "img" subdirectories easy to access. You may also decide to map the icons or textures folders if you wish to use your own icons and textures in GoGrow!
Install as flask web app:
You may also choose to run GoGrow as a flask web app directly - you can follow the below instructions to accomplish this.
- Make sure you have Python 3.11 or newer installed on your machine. If not, you can download it from the official Python website.
- Clone the GoGrow repository or download the zip file from the repository.
- Navigate to the directory where you've saved GoGrow in your terminal.
- Run
pip install -r requirements.txtto install the necessary dependencies. - Once all dependencies are installed, you can start the application by running
python runserver.pyin your terminal.
How to Use GoGrow
Initial App Startup
If using Docker, GoGrow should be started automatically and available at the specified port used in the docker compose, or docker run command.
If using GoGrow as a Flask app, on startup GoGrow will ask if you want to use the default settings (port 5555) - you can enter "yes" here to use these settings, or "no" to specify the port and other settings that GoGrow should use when it launches.
Index Page
- Upon opening GoGrow for the first time, you'll see a blank Leaflet map container, a table at the bottom of the page for displaying the marker/line information that has been added, and a sidebar with various controls and buttons.
- To begin, upload an image using the upload button in the si
Related Skills
node-connect
354.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
prose
354.2kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
claude-opus-4-5-migration
112.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
112.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
