Skip to content

legel/ecodash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

                       %%@
                       %%%%
                       @%%%%
                        %%%%%
                        %%%%%%
                         %%%%%
                        @%%%%%%
                         %%%%%%% @%%%%@
                    @%%%%%%%%%%%%%%%%%%%
                 %%%%%%%%%%%%%%%%%%%%%%%%%%@
                     %%%%%%%%%%%%%%         @
                         @%%%%%%@           %%%                       %%@
                                           @%%%                       %%%
                                           @%%%                       %%%
   @%%%%%%%%   %%%%%%%%% %%%%%%%%%   %%%%%%%%%%  %%%%%%%%   %%%%%%%%  %%%%%%%%%
  %%%%   @%%% %%%@      %%%%   %%%% %%%%   %%%%        %%%  %%@       %%%%  @%%%
  %%%%%%%%%%% %%%      @%%%     %%% %%%    @%%%  @%%%%%%%%  %%%%%%%   %%%   @%%%
  %%%%        %%%@      %%%    @%%% %%%@   %%%% %%%%   %%%     @%%%%@ %%%   @%%%
   %%%%%%%%%% @%%%%%%%%@%%%%%%%%%%@ @%%%%%%%%%% @%%%%%%%%% %%%%%%%%%@ %%%   %%%%
     %%%%%%@    %%%%%%@   %%%%%%%     %%%%%@%%%   %%%%%%%%  %%%%%%%   %%%    %%%

Ecodash.ai

A native plant search engine for global ecosystem design, providing AI-driven species recommendations across 90,000+ vascular plant species using biogeographic indexing and ecophysiology trait filtering.

Live: ecodash.ai


Abstract

Native plant selection for ecological restoration and landscape design is constrained by fragmented occurrence data, limited trait databases, and the absence of location-specific recommendation infrastructure. Practitioners must manually cross-reference biogeographic ranges with functional traits, a process that does not scale to the 90,000+ species documented worldwide.

Ecodash.ai addresses this through two complementary computational structures: (1) a multi-resolution biogeographic index built from GBIF occurrence records and the Daru et al. 2024 global native plant habitat model, and (2) a binary ecophysiology matrix encoding 150+ functional traits for over 90,000 vascular plant species. These structures enable sub-second, location-aware filtering for any coordinate on Earth.


Ecodash.ai in Numbers

Since launch in 2024:

  • 5.5 million+ pages served across the platform
  • 100,000+ human visitors from over 1,000 cities worldwide
  • ~1,500 human visitors per week on average
  • 200,000+ city-level recommendation pages serving native plant data globally

How It Works

Ecodash operates through three core systems: a geospatial index that identifies which plants are native to a given location, a trait matrix that encodes properties of each species (ecophysiology, ecological function, microclimate preferences, landscaping typology, ...), and a browser-based filter that lets users instantly narrow results by selecting desired characteristics.

1. Biogeographic Indexing

For any location on Earth, Ecodash queries a hierarchy of geohash cells at four spatial resolutions (from ~5 km to ~625 km), aggregating native species scores from both GBIF occurrence records and the Stanford/Daru 2024 habitat model. Finer-resolution data is prioritized, with coarser grids providing fallback coverage.

def recommend_plants_for_geohash(geohash_5, habitat_model="naive_gbif"):
    """Hierarchical biogeographic lookup across four geohash resolutions."""
    geohash_4 = geohash_5[:-1]  # ~20 km
    geohash_3 = geohash_4[:-1]  # ~78 km
    geohash_2 = geohash_3[:-1]  # ~625 km

    # Query species distribution model + GBIF occurrences at each resolution
    daru_scores, daru_ids = get_data_from_collection(geohash_5_stanford_2024, geohash_5)
    scores_5, ids_5 = get_data_from_collection(geohash_5_collection, geohash_5)
    scores_4, ids_4 = get_data_from_collection(geohash_4_collection, geohash_4)
    # ... aggregate across all resolutions

2. Ecophysiology Matrix

A binary matrix of shape (species, traits) encodes 150+ functional traits per species: growth habit, mature size, foliage, environmental tolerances, and phenology. For each request, the relevant subset is bitpacked, Snappy-compressed, and base64-encoded for efficient delivery to the browser.

# Bitpack: 1 bit per trait value (8x compression)
bit_arr = bitarray()
bit_arr.pack(recommended_ecophysiology.astype(np.uint8).flatten())

# Snappy compress with dimension headers
compressed = snappy.compress(header + bit_arr.tobytes())

3. Client-Side Filtering with TensorFlow.js

Trait filtering runs entirely in the browser via TensorFlow.js. Users select traits from a hierarchical ontology, and the system performs element-wise matrix multiplication to find matching species in under 1 millisecond.

// Filter: element-wise AND via multiplication
let result = tf.ones([numSpecies], 'int32');
selectedFilters.forEach(traitIndex => {
    const column = tfMatrix.slice([0, traitIndex], [numSpecies, 1]).squeeze();
    result = result.mul(column);
});

Data Sources

Source Description
GBIF Global occurrence records for biogeographic indexing
Daru et al. 2024 Stanford native plant habitat model
GeoNames City database (200,000+ cities, population > 500)
6,000+ botanical websites Top-10 Google results per species, parsed by GPT-4 for trait extraction

Technology Stack

Backend:   Flask, MongoDB, NumPy, GeoPandas, Snappy, bitarray
Frontend:  TensorFlow.js, Snappy.js, Leaflet, Google Maps Places API
Data:      GBIF, Daru 2024 SDMs, GeoNames, 6,000+ botanical websites (GPT-4)

Linked Research

Ecological Intelligence, Inc. develops these open source projects as part of a broader research program in AI for ecological intelligence:

  • DeepEarth AI world model for environmental simulation and prediction. Learns patterns across global environmental datasets to forecast ecological conditions at any location over time. Paper.

  • Digital Twin 3D landscape visualization and design platform. Photorealistic 3D scenes from drone and ground surveys, with interactive tools for ecological landscape design. Live demo.

  • Geo3D 3D reconstruction pipeline for real-world environments. Converts drone and handheld imagery into high-fidelity 3D models for surveying, analysis, and design.


Scientific Collaborators & Advisors

Collaborator Affiliation Domain
Dr. Pamela Soltis UF Distinguished Professor Systematics, Biodiversity
Dr. Douglas Soltis UF Distinguished Professor Plant Evolution, Phylogenomics
Dr. Gail Hansen UF Professor Landscape Architecture
Dr. Ryan Klein UF Assistant Professor Urban Ecology, Landscape Design
Dr. Teagan Holly Young UF Postdoctoral Scholar Environmental Horticulture, Landscape Design
Dr. Howard Beck UF Professor Emeritus Knowledge Engineering
Dr. Jorg Peters UF Professor Computer Science, Geometric Modeling
Dr. Robert Guralnick UF Professor Biodiversity Informatics
Dr. Shaowen Wang UIUC Professor, Associate Dean CyberGIS, Geospatial AI
Christina Hite Founder, Dix.Hite + Partners Landscape Architecture
Tim Sallin CEO, Cherrylake, Inc. Native Nursery Planting

Development Team

Name Affiliation Domain
Lance Legel CEO, Ecological Intelligence, Inc. Ecological Intelligence, AI
Tristan Sallin CTO, Ecological Intelligence, Inc. Computer Science, Simulation

Setup

git clone https://github.com/legel/ecodash.git
cd ecodash

python -m venv private/venv
source private/venv/bin/activate
pip install -r private/app/requirements.txt

cp .env.example .env
# Edit .env with your MongoDB credentials and API keys

cd private/app
python web_server.py

See .env.example for required environment variables.

Note on data dependencies. The Ecodash.ai platform relies on MongoDB databases containing biogeographic indices and ecophysiology data that are not currently included in this repository. We intend to open source these datasets as part of a forthcoming scientific publication. Researchers interested in collaborating on improving these models or accessing the underlying data are encouraged to reach out directly.


License

Copyright Ecological Intelligence, Inc.

Contact

lance@ecodash.ai

About

AI-powered native plant search engine for global ecological development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors