Skip to content

Final report for GSoC 2025 for Perspective project by Parag Ghatage#1

Open
ParagGhatage wants to merge 1 commit into
AOSSIE-Org:mainfrom
ParagGhatage:ParagGhatage-report
Open

Final report for GSoC 2025 for Perspective project by Parag Ghatage#1
ParagGhatage wants to merge 1 commit into
AOSSIE-Org:mainfrom
ParagGhatage:ParagGhatage-report

Conversation

@ParagGhatage

@ParagGhatage ParagGhatage commented Aug 28, 2025

Copy link
Copy Markdown

This PR add my final report for GSoC 2025 of Perspective project.

It includes all the points mentioned by GSoC and AOSSIE guidelines.

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive final report detailing project overview and completed work.
    • Summarizes user-facing features: article scraping pipeline, LangGraph-powered perspective generation/judging, sentiment analysis, real-time fact-checking, bias detection, RAG chat with vector storage, redesigned frontend, and deployment improvements.
    • Highlights resolved issues (deployment stability, backend restructuring, UI/UX, vector DB integration).
    • Includes current state, known limitations, future roadmap, and links to live demo and resources.

@coderabbitai

coderabbitai Bot commented Aug 28, 2025

Copy link
Copy Markdown

Walkthrough

Adds a new Markdown document 2025/ParagGhatage-Perspective.md containing a Google Summer of Code 2025 final report for the Perspective project, detailing features, issues resolved, current state, limitations, future work, and references.

Changes

Cohort / File(s) Summary
Documentation (GSoC Report)
2025/ParagGhatage-Perspective.md
Added a comprehensive final report outlining project goals, completed work, added features, resolved issues, current state, limitations, future plans, challenges, and references.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

A nibble of notes, a hop through time,
I penned the path in tidy rhyme.
From graphs to chats, the trails I tread—
Footprints in docs, carrot-inked red.
Now thump the ground: report complete!
Another sprint, another beat. 🥕🐇

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbit in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbit in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbit gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbit read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbit help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbit ignore or @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbit summary or @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbit or @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@ParagGhatage

Copy link
Copy Markdown
Author

@ceilican ,
I have submitted My report as a PR.
Please take a look.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (3)
2025/ParagGhatage-Perspective.md (3)

64-64: Use consistent product name: “Google Custom Search JSON API”.

Aligns terminology across the doc.

-- **Fact-Checking Mechanisms** – Added real-time fact-check functionality using Google Custom Search Engine API and integrated it with LLM-based verification.  
+- **Fact-Checking Mechanisms** – Added real-time fact-check functionality using Google Custom Search JSON API and integrated it with LLM-based verification.  
--  Real-time fact-checking integrated with Google Custom Search API and LLM verification.  
+-  Real-time fact-checking integrated with Google Custom Search JSON API and LLM verification.  

Also applies to: 95-95


33-55: Optional: add dates for each PR item.

Improves traceability for reviewers.


1-12: Optional: add “Last updated” date under the title.

Helps readers place the report in time (e.g., “Updated: August 28, 2025”).

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between cb225f4 and c39f783.

📒 Files selected for processing (1)
  • 2025/ParagGhatage-Perspective.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
2025/ParagGhatage-Perspective.md

[grammar] ~3-~3: There might be a mistake here.
Context: ...l Report Project Title: Perspective Organization: Aossie Mentor(s):...

(QB_NEW_EN)


[grammar] ~4-~4: There might be a mistake here.
Context: ... Perspective Organization: Aossie Mentor(s): Manav Sarkar, Pranavi Tadiv...

(QB_NEW_EN)


[grammar] ~5-~5: There might be a mistake here.
Context: ... Manav Sarkar, Pranavi Tadivalasa, Bruno Contributor: Parag Ghatage **GSoC P...

(QB_NEW_EN)


[grammar] ~6-~6: There might be a mistake here.
Context: ...Bruno Contributor: Parag Ghatage GSoC Profile: https://summerofcode.wit...

(QB_NEW_EN)


[grammar] ~7-~7: There might be a mistake here.
Context: ...ogle.com/programs/2025/projects/NEioeuUn GitHub Profile: https://github.com/Par...

(QB_NEW_EN)


[grammar] ~8-~8: There might be a mistake here.
Context: ...ofile:** https://github.com/ParagGhatage Project Repo: https://github.com/AOSSI...

(QB_NEW_EN)


[grammar] ~13-~13: There might be a mistake here.
Context: ...g/Perspective --- ## 📌 Introduction Online media often presents information ...

(QB_NEW_EN)


[grammar] ~31-~31: There might be a mistake here.
Context: ...- ## 🛠️ Work Completed (Contributions) ### Pull Requests - [#116 – Minor code fi...

