Inspiration
Misinformation was always a topic that particularly stood out to me. Whether it was looking for real-world issues in my Language Arts class or going through misinformation myself and seeing misinformed users on the internet spreading prejudiced information, misinformation was important to me to mitigate.
What it does
Once the user inputs a topic, Vercel fetches the response from the AI and integrates the results for each website and tells you each article based on if they are celebratory on the current nature of the issue, critical, happy, etc.
How I built it
I first went through different news sources and determined how the 5 majors ones sided with different sides. I then got my own Groq API key, even though initially, I was thinking about just using the user's own API key, but user comfort came first to me, so I realized that I should just use my own. Any challenges I faced regarding the interface, I consulted my peers to ask how to fix something, and they were quite well with it. Before writing any UI, I thought about what the core data structure looked like — an array of outlets, each with a lean score, headline, tone, and the four analysis fields. Once that was clear the rest of the code just fell out naturally. I wrote SAMPLE_DATA before touching any API call. That let me build and style the whole UI against real-looking data without worrying about the AI integration at all. Once the UI looked right with sample data, swapping in a real API call was just one function. And, crucially, the sample data became the fallback, which turned out to be useful when things broke (which was frequent).
Challenges I ran into
Connecting Vercel to the app was quite difficult, and building the website with the correct interfaces. The api/ folder approach for serverless functions is a Next.js convention, not a Vite one, which I thought the entire time. Trying to bolt it onto a Vite project with vercel.json and proxy configs was the wrong path. switching to Next.js should have happened earlier and took way more time than needed. Gemini's free tier was locked to 0 requests, and the model name was outdated; switching to Groq solved this.
What's next for "The Echochamber" Media Bias Viewer
Going to find more news sources to integrate rather than the five most viewed ones. Also looking at different countries' news outlets to support international learners.
Log in or sign up for Devpost to join the conversation.