Inspiration

Because one perspective never tells the whole story.

News can describe the same event in very different ways. The sources we read, the details they emphasize, and the narratives they construct can all influence how we understand what is happening around us.

I built Mosaic around a simple question: what if readers could explore multiple perspectives on a story in one place instead of relying on a single account?

The goal isn't to tell people what to think or to pretend that an AI can determine the absolute truth. It's to make comparing coverage easier, help readers notice differences between sources, and encourage them to think critically about the information they consume.

What it does

Mosaic is an AI-powered news exploration and cross-source analysis platform. It brings news coverage together and uses AI to help readers examine how different sources report on the same story.

Its core capabilities include:

  • News aggregation: Fetches news from multiple providers to broaden coverage.
  • Story discovery: Organizes news into topics so readers can explore related coverage.
  • AI-powered analysis: Examines reporting and extracts claims and key points for further comparison.
  • Cross-source perspectives: Helps readers understand where sources emphasize different details, present different claims, or frame a story differently.
  • A unified experience: Brings these capabilities together in a single web application.

Mosaic is designed to support informed judgment, not replace it. AI-generated analysis can make mistakes, and differences in reporting do not automatically prove that a source is biased or inaccurate. Readers should be able to examine the available coverage and form their own conclusions.

How I built it

Mosaic consists of a web frontend and a separate backend API.

The frontend is built with Next.js 16 and TypeScript, providing the interface through which users explore news and its analysis. The backend handles news retrieval and AI-powered processing separately from the client-facing application.

A key engineering decision was to fetch news from multiple providers in parallel rather than unnecessarily waiting for one provider before starting another. The backend processes the returned articles, updates the available topics, and prepares content for the application.

For AI analysis, I worked on source-by-source claim extraction and cross-source comparison. I also improved the handling of structured model responses so the backend can validate the data it receives instead of blindly trusting generated output.

Because AI services and news providers can be inconsistent, the system also needs to account for provider failures, model-response formats, caching, and the time required to process requests. Keeping the frontend and backend separate makes their responsibilities clearer and allows the API to manage these operations independently.

The application is deployed as a live web application, with its frontend and backend hosted separately.

Challenges I faced

1. Working with multiple news providers

Different providers can return different coverage, response formats, and failure conditions. Fetching from several sources reliably required attention to parallel execution, error handling, and keeping the resulting articles and topics consistent.

2. Making AI output useful rather than superficial

A simple summary does not necessarily help readers understand how coverage differs. I worked on improving the analysis process to extract source-specific claims and make comparisons more substantive, while recognizing that AI-generated interpretations are not infallible.

3. Handling structured AI responses reliably

AI models do not always return data in precisely the format an application expects. I worked on making structured responses more consistent and validating them before using them in the analysis pipeline. This is particularly important when different model providers have different requirements for structured output.

4. Balancing reliability, latency, and limited resources

News retrieval and AI analysis involve external services, network delays, and potential failures. Building within the constraints of free hosting and API tiers meant paying close attention to parallel processing, fallback handling, caching, and keeping the application usable when an individual dependency has problems.

What I learned

Building Mosaic reinforced that an AI-powered product is much more than a prompt connected to a model. A useful system also needs reliable data ingestion, sensible architecture, structured output validation, error handling, and a user experience that communicates the limits of its results.

I also learned to approach AI-generated analysis with caution. A model's interpretation should not be treated as an unquestionable verdict, especially when the subject is news and public understanding. Showing multiple perspectives is valuable only when readers are encouraged to examine them critically.

Most importantly, this project pushed me to think about the responsibility that comes with building technology. The objective should not simply be to generate more content, but to help people engage with information more thoughtfully.

What's next

Mosaic is a step toward making cross-source news exploration more accessible. Future improvements could include deeper source-level comparisons, clearer evidence linking individual claims to their reporting, stronger ways to communicate uncertainty, and broader coverage of events and perspectives.

The long-term vision is simple: help readers move beyond a single narrative and explore the bigger picture for themselves.

Mosaic — Because one perspective never tells the whole story.

Built With

Share this project:

Updates

Submission history