(QB_NEW_EN)


[grammar] ~46-~46: There might be a mistake here.
Context: ...nd LLM for on-the-fly fact verification. - [#101 – Sentiment Analysis Node using Gro...

(QB_NEW_EN)


[grammar] ~54-~54: There might be a mistake here.
Context: ...erspective/pull/92) – Major UI overhaul using latest Next.js framework. ### Featu...

(QB_NEW_EN)


[grammar] ~59-~59: There might be a mistake here.
Context: ...tream AI tasks, integrated with FastAPI. - Perspective Generation Nodes – Impleme...

(QB_NEW_EN)


[grammar] ~60-~60: There might be a mistake here.
Context: ...nted multiple LangGraph nodes including: - Generate Opposite Perspective Node -...

(QB_NEW_EN)


[grammar] ~61-~61: There might be a mistake here.
Context: ... - Generate Opposite Perspective Node - Judge Perspective Node - Sentiment A...

(QB_NEW_EN)


[grammar] ~62-~62: There might be a mistake here.
Context: ...ective Node - Judge Perspective Node - Sentiment Analysis Node (via Groq SDK) ...

(QB_NEW_EN)


[grammar] ~63-~63: There might be a mistake here.
Context: ...- Sentiment Analysis Node (via Groq SDK) - Fact-Checking Mechanisms – Added real-...

(QB_NEW_EN)


[grammar] ~64-~64: There might be a mistake here.
Context: ...tegrated it with LLM-based verification. - Bias Detection Endpoint – Developed an...

(QB_NEW_EN)


[grammar] ~65-~65: There might be a mistake here.
Context: ...text for biased or one-sided narratives. - **Retrieval-Augmented Generation (RAG) Cha...

(QB_NEW_EN)


[grammar] ~66-~66: There might be a mistake here.
Context: ...d metadata fixes for accurate retrieval. - Frontend Enhancements – Revamped the e...

(QB_NEW_EN)


[grammar] ~67-~67: There might be a mistake here.
Context: ...ta, and optimized frontend-backend sync. - **Deployment & Infrastructure Improvements...

(QB_NEW_EN)


[grammar] ~68-~68: There might be a mistake here.
Context: ...essfully deployed backend to production. - Documentation & Code Quality – Added d...

(QB_NEW_EN)


[grammar] ~74-~74: There might be a mistake here.
Context: ...es, ensuring smooth frontend deployment. - Inconsistent Backend Structure – Final...

(QB_NEW_EN)


[grammar] ~75-~75: There might be a mistake here.
Context: ... for easier development and scalability. - Lack of Documentation & Readability – ...

(QB_NEW_EN)


[grammar] ~76-~76: There might be a mistake here.
Context: ...kend modules, improving maintainability. - Frontend UI/UX Gaps – Addressed by rev...

(QB_NEW_EN)


[grammar] ~77-~77: There might be a mistake here.
Context: ...sed data cleanly on the /results page. - Vector Database Integration Bugs – Fix...

(QB_NEW_EN)


[grammar] ~85-~85: There might be a mistake here.
Context: ...ps://www.youtube.com/watch?v=Nq6OC8UQlLo - Live Deployment : https://perspective-...

(QB_NEW_EN)


