Inspiration

In an age where information travels faster than ever, media literacy hasn’t kept up. News articles, YouTube videos, and viral posts are often framed with emotional language, subtle bias, or outright manipulation. In turn, this leads to mass information and an overall lack of synchronization worldwide.

We wanted to build a tool that doesn’t tell people what to think, but helps them see how something is written. SpinFilter was inspired by the idea that critical thinking should be augmented by AI, not replaced by it. Instead of policing content, we aim to expose tone, framing, and emotional manipulation so users can form their own informed conclusions.

What it does

SpinFilter is a comprehensive bias detection and content analysis platform.

It allows users to:

Analyze news articles from any URL

Upload audio files for transcription and bias detection

Analyze YouTube videos by downloading and transcribing audio

Detect political bias and emotional framing

View a “Drama Index” (1–100) measuring emotional intensity and manipulation

See paragraph-by-paragraph breakdowns of bias

Generate neutral reworded alternatives

Identify political leaning of media outlets

Discover similar related articles for perspective comparison

The platform provides visual bias scores, emotional breakdowns, and alternative phrasing suggestions to help users consume media more critically.

How we built it

Backend

Flask REST API Gemini API for bias detection and neutral rewriting HuggingFace Transformers (RoBERTa-based emotion detection) Google Speech Recognition for audio transcription Newspaper4k for article scraping yt-dlp + FFmpeg for YouTube audio extraction PyDub for chunked audio processing News API for related article discovery

Frontend

React for UI TailwindCSS for styling Framer Motion for smooth animations SVG-based animated dials for bias and drama metrics

We implemented chunked audio processing (~50s segments) to avoid API limits and automatically cleaned up temporary files after processing to maintain privacy and efficiency.

Challenges we ran into

This project was a meaningfully enriching hackathon, being the first hackathon of everyone in our team. Handling long audio files without exceeding API size limits Ensuring accurate transcription across different formats Preventing inflated emotional scoring in the Drama Index Designing a bias score visualization that was intuitive and mathematically correct Maintaining consistent API responses across URL, audio, and video workflows Balancing feature richness with a clean and minimalist UI under tight time constraints Debugging real-time streaming responses between Flask and React also required careful coordination.

Accomplishments that we're proud of

Although the hackathon was stressful at the beginning, it turned out to be one of the most enriching yet fun experiences we've had. We're proud of many things we built such as:

Building a fully working multi-input bias analysis system in 24 hours Implementing chunked audio transcription to handle long videos Designing a Drama Index that combines NLP emotion detection with linguistic heuristics Creating a responsive, animated frontend with live analysis feedback Integrating multiple APIs and ML models into one cohesive platform Ensuring temporary files are automatically cleaned up for privacy Persevering through many errors which brought us to our limits

Most importantly, we built something that promotes critical thinking rather than censorship.

What we learned

This project taught us that fancy UI isn't all a website has to accomplish, it has to fulfill a menaingful purpose. We learned how:

Combining multiple AI systems requires careful normalization and calibration Emotion detection models can overestimate intensity without scaling UI clarity is just as important as backend intelligence Real-time feedback significantly improves user trust and engagement Hackathons reward clear scope and disciplined execution We also learned that meaningful AI tools don’t need to be flashy, they need to be transparent and thoughtful.

What's next for SpinFilter

Improve the Drama Index calibration with real-world datasets

Add cross-source comparison to show how different outlets report the same event Implement historical bias tracking over time Acknowledge edge cases and constraints Introduce user accounts for saved analyses Expand multilingual support Develop a browser extension for real-time webpage analysis Optimize performance for production deployment

Long-term, we envision SpinFilter becoming a powerful educational tool for media literacy in classrooms and journalism programs.

Built With

Share this project:

Updates