{"slug": "ecosound-using-open-source-ai-to-get-people-outside-and-exploring-nature", "title": "EcoSound: Using Open-Source AI to Get People Outside and Exploring Nature 🌿", "summary": "A developer built EcoSound, an open-source AI application that identifies bird species from recorded audio and generates educational nature explanations, using the BirdNET acoustic model and the Qwen3 1.7B language model hosted on Modal. The Go backend forwards recordings to BirdNET for inference and grounds Qwen's output in curated species data, with the developer reporting that cold starts took roughly 185 seconds and required handling Modal redirects and extending request timeouts.", "body_md": "*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass](https://dev.to/challenges/hacktoberfest-week1-2026-10-05)*\n\nWhat if we used AI to get people off their screens instead of keeping them glued to them?\n\nThat question inspired me to build EcoSound, an open-source, AI-powered application that turns ordinary outdoor experiences into opportunities to discover wildlife.\n\nWe're surrounded by nature, but how often do we actually stop to notice it? You might hear a bird singing outside your window, while walking through a park, or on your way to work, without knowing what it is.\n\nEcoSound makes those small moments of curiosity more meaningful.\n\nInstead of endlessly scrolling, users can step outside, listen to their surroundings, identify possible bird species, learn about wildlife, and take part in outdoor challenges.\n\n[https://ecosound-web.onrender.com/](https://ecosound-web.onrender.com/)\n\n[https://github.com/Daniel-1600/hactoberfest-week-1](https://github.com/Daniel-1600/hactoberfest-week-1)\n\nI wanted open-source AI to be central to EcoSound, rather than simply adding an AI chatbot to an otherwise unrelated application.\n\nTo achieve that, I integrated two complementary AI models.\n\nBirdNET is an open-source acoustic machine learning system for bird identification.\n\nUsers record or upload audio. The Go backend processes the recording and forwards it to BirdNET for inference.\n\nBirdNET returns candidate species, model scores, and the portions of the recording where calls were detected.\n\nI deployed BirdNET on Modal using CPU inference, avoiding the need to run the model on users' devices.\n\nIdentifying a bird is useful, but I wanted EcoSound to do more than return a species name.\n\nI integrated Qwen3 1.7B, an open-weight language model, to provide educational explanations and outdoor activity recommendations.\n\nBefore generation, the backend retrieves curated species information, including habitat, diet, ecological role, conservation references, and ethical observation guidance.\n\nThat information is passed to Qwen so its response can be grounded in the available species record.\n\nThe backend validates the generated JSON and requires exactly three outdoor activities.\n\nQwen runs on a Modal GPU, independently of BirdNET.\n\nMy technology stack:\n\nFrontend :Next.js, React, TypeScript\n\nBackend :Go\n\nDatabase :SQLite\n\nBird identification : BirdNET 3.0\n\nNature explanations : Qwen3 1.7B\n\nModel hosting : Modal\n\nWeb hosting : Render\n\nMaps : MapLibre GL JS\n\nOffline capabilities : PWA, IndexedDB, service worker\n\nThe Go backend connects the user-facing application to both AI services, manages stored discoveries, and handles validation and error responses.\n\nOne of the biggest challenges was getting reliable inference from the cloud-hosted models.\n\nQwen initially returned authentication errors because the Modal proxy credentials were incorrect.\n\nAfter resolving authentication, requests still failed during model cold starts. A direct request eventually returned HTTP 200 after approximately 185 seconds, including an HTTP 303 redirect.\n\nI updated the Go client to handle Modal redirects safely and extended the request timeouts.\n\nAnother issue appeared when Qwen returned an explanation that failed the backend's JSON and content validation.\n\nI refined the generation instructions, added controlled validation logging and retry handling, and expanded the tests.\n\nEventually, the complete pipeline returned HTTP 200, with the predicted species, curated wildlife information, an AI-generated explanation, and three outdoor activities.\n\nThis was an important lesson: deploying a model is only part of building an AI application. Handling cold starts, unreliable responses, validation, and model uncertainty is equally important.\n\nEcoSound would have been much harder to build as an independent project without accessible open-source AI.\n\nFirst, open models give developers control.\n\nI can inspect how BirdNET is integrated, build my own inference service, and choose where to run the model. With Qwen, I can control the prompts, generation settings, and validation behavior.\n\nSecond, open models make experimentation more accessible.\n\nInstead of being tied entirely to proprietary AI APIs, I can deploy models on infrastructure I choose, compare inference options, and adapt the system as my requirements change.\n\nThird, open innovation encourages reusable solutions.\n\nEcoSound combines existing research and open technologies into a new experience focused on biodiversity discovery and outdoor exploration.\n\nI didn't need to train a bird identification model or a language model from scratch. I could build on the work of open-source communities and focus on solving the user-facing problem.\n\nThat doesn't mean every component is free to run or that every model has identical licensing terms. EcoSound's application code is MIT-licensed, Qwen3 1.7B uses Apache 2.0, and BirdNET's model weights have separate noncommercial licensing restrictions.\n\nFor me, that's what makes open innovation exciting: it allows independent developers to turn existing research into useful experiences that might otherwise be out of reach.\n\nAnd sometimes, the best use of AI isn't keeping us online.\n\nIt's helping us appreciate what's happening outside.\n\n*Best Use of Render*\n\nI deployed the EcoSound web application using Render, making the project accessible through a public URL without requiring judges to install the application locally.\n\nRender serves as the public entry point to an application powered by open-source AI models hosted independently on Modal.\n\nLive application: [https://ecosound-web.onrender.com/](https://ecosound-web.onrender.com/)\n\nEcoSound — Go Outside. Listen. Discover. 🌿\n\nInstead of building another application designed to capture more screen time, I wanted to build something that makes the real world a little more interesting.", "url": "https://wpnews.pro/news/ecosound-using-open-source-ai-to-get-people-outside-and-exploring-nature", "canonical_source": "https://dev.to/blews/ecosound-using-open-source-ai-to-get-people-outside-and-exploring-nature-2m0h", "published_at": "2026-10-12 02:24:05+00:00", "updated_at": "2026-10-12 02:37:11.625846+00:00", "lang": "en", "topics": ["artificial-intelligence", "machine-learning", "ai-tools"], "entities": ["EcoSound", "BirdNET", "Qwen3 1.7B", "Modal", "Go", "Next.js", "SQLite", "Render"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ecosound-using-open-source-ai-to-get-people-outside-and-exploring-nature", "markdown": "https://wpnews.pro/news/ecosound-using-open-source-ai-to-get-people-outside-and-exploring-nature.md", "text": "https://wpnews.pro/news/ecosound-using-open-source-ai-to-get-people-outside-and-exploring-nature.txt", "jsonld": "https://wpnews.pro/news/ecosound-using-open-source-ai-to-get-people-outside-and-exploring-nature.jsonld"}}