[grammar] ~97-~97: There might be a mistake here.
Context: ...` page for displaying processed outputs. - Successfully deployed backend with FastA...

(QB_NEW_EN)


[grammar] ~109-~109: There might be a mistake here.
Context: ... reduce dependency on a single provider. - Improve Perspective Generation Quality...

(QB_NEW_EN)


[grammar] ~110-~110: There might be a mistake here.
Context: ...handle more complex or nuanced articles. - User Experience Enhancements – Add adv...

(QB_NEW_EN)


[grammar] ~111-~111: There might be a mistake here.
Context: ...ts (PDF/CSV), and richer visualizations. - Authentication & Access Control – Impl...

(QB_NEW_EN)


[grammar] ~112-~112: There might be a mistake here.
Context: ...ting for a more production-ready system. - Scalability Improvements – Optimize ba...

(QB_NEW_EN)


[grammar] ~113-~113: There might be a mistake here.
Context: ...Docker/Kubernetes) for larger-scale use. - Community Contributions – Provide cont...

(QB_NEW_EN)


[grammar] ~120-~120: There might be a mistake here.
Context: ...nd debugging cycles to ensure stability. - Fact-Checking with Limited APIs – Rely...

(QB_NEW_EN)


[grammar] ~121-~121: There might be a mistake here.
Context: ...ing web search with LLM-based reasoning. - Frontend–Backend Synchronization – Ens...

(QB_NEW_EN)


[grammar] ~122-~122: There might be a mistake here.
Context: ...real-time updates and rendering results. - Deployment Issues – Vercel deployment ...

(QB_NEW_EN)


[grammar] ~123-~123: There might be a mistake here.
Context: ... deps and stabilized the CI/CD pipeline. - Time & Coordination – Balancing multip...

(QB_NEW_EN)


[style] ~130-~130: Try replacing commonly used words with synonyms to make your writing more engaging.
Context: ...econe for building AI-driven pipelines; improved my skills in FastAPI for backend develo...

(IMPROVE_STRENGTHEN)


[grammar] ~130-~130: There might be a mistake here.
Context: ... + Tailwind CSS for frontend deployment. - Open-Source Collaboration – Learned ho...

(QB_NEW_EN)


[grammar] ~131-~131: There might be a mistake here.
Context: ...gs, logging, and clear commit histories. - Practical AI Engineering – Understood ...

(QB_NEW_EN)


[grammar] ~132-~132: There might be a mistake here.
Context: ...tions, and ensuring logical consistency. - Professional Growth – Improved at debu...

(QB_NEW_EN)


[grammar] ~133-~133: There might be a mistake here.
Context: ... large-scale, community-focused project. - Mindset Shift – Realized that building...

(QB_NEW_EN)


[grammar] ~140-~140: There might be a mistake here.
Context: ... Resources & References - Project Repo - [Documentation](https://github.com/AOSSIE...

(QB_NEW_EN)


[grammar] ~141-~141: There might be a mistake here.
Context: ...SSIE-Org/Perspective) - Documentation - [LangChain Documentation](https://python....

(QB_NEW_EN)


[grammar] ~142-~142: There might be a mistake here.
Context: ...f-contents) - LangChain Documentation - [LangGraph Documentation](https://langcha...

(QB_NEW_EN)

🪛 markdownlint-cli2 (0.17.2)
2025/ParagGhatage-Perspective.md

7-7: Bare URL used

(MD034, no-bare-urls)


8-8: Bare URL used

(MD034, no-bare-urls)


9-9: Bare URL used

(MD034, no-bare-urls)


23-23: Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


83-83: Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


85-85: Bare URL used

(MD034, no-bare-urls)


86-86: Bare URL used

(MD034, no-bare-urls)


90-90: Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


107-107: Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


118-118: Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


128-128: Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)


138-138: Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)

🔇 Additional comments (2)
2025/ParagGhatage-Perspective.md (2)

13-20: Content quality is strong; structure reads well.

Clear goals, delivered features, limitations, and next steps. Nice work.

Also applies to: 31-79, 90-114, 147-154


1-154: All external links in 2025/ParagGhatage-Perspective.md resolved successfully
All checked URLs returned HTTP 200; no broken links found.

# Google Summer of Code 2025 – Final Report

**Project Title:** Perspective
**Organization:** Aossie

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix organization capitalization (“AOSSIE”).

Ensures correct org name in a user-facing report.

Apply this diff:

-**Organization:** Aossie   
+**Organization:** AOSSIE
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Organization:** Aossie
**Organization:** AOSSIE
🧰 Tools
🪛 LanguageTool

[grammar] ~4-~4: There might be a mistake here.
Context: ... Perspective Organization: Aossie Mentor(s): Manav Sarkar, Pranavi Tadiv...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In 2025/ParagGhatage-Perspective.md around line 4, the organization name is
incorrectly capitalized as "Aossie"; update that line to use the correct
uppercase form "AOSSIE" so the user-facing report shows the proper organization
name.

Comment on lines +7 to +9
**GSoC Profile:** https://summerofcode.withgoogle.com/programs/2025/projects/NEioeuUn
**GitHub Profile:** https://github.com/ParagGhatage
**Project Repo:** https://github.com/AOSSIE-Org/Perspective

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Convert bare URLs to Markdown links (MD034).

Resolves markdownlint no-bare-urls.

-**GSoC Profile:** https://summerofcode.withgoogle.com/programs/2025/projects/NEioeuUn   
-**GitHub Profile:** https://github.com/ParagGhatage  
-**Project Repo:** https://github.com/AOSSIE-Org/Perspective  
+**GSoC Profile:** [summerofcode.withgoogle.com/programs/2025/projects/NEioeuUn](https://summerofcode.withgoogle.com/programs/2025/projects/NEioeuUn)  
+**GitHub Profile:** [github.com/ParagGhatage](https://github.com/ParagGhatage)  
+**Project Repo:** [github.com/AOSSIE-Org/Perspective](https://github.com/AOSSIE-Org/Perspective)  
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**GSoC Profile:** https://summerofcode.withgoogle.com/programs/2025/projects/NEioeuUn
**GitHub Profile:** https://github.com/ParagGhatage
**Project Repo:** https://github.com/AOSSIE-Org/Perspective
**GSoC Profile:** [summerofcode.withgoogle.com/programs/2025/projects/NEioeuUn](https://summerofcode.withgoogle.com/programs/2025/projects/NEioeuUn)
**GitHub Profile:** [github.com/ParagGhatage](https://github.com/ParagGhatage)
**Project Repo:** [github.com/AOSSIE-Org/Perspective](https://github.com/AOSSIE-Org/Perspective)
🧰 Tools
🪛 LanguageTool

[grammar] ~7-~7: There might be a mistake here.
Context: ...ogle.com/programs/2025/projects/NEioeuUn GitHub Profile: https://github.com/Par...

(QB_NEW_EN)


[grammar] ~8-~8: There might be a mistake here.
Context: ...ofile:** https://github.com/ParagGhatage Project Repo: https://github.com/AOSSI...

(QB_NEW_EN)

🪛 markdownlint-cli2 (0.17.2)

7-7: Bare URL used

(MD034, no-bare-urls)


8-8: Bare URL used

(MD034, no-bare-urls)


9-9: Bare URL used

(MD034, no-bare-urls)

🤖 Prompt for AI Agents
In 2025/ParagGhatage-Perspective.md around lines 7 to 9, the three bare URLs
should be converted to markdown links to satisfy MD034; replace each plain URL
with a title-wrapped link like [GSoC
Profile](https://summerofcode.withgoogle.com/programs/2025/projects/NEioeuUn),
[GitHub Profile](https://github.com/ParagGhatage), and [Project
Repo](https://github.com/AOSSIE-Org/Perspective) (or similar descriptive text)
so there are no bare URLs left in the file.


---

## Goals of the Project

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Remove extra spaces after atx heading markers (MD019).

One space after “##” is sufficient.

-##  Goals of the Project
+## Goals of the Project
-##  Demo
+## Demo
-##  Current State of the Project
+## Current State of the Project
-##  Future Work / Next Steps
+## Future Work / Next Steps
-##  Challenges Faced
+## Challenges Faced
-##  Learnings
+## Learnings
-##  Resources & References
+## Resources & References

Also applies to: 83-83, 90-90, 107-107, 118-118, 128-128, 138-138

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

23-23: Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)

🤖 Prompt for AI Agents
In 2025/ParagGhatage-Perspective.md around line 23 (and also lines 83, 90, 107,
118, 128, 138), the ATX headings have extra spaces after the "#" markers; remove
the extra spaces so there is exactly one space between the heading markers and
the heading text (e.g., change "##  Goals of the Project" to "## Goals of the
Project") to satisfy MD019.

Comment on lines +85 to +87
- **Video Demo:** https://www.youtube.com/watch?v=Nq6OC8UQlLo
- **Live Deployment :** https://perspective-aossie.vercel.app

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Linkify Demo/Live URLs and fix space before colon (MD034).

Standardizes formatting and passes lint.

-- **Video Demo:** https://www.youtube.com/watch?v=Nq6OC8UQlLo
-- **Live Deployment :** https://perspective-aossie.vercel.app  
+- **Video Demo:** [YouTube](https://www.youtube.com/watch?v=Nq6OC8UQlLo)
+- **Live Deployment:** [perspective-aossie.vercel.app](https://perspective-aossie.vercel.app)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **Video Demo:** https://www.youtube.com/watch?v=Nq6OC8UQlLo
- **Live Deployment :** https://perspective-aossie.vercel.app
- **Video Demo:** [YouTube](https://www.youtube.com/watch?v=Nq6OC8UQlLo)
- **Live Deployment:** [perspective-aossie.vercel.app](https://perspective-aossie.vercel.app)
🧰 Tools
🪛 LanguageTool

[grammar] ~85-~85: There might be a mistake here.
Context: ...ps://www.youtube.com/watch?v=Nq6OC8UQlLo - Live Deployment : https://perspective-...

(QB_NEW_EN)

🪛 markdownlint-cli2 (0.17.2)

85-85: Bare URL used

(MD034, no-bare-urls)


86-86: Bare URL used

(MD034, no-bare-urls)

🤖 Prompt for AI Agents
In 2025/ParagGhatage-Perspective.md around lines 85 to 87, the markdown has
plain URLs and an extra space before the colon; replace the plain URLs with
Markdown link syntax (e.g., [Video Demo](https://...) and [Live
Deployment](https://...)) and remove the extra space before the colon so the
line reads "Live Deployment:" with no space before the colon to satisfy MD034
and standardize formatting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant