This repository contains public files for Kite, news app for people who want a healthy news diet, developed by Kagi.
Kite is designed for people who want to stay informed without getting overwhelmed. We provide thrice-daily updates of the most important news stories, from carefully curated sources and summarized by advanced language models to give you the essential information you need. We strive for diversity and transparency of resources and welcome your contributions to widen perspectives. This multi-source approach helps reveal the full picture beyond any single viewpoint.
Most of what powers Kite is open sourced and is found in this repository.
This includes
- Kite web app
- Community curated feeds
- Media information
- Updated only once per day - no endless scrolling (12PM UTC)
- Facts and perspectives, opinion-free
- Zero tracking, zero ads
- Pure signal, no noise
- Quality over quantity
- Complete news diet in 5 minutes
You can read more about core principles behind Kite
- Avoid News: Towards a Healthy News Diet (HN discussion)
- News is bad for you (HN discussion)
- Stop reading news (HN discussion)
If you prefer to watch a short video, check this Ted talk: Four reasons you should stop watching the news | Rolf Dobelli.
Kite front end is a statically served app and is fully open source.
Here is how to run it locally:
# Clone the repository
git clone https://github.com/kagisearch/kite-public.git
cd kite-public
# Make sure you have the Node.js LTS version installed.
node -v
# Install dependencies
npm install
# Run development server
npm run dev
Check out the Vite documentation on how a production build works: https://vite.dev/guide/static-deploy.html
Kite front-end uses Kite application data that can be found at kite.kagi.com/kite.json (explore other files from there). Note that kite.json and files referenced by it are licensed under CC BY-NC license. This means that this data can be used free of charge (with attribution and for non-commercial use). If you would like to license this data for commercial use let us know through [email protected].
Kite web app is just one example front-end that one can run on top of the Kite data. We encourage others to contribute improvements to the Kite frontend.
We would also love to see what kind of custom front-ends you can create on top of Kite data! Feel free to share them with us and others by editing this Readme file.
To edit community curated categories, submit a pull request editing kite_feeds.json
. If you do not know how to do that, you can open an issue and share the feeds you want to add there.
This file contains RSS feeds for various categories.
To add a new category or modify existing ones, follow this structure:
- Create a new object with the category name as the key
- Add a "feeds" array containing the RSS feed URLs for that category
- Ensure proper JSON formatting (commas between objects, no trailing comma)
All categories are created equal and will appear as top level categories in the Kite app.
Ideas for categories:
- Local news (city/state level)
- Regional news (country/region)
- Topical news (health, machine learning, aviation ...)
Kite does not scrape websites, but only publicly available RSS feeds.
When adding an RSS feed make sure to:
- Check that feed is working and has recent (daily) content.
- Choose sources that have high quality content. Do not use low quality/gossip/SEO content.
- Feeds should be in the same language as the rest of the feeds in that category (do not mix languages)
We require at least 25 feeds for a category in order to surface it in Kite news. This is to make sure we maintain high level of quality of events covered in the app. The more high quality feeds exist for a category, the better Kite coverage will be. The feeds should be using the same language.
Kite does not scrape news websites, it only uses publicly available information in RSS feeds.
Kite uses contents of media_data.json
to show additional information about sources of information. Initial information has been sources from https://statemediamonitor.com/ and the classification methodology is explained here https://statemediamonitor.com/methodology/
Feel free to add additional information (by editing media_data.json
) both for privately owned and state funded media organization. Add your sources of information in the pull request.
Kite allows users to blur or hide articles on topics they prefer not to see. These personal content filters are defined in src/lib/data/contentFilters.json
and are open source and community editable.
To edit content filters, submit a pull request editing contentFilters.json
. Each filter follows this structure:
{
"id": "filter_id",
"label": "Display Name",
"keywords": {
"default": ["keyword1", "keyword2"],
"en": ["keyword1", "keyword2"],
"pt": ["palavra1", "palavra2"],
// ... other languages
}
}
When adding or modifying filters:
- Use lowercase for all keywords
- Include translations for all supported languages
- Choose descriptive, clear labels for filter categories
- Test that keywords accurately match the intended topic
Feel free to add new filter categories or improve existing ones by adding relevant keywords in multiple languages.