Inspiration

Rising seafood prices and declining fish stocks have become a growing global concern. Overfishing not only threatens marine ecosystems but also drives up seafood prices, making nutrient-rich food less accessible to many communities.

What It Does

FishSave is an AI-powered decision support tool that predicts the impact of overfishing on seafood prices and food accessibility. Using historical fisheries data and seafood price trends, the system forecasts future overfishing levels and seafood price inflation over the next 5–10 years.

The platform generates a risk score that indicates the likelihood that overfishing will significantly increase seafood prices. Based on the risk level—low, medium, or high—FishSave provides tailored recommendations, such as adjusting fishing quotas, implementing seasonal restrictions, or promoting sustainable alternatives like aquaculture.

By translating complex environmental and economic data into clear insights and policy suggestions, FishSave helps governments, researchers, and organizations anticipate seafood supply risks and take proactive action before price shocks and ecosystem damage occur.

How We Built It

FishSave was built using a combination of web technologies, machine learning tools, and cloud services. The frontend is a single-page web application developed with HTML, CSS, and vanilla JavaScript, deployed via Firebase Hosting. The backend API is built with Python using the FastAPI framework and served with Uvicorn, deployed on Google Cloud Run for scalable access.

For forecasting and risk analysis, the project uses pandas and NumPy for data processing, scikit-learn for training Random Forest models to predict seafood price trends and risk levels, and statsmodels (ARIMA) known as time-series forecasting for long-term overfishing and price inflation forecasts. To generate policy recommendations and explanations, FishSave leverages Cohere for embeddings and reasoning over policy data, and the model used was embed-multilingual-v3.0. In terms of TTS pipeline, Cohere models were command-r-plus → command-a-03-2025 → command, command-a-03-2025 -> command as a fallback layer. Gemini models were used to write the recommendation of policy information. The model and fallback layers were: gemini-2.0-flash, gemini-1.5-flash, then down to gemini-1.5-pro (as a fallback). ElevenLabs text-to-speech converts explanations into audio, making recommendations more accessible. gTTS served as fallback model if elevenlabs failed. ChromaDB serves as a vector database to store and retrieve policy information supporting the recommendation system.

CI/CD for API key safety: the Firebase web key is injected at deploy time from GitHub Actions secrets, so our public repo only contains a placeholder while production stays fully functional.

Challenges We Ran Into

One of the biggest challenges was ensuring reliable audio explanations in deployment. While ElevenLabs worked well locally, production often returned 500 server errors due to Google Cloud Run connection issues. Configuring API keys in the cloud settings resolved some integration challenges.

Another challenge was overfitting in the time series forecasting model. Initially, the model overfitted for nearly 100 countries. By reducing the training set size and carefully adjusting model parameters, we balanced overfitting and underfitting to achieve more accurate predictions.

Frontend issues also arose during deployment, such as unresponsive buttons when moving from localhost to Firebase. Switching from CursorCode debugging to Google Antigravity, which better supports AI platform frontend design, helped resolve these issues.

I had to secure my Firebase web API key after it was exposed on a public repo— I added HTTP referrer restrictions, rotated the key, and moved deployment to GitHub Actions with secrets so the public codebase stays clean while the live demo still works.

Additionally, many technologies were new to me. Using CursorCode’s “ask mode” allowed me to follow step-by-step instructions for setting up and integrating these tools effectively.

Accomplishments We're Proud Of

Successfully building an end-to-end system that connects environmental data with economic forecasting, predicting both overfishing risk and seafood price inflation several years into the future.

Integrating AI-generated explanations and audio output, making policy insights accessible and easy to understand.

Deploying a fully working system—including web interface, machine learning pipeline, policy recommendation engine, and cloud-hosted API—within a short development timeframe. Combining forecasting models, vector search for policy recommendations, and AI-powered explanations into a single platform was a major achievement.

What We Learned

I gained hands-on experience setting up and using Firebase for frontend hosting and integrating GCP SDKs to ensure LLMs interact cohesively. Unlike the previous hackathon, where I only fine-tuned pre-trained models, this time I trained models from scratch—defining custom computation formulas, setting criteria for MAE, overfitting, and underfitting.

This project also deepened my understanding of LangChain: for LLMs to interact effectively, a vector database is needed to store retrieval-augmented generation (RAG) data, apply embeddings, and interpret semantic meaning across contexts.

What's Next for FishSave

We plan to expand FishSave by incorporating additional real-world datasets, such as global fisheries reports, climate data, and regional seafood market prices, improving forecasting accuracy and enabling localized predictions.

On the UI side, we aim to move beyond drag-and-drop functionality by integrating the Google Maps API and Cloudinary. Users could visualize high-risk regions, click on them, and view the same dashboard currently available.

Moreover, for audio explain, I can enable transcription so that it serves as a second pair of information for people to better understand what the main purposes of these audios serve.

Finally, we are considering transitioning from GCP to AWS to explore potential improvements in deployment efficiency and scalability.

Built With

Share this project:

Updates