Inspiration

Ecuery was inspired by StatMuse and the way it makes large amounts of sports data accessible through simple natural language questions. Environmental data has a similar problem. There is an enormous amount of information available, but it is often spread across different datasets, difficult to interpret, and not presented in a way that is useful to everyday users.

We wanted to create that same conversational experience for environmental data. Instead of searching through databases, reports, and dashboards, users can simply ask a question and receive an understandable and visually engaging answer.

What it does

Ecuery is a natural language search engine for environmental data.

Users can ask ecological and environmental questions in plain English, and Ecuery transforms those questions into data backed answers.

Rather than returning only raw numbers, Ecuery presents results through clear natural language explanations, interactive data visualizations, relevant environmental statistics, source information, voice generated explanations, and blockchain backed data verification.

The goal is to turn complex environmental datasets into information that anyone can quickly understand and use.

How we built it

Ecuery was built as a multi stage environmental data pipeline that combines natural language processing, time series data, historical analytics, voice generation, and blockchain verification.

The experience begins when a user records an environmental question through microphone or typed. The prompt is sent to our backend, where Gemini interprets the question and extracts important information such as the environmental metric, location, and time range.

Gemini then converts the request into a structured and read only database query. Before executing it, the system validates the query to make sure it can safely retrieve data without modifying the underlying databases.

The request is then routed based on the type of information being requested.

For recent environmental information, we use Tiger Data. Tiger Data stores time series sensor readings using hypertables and continuous aggregates, allowing Ecuery to quickly retrieve hourly and daily environmental measurements.

For historical questions, we use Snowflake. Snowflake handles larger historical datasets and analytical queries involving years of environmental readings.

After retrieving the necessary data, the results are merged based on time and location and returned to Gemini for analysis. Gemini identifies trends, compares recent conditions with historical patterns, generates the natural language response, and creates a JSON specification that tells the frontend how to visualize the result.

The final response is displayed as a visual answer card containing both the generated explanation and an interactive chart.

We also integrated ElevenLabs to convert the generated explanation into a spoken response. This allows users to listen to the result directly from the application.

To provide greater transparency around our data, we use the Solana blockchain as a verification layer. Ecuery combines information about the query, result, data source, and timestamp to generate a SHA 256 hash. That hash is recorded through a Solana transaction, allowing the application to provide a verification link and display a verified data badge alongside the result.

Our backend services and data processing infrastructure are hosted using Vultr, and GoDaddy manages our domain.

Challenges we ran into

One of our biggest challenges was working with environmental data from different sources. Environmental datasets often use different formats, measurement units, geographic structures, and timestamps, so normalizing the data into a consistent format was an important part of the project.

Another challenge was designing the AI system so that it did not simply generate environmental statistics itself. Instead, we wanted Gemini to understand the user's intent while allowing our databases and backend to perform the actual calculations.

Routing queries between recent and historical data was another challenge. We needed the system to determine when a question should use Tiger Data and when it should use Snowflake while still returning one unified answer to the user.

We also had to balance the number of technologies involved in the project. Integrating cloud infrastructure, AI, time series data, analytics, blockchain verification, authentication, voice generation, and visualization while maintaining a responsive user experience required us to carefully separate the responsibilities of each service.

Accomplishments that we're proud of

We are proud that Ecuery goes beyond being a traditional AI chatbot.

Instead of relying on an LLM to produce potentially inaccurate statistics, Ecuery separates language understanding from data computation. Gemini determines what the user wants to know, while our backend retrieves and calculates results using real environmental data.

We are also proud of creating a system that can intelligently route environmental questions between recent time series data and larger historical datasets while still presenting the result as one simple answer.

Another accomplishment is our use of blockchain technology as a transparency layer rather than simply adding blockchain for the sake of using it. Solana allows us to create a verifiable record tied to the data source, result, and time of a query.

Our architecture combines AI, environmental data, time series analytics, cloud computing, blockchain verification, visualization, and voice into one conversational experience.

Most importantly, we created an interface that can take complicated environmental information and transform it into something understandable within seconds.

What we learned

Building Ecuery taught us that one of the largest challenges surrounding environmental data is not necessarily the lack of information, but the accessibility of that information.

There are massive amounts of environmental data available, but finding the correct dataset, understanding its structure, querying it, and interpreting the results can require significant technical knowledge.

We also learned the importance of separating AI generated reasoning from deterministic data analysis. LLMs are extremely useful for understanding questions and explaining results, but databases and analytical systems should remain responsible for producing the underlying statistics.

Working with Tiger Data also showed us how useful time series databases can be for environmental information, where measurements are constantly changing over time.

We learned how different systems can work together within one data pipeline. Each technology has a specific responsibility, from interpreting a question, to querying data, to creating visualizations, to generating speech, to verifying the integrity of a result.

What's next for Ecuery

Our next goal is to dramatically expand the number of environmental datasets that Ecuery can understand.

We want Ecuery to eventually answer questions involving air quality, climate, water quality, emissions, energy, biodiversity, extreme weather, pollution, and environmental trends.

We also want to introduce location aware environmental intelligence, allowing users to ask questions such as:

What are the biggest environmental problems affecting my area?

Another future direction is integrating real time environmental sensors. Community organizations, universities, cities, and individuals could contribute sensor readings while using blockchain verification to establish the origin and integrity of the data.

We also want to improve the conversational experience so users can ask follow up questions without repeating the full context of their original query.

Eventually, Ecuery could provide personalized environmental dashboards, saved searches, alerts, and comparisons between different locations and time periods.

Ultimately, we envision Ecuery becoming a search engine for the planet, a place where anyone can ask a question about the environment and receive a fast, understandable, visual, and verifiable answer.

Built With

Share this project:

Updates

Submission history