Inspiration

In today's media landscape, information is abundant but trust is scarce. We're all caught in the crossfire of political polarization, constantly questioning the bias of the news we consume. The rise of Large Language Models presents both a new challenge and a unique opportunity. While LLMs are incredibly powerful, they are not immune to the biases present in their training data.

This led to our core idea: what if we could use the community to measure the bias of AI, and then use the most neutral AI to solve the problem of human media bias? The name itself, "Neural Net Neutrality," says it all.

What it does

Neural Net Neutrality is a multi-faceted platform with a grand vision, but for this hackathon, we built the core user-facing product: an automated, daily news podcast generated by an AI.

Here's the workflow we built:

  1. A powerful web scraper fetches the latest news from multiple, high-quality, politically diverse sources (like Reuters, BBC, and Al Jazeera).
  2. The content of these articles is fed to a generative AI.
  3. The AI's mission is to perform "neutral synthesis": it reads all the different perspectives and generates a single, concise, fact-based script that presents the news objectively.
  4. This script is then converted into a human-like podcast using a generative voice API.
  5. Finally, a unique, AI-generated cover art is created for the episode, and the final podcast is served to the user through a clean, Spotify-style web player.

How we built it

We built a fully automated, event-driven, serverless pipeline using a modern tech stack:

  • Data Ingestion: Bright Data's Web Scraper API was scheduled to run daily, executing a two-phase script to first discover article URLs and then scrape the full content of each one.
  • Automation Core: The entire process is orchestrated by a serverless InsForge Edge Function (our Supabase-like backend). The Bright Data scraper triggers this function via a webhook upon successful completion.
  • Neutral Synthesis: The edge function calls the OpenAI API (GPT-5-mini), sending it the collected articles with a carefully engineered prompt to produce a neutral script.
  • Audio Production: The script is then sent to the ElevenLabs API to generate incredibly realistic, high-quality audio for the podcast.
  • Frontend & Deployment: The user interface is a static site built with modern JavaScript, It is deployed on Github Pages.

Challenges we ran into

  1. Defining "Neutrality" in a Prompt: The concept of neutrality is philosophical. Translating it into a precise prompt for an LLM was a challenge. We iterated on prompts to enforce fact-based reporting, attribution of claims, and the avoidance of loaded or emotional language.
  2. AI Can't Write (Literally): We initially wanted to generate the entire podcast cover, text and all, with DALL-E 3. However, like most image models, it struggled with producing reliable, correctly spelled text. We pivoted to a more robust hybrid solution: using AI for the creative background and using code to overlay the text perfectly every time.

Accomplishments that we're proud of

  • A Fully Automated Pipeline: From a simple daily schedule, our system automatically scrapes the web, synthesizes information, produces audio, generates art, and publishes a podcast without any human intervention. We're incredibly proud of this end-to-end automation.
  • A Polished User Experience: We didn't just build a backend; we built a beautiful, modern, and intuitive frontend player that rivals commercial products.

What we learned

  • Serverless architectures are powerful but demand precision. A single misconfigured URL path or an unhandled HTTP method can bring the whole system down. Configuration is as important as code.
  • Know your tools' limitations. Instead of fighting an AI's weakness (like text generation in images), it's often better to architect around it with a hybrid approach that plays to both the AI's and the code's strengths.
  • The Power of Event-Driven Design: Using webhooks to connect disparate services (Bright Data → InsForge) is an incredibly efficient and scalable way to build automated systems.

What's next for Neural Net Neutrality

This hackathon project is the first user-facing product of a larger vision. The next steps are:

  1. Close the Loop: Dynamically select the LLM used for the daily podcast based on which model is currently rated as the most neutral by the community.
  2. Expand Coverage: Add more news sources, support for multiple languages, and offer topic-specific podcasts.

Built With

Share this project:

Updates