%%@
%%%%
@%%%%
%%%%%
%%%%%%
%%%%%
@%%%%%%
%%%%%%% @%%%%@
@%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%@
%%%%%%%%%%%%%% @
@%%%%%%@ %%% %%@
@%%% %%%
@%%% %%%
@%%%%%%%% %%%%%%%%% %%%%%%%%% %%%%%%%%%% %%%%%%%% %%%%%%%% %%%%%%%%%
%%%% @%%% %%%@ %%%% %%%% %%%% %%%% %%% %%@ %%%% @%%%
%%%%%%%%%%% %%% @%%% %%% %%% @%%% @%%%%%%%% %%%%%%% %%% @%%%
%%%% %%%@ %%% @%%% %%%@ %%%% %%%% %%% @%%%%@ %%% @%%%
%%%%%%%%%% @%%%%%%%%@%%%%%%%%%%@ @%%%%%%%%%% @%%%%%%%%% %%%%%%%%%@ %%% %%%%
%%%%%%@ %%%%%%@ %%%%%%% %%%%%@%%% %%%%%%%% %%%%%%% %%% %%%
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
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.
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
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.
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 resolutionsA 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())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);
});| 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 |
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)
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.
| 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 |
| Name | Affiliation | Domain |
|---|---|---|
| Lance Legel | CEO, Ecological Intelligence, Inc. | Ecological Intelligence, AI |
| Tristan Sallin | CTO, Ecological Intelligence, Inc. | Computer Science, Simulation |
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.pySee .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.
Copyright Ecological Intelligence, Inc.