Nepali News Portal

- Role
- Solo project
- Year
- 2024
- Stack
- JavascriptMachine Learning
The problem
Nepali language news online has none of the tooling that English news platforms take for granted: no reliable sentiment filtering, no automatic categorization, no summarization, nothing that helps a reader find or trust content faster. Most of that tooling simply does not exist for Nepali, because most NLP tooling is built and tuned for English first. I wanted a real news platform for the Nepali-speaking community with that tooling actually built in, in Devanagari script, not English with a translation layer on top.
Approach
SajhaKhabar is split into a user client, an admin portal, and a backend server, with the machine learning side deliberately pulled out into its own service (News-algorithm) rather than embedded directly in the platform. That algorithms service exposes a FastAPI API in front of four separate Nepali NLP modules: sentiment analysis, using a transformer model tuned for Nepali text; news classification, to automatically categorize incoming articles; extractive text summarization, to generate a short summary readers can scan before committing to a full article; and a KNN based recommendation system that surfaces related articles from what a reader has already shown interest in.
Separating the algorithms into their own API rather than baking them into the news portal's own backend meant the ML side could be built, tested, and improved independently, and reused without another Nepali news platform having to reimplement the same tooling from scratch.
Outcome
Every article submitted by an admin gets processed automatically: scored for sentiment before publication, categorized, and summarized, with only content meeting a sentiment quality threshold approved to go live. Readers get categorized browsing, quick summaries, and recommendations tailored to what they read, on a platform built for a language most NLP tooling still treats as an afterthought.