Skip to content

GreenThumBot is an AI-powered urban greening platform created by Queen’s University Belfast students for the 2024 Sustainability Hackathon (“Re-Naturing the City” challenge, Belfast Agenda 2024–2028).

License

Notifications You must be signed in to change notification settings

BHarris02/GreenThumBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sustainability Hackathon, 2024

GreenThumBot is an AI-powered urban greening platform created by Queen’s University Belfast students for the 2024 Sustainability Hackathon (“Re-Naturing the City” challenge, Belfast Agenda 2024–2028).

🏆 Winner of the “Best Use of AI” prize (community vote).

Table of Contents


🎬 Pitch Video

Our official hackathon video submission (featuring a blend of humor):

▶️ Watch GreenThumBot Pitch Video


🌱 Background & Theoretical Motivation

GreenThumBot: A Smarter, Greener Belfast

GreenThumBot is an open-source, AI-powered platform designed to help Belfast and its communities optimize urban tree planting and green infrastructure, making the city greener, healthier, and more resilient.

The Problem

Belfast, like many modern cities, faces mounting environmental pressures:

  • Low urban tree coverage and a declining canopy
  • Air pollution and worsening urban heat islands
  • Loss of biodiversity and the need for resilient green infrastructure
  • Limited adoption of sustainable food practices and green space for communities

Meeting these challenges is essential to align with the ambitions set out by the Belfast Agenda 2024–2028, which calls for urgent, nature-based climate action and a healthier, more livable city for all.

Our Solution: GreenThumBot

GreenThumBot is an open, data-driven platform designed to transform urban greening in Belfast through a unique blend of:

  • Geospatial data analytics
  • AI-powered recommendations
  • Community engagement
  • IoT integration (future vision)

GreenThumBot empowers everyone — from city planners to local residents — to discover, visualize, and act on the most impactful locations for new trees and green infrastructure.

Key Features:

  • Interactive Maps:
    Visualizes current tree coverage, green spaces, and urban pollution, enabling clear understanding of where change is needed most.

  • Smarting Planting Recommendations:
    Uses public geospatial data and AI logic to recommend the best places for new trees or green spaces.

  • Community-Focused:
    Designed for both residents and organizations to explore, participate in, and lead greening projects.

  • Sustainable Food & Urban Gardening (future vision):
    Plans to enable residents to reserve garden plots, reduce food waste, and strengthen local food systems.

  • Scalable, Modular, and Open:
    The platform is built as microservices with open data and Docker for ease of deployment, extension, and integration.

Datasets & OpenData

GreenThumBot leverages Northern Ireland’s rich public geospatial datasets, including:

  • Belfast Trees Dataset (OpenData NI)
  • FODC Tree Preservation Orders
  • Belfast City Parks
  • National Natural Reserves & Areas of Outstanding Beauty
  • Townlands Boundaries

These datasets enable comprehensive mapping and analysis, forming the backbone of the platform’s recommendations.

How It Works (in theory):

  • The platform ingests and processes up-to-date open geospatial datasets.
  • AI-driven analysis identifies priority sites for planting and pollution mitigation, taking into account ecological, infrastructural, and social factors.
  • Users interact with clean, interactive maps to see opportunities for planting and to track progress city-wide.
  • Future plans include integrating IoT hardware to monitor plant and soil health, supporting a real-time feedback loop.

Why It Matters

By aligning with the city’s sustainability agenda and harnessing the collective power of data, technology, and the community, GreenThumBot aims to:

  • Improve air quality and urban resilience
  • Increase tree canopy and green spaces
  • Support local biodiversity and sustainable food systems
  • Empower communities with actionable data

🏗️ System Architecture

GreenThumBot is structured as a modern microservices web app, with each component containerized for easy deployment and development.

  • Backend Services:

    • Greening Service: Generates dynamic tree density maps from public geospatial data.
    • Pollution Service: Generates real-time urban pollution maps.
    • Both are independent Flask microservices using shared utilities for data processing and map generation.
  • Frontend:

    • Angular single-page app presenting a simple UI to trigger map generation.
    • On click, maps open in a new tab for user interaction.
  • Communication:

    • All interaction is via RESTful HTTP endpoints.
    • No shared state; services can scale independently.
  • Deployment:

    • Entire stack runs via Docker and Compose.
    • Supports both local development and production.

Extensible, modular, and open—GreenThumBot is ready for new features and city-wide scale.


📁 Project Structure


greenthumbot/
    backend/
        services/
            greening/
                app.py
                controller.py
                routes.py
            pollution/
                app.py
                controller.py
                routes.py
        common/
            utils.py
            config.py
        data/
            pollution/
                ...CSV files...       #data not easily retrievable via URL
        tests/
            test_greening_service.py
            test_pollution_service.py
        Dockerfile.greening
        Dockerfile.pollution
        requirements.txt

    frontend/
        src/
            app/
                map-viewer/
                    map-viewer.component.html
                    map-viewier.component.ts
                    map-viewer.component.csss
        Dockerfile.frontend
        nginx.conf
        ...Angular files...
    docker-compose.yml
    README.md

🚀 How to Run

Prerequisites

  • Docker & Docker Compose

Clone the Repository

git clone https://gitlab.com/sustainability-hackathon-2024/greenthumbot.git
cd greenthumbot

Quick Start (recommended)

From the project root:

docker-compose up --build
  • This will build and start all backend and frontend services.
  • Backend services will run on their respective ports (e.g., 5001 for greening, 5002 for pollution).

To stop the stack:

docker-compose down

Development Mode (Optional)

You can run the backend or frontend services individually for faster development and debugging.

Backend (e.g greening-service)

cd backend/services/greening
docker build -t greening-service .
docker run -p 5001:5001 greening-service

Frontend (Angular w/ live reload)

cd frontend
npm install
ng serve

Configuration


Troubleshooting

  • Ensure no other services are using the same ports (3000, 5001, 5002, etc).
  • For any issues, check the logs for each service container:
docker-compose logs <service-name>

API Endpoints

Greening Service

URL:

GET /generate-map

Description:

Generates and returns an interactive HTML map visualizing tree density or recommended planting locations.

Parameters:

  • param (optional): Number of top results or a filter parameter, depending on implementation.

Example:

GET http://localhost:5001/generate-map
GET http://localhost:5001/generate-map?param=10

Response:

  • Returns a complete HTML document (map), suitable for viewing in a browser.

Pollution Service

URL:

GET /generate-pollution-map

Description:

Generates and returns an interactive HTML map visualizing pollution levels.

Parameters:

None

Example:

GET http://localhost:5002/generate-pollution-map

Response:

  • Returns a complete HTML document (map), suitable for viewing in a browser.

Note

  • No authentication is required (for demo/hackathon use).

👥 Team & Credits

GreenThumBot was developed by a multidisciplinary team for the Sustainability Hackathon, 2024. All team members contributed to ideation, development, and presentation.

Team Members:

  • Blake Harris - Backend Development
  • Ben McKenna - Frontend Development
  • Jamie Farrell - Documentation & Testing + Procurement of the Doom source code.
  • Cameron McCusker - Long-range emotional support
  • Mark Moore - Accepting the £30 prize

Special Thanks & Data Sources

  • OpenData NI — Belfast Trees Dataset, City Parks, and other geospatial data
  • Queen's University Hackathon organisers, mentors, and judges for their support and guidance.

License

This project is licensed under the terms of the MIT License. See the LICENSE file for details.

About

GreenThumBot is an AI-powered urban greening platform created by Queen’s University Belfast students for the 2024 Sustainability Hackathon (“Re-Naturing the City” challenge, Belfast Agenda 2024–2028).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published