about.txt
noos · a curated AI / dev / security feed · 68 sources · 237 items.
the name — noos νοῦς
noos comes from ancient Greek νοῦς (noûs) — mind, specifically the rational faculty: the part of the soul that perceives, understands, and discriminates. Plato put it at the top of the soul. Aristotle gave it the seat of intellect. The Neoplatonists made it the principle through which the One becomes intelligible. Across two thousand years of philosophy the word kept its job: the thing that knows.
The feed you're reading exists because the AI · dev · security world ships faster than any one mind can keep up with. The point of noos is not to replace your attention — it's to be a small auxiliary mind that runs while you sleep, reads everything for you, scores it, dedupes it, and presents the signal four times a day. You spend your own noûs on building, not on searching.
It's also a quiet pun. AI is artificial nous. The thing aggregating today's AI announcements is, in its own modest way, doing what the word has always meant.
what this is
noos is a personal news aggregator that pulls dev + AI + security updates from 68 first-party feeds, aggregators, and research mirrors. It scores, deduplicates, and curates each fetch into a small daily inbox, presented in a System-7-flavored mail-app UI.
The point isn't novelty — it's signal. Anthropic, OpenAI, Google DeepMind, xAI, DeepSeek, Meta AI, Mistral, and the security industry all ship news every day. This inbox is what's left after the noise filter runs.
how items move through the pipeline
┌───────────────────────────────────────────────────────────────┐
│ cron › 4× daily (06 / 12 / 18 / 00 europe/tirane) │
└──┬────────────────────────────────────────────────────────────┘
▼
1. fetch ─────────── adapters for rss · youtube · hn · reddit ·
github-releases · github-trending · arxiv ·
product-hunt
2. recency window ── drop items older than 48 hours
3. hard reject ───── drop empty / "[link]" / "discussion" bodies
4. seen-url dedup ── state/seen.json prevents reposts
5. topic detect ──── keyword lexicon + source-label fallback
6. off-topic gate ── drop items still uncategorized
7. score ─────────── weight × keywords × freshness × penalties
8. diversify ─────── dampen repeat sources (X-style author dedup)
9. near-dup ──────── jaccard ≥ 0.7 on titles
10. threshold ─────── score ≥ 10 for normal items
score ≥ 1 for `always: true` major-lab sources
11. top N ─────────── 18 per fetch (always-include first, then top)
12. enrich ────────── fetch og:image + meta description if missing
13. write ────────── markdown into src/content/links/YYYY-MM-DD/
14. commit ────────── andi-bot pushes; forge auto-deploys
Full ranking math is in the README.md at the repo root, the lexicon at
scripts/lexicon.mjs, and the tuning constants at scripts/score.mjs.
tech stack
- frontend — astro 6, hand-written CSS, no client framework
- fetcher — node 22 + rss-parser + cheerio
- storage — markdown files in astro content collections (one file per item)
- state —
state/seen.jsonfor dedup,state/og-cache.jsonfor thumbnails - cron — github actions, 4× daily
- hosting — laravel forge, static deploy on every push to main
- build — astro build → ~250 pages, ~2 seconds
source directory
every feed the aggregator listens to, grouped by what it covers. always-flagged sources bypass the score threshold so major-lab announcements never get filtered out.
AI Labs — Anthropic 3
- anthropic
https://raw.githubusercontent.com/taobojlen/anthropic-rss-feed/main/anthropic_news_rss.xml - anthropic — youtube
channel UCrDwWp7EBBv4NwvScIpBDOA - hn — claude
algolia search · query "claude" · ≥30 pts
AI Labs — OpenAI 2
- openai
https://openai.com/blog/rss.xml - openai — youtube
channel UCXZCJLdBC09xxGZ6gcdrc6A
AI Labs — Google / DeepMind 6
- google deepmind
https://deepmind.google/blog/rss.xml - google ai blog
https://blog.google/innovation-and-ai/technology/ai/rss/ - gemini news
https://blog.google/products-and-platforms/products/gemini/rss/ - google research
https://research.google/blog/rss/ - google deepmind — youtube
channel UCP7jMXSY2xbc3KCAE0MHQ-A - hn — gemini
algolia search · query "gemini" · ≥20 pts
AI Labs — xAI / Grok 1
- hn — grok
algolia search · query "grok xai" · ≥20 pts
AI Labs — DeepSeek 2
- deepseek — youtube
channel UCZzz69u3MGBmJ3APUTyyXPA - hn — deepseek
algolia search · query "deepseek" · ≥20 pts
AI Labs — Meta AI 2
- ai at meta — youtube
channel UC5qxlwEKM7-5YZudb24l0bg - meta research
https://research.facebook.com/feed/
AI Labs — Mistral 2
- mistral — youtube
channel UCRaz_dquopKtb4ptswKcxTA - hn — mistral
algolia search · query "mistral" · ≥20 pts
AI Labs — Other (Hugging Face) 2
- hugging face
https://huggingface.co/blog/feed.xml - hugging face — youtube
channel UCHlNU7kIZhRgSbhHvFoy72w
Security 12
- the hacker news
https://thehackernews.com/rss.xml - krebs on security
https://krebsonsecurity.com/feed/ - google project zero
https://projectzero.google/feed.xml - schneier on security
https://www.schneier.com/feed/atom/ - github security
https://github.blog/category/security/feed/ - cisa advisories
https://www.cisa.gov/cybersecurity-advisories/all.xml - dark reading
https://www.darkreading.com/rss.xml - rapid7
https://www.rapid7.com/blog/rss/ - cloudflare security
https://blog.cloudflare.com/tag/security/rss - aws security
https://aws.amazon.com/security/security-bulletins/rss/feed/ - huntress
https://huntress.com/blog/rss.xml - check point research
https://research.checkpoint.com/feed
Dev Tools & Independent Voices 7
- vercel
https://vercel.com/atom - cloudflare
https://blog.cloudflare.com/rss - deno
https://deno.com/feed - github blog
https://github.blog/feed/ - simon willison
https://simonwillison.net/atom/everything/ - matt pocock
https://www.totaltypescript.com/rss.xml - dan abramov
https://overreacted.io/rss.xml
Release feeds 12
- bun releases
releases.atom for oven-sh/bun - vite releases
releases.atom for vitejs/vite - astro releases
releases.atom for withastro/astro - deno releases
releases.atom for denoland/deno - claude-code releases
releases.atom for anthropics/claude-code - codex releases
releases.atom for openai/codex - aider releases
releases.atom for paul-gauthier/aider - openhands releases
releases.atom for All-Hands-AI/OpenHands - cline releases
releases.atom for cline/cline - continue releases
releases.atom for continuedev/continue - langchain releases
releases.atom for langchain-ai/langchain - mcp servers releases
releases.atom for modelcontextprotocol/servers
Aggregators (HN, Reddit, GitHub trending, Product Hunt) 19
- hn — grok
algolia search · query "grok xai" · ≥20 pts - hn — deepseek
algolia search · query "deepseek" · ≥20 pts - hn — mistral
algolia search · query "mistral" · ≥20 pts - hn — claude
algolia search · query "claude" · ≥30 pts - hn — gemini
algolia search · query "gemini" · ≥20 pts - hn — llm
algolia search · query "llm" · ≥30 pts - hn — show
algolia search · query "show hn" · ≥20 pts - hn — security
algolia search · query "security vulnerability" · ≥30 pts - r/LocalLLaMA
r/LocalLLaMA · top day - r/ChatGPTCoding
r/ChatGPTCoding · top day - r/MachineLearning
r/MachineLearning · top day - r/singularity
r/singularity · top day - r/programming
r/programming · top day - r/SideProject
r/SideProject · top day - r/coolgithubprojects
r/coolgithubprojects · top day - r/netsec
r/netsec · top day - github trending
trending · since=daily - product hunt — ai
category artificial-intelligence - product hunt — devtools
category developer-tools
Research (arXiv) 3
- arxiv cs.AI
category cs.AI · 20 max - arxiv cs.CL
category cs.CL · 20 max - arxiv cs.CR
category cs.CR · 15 max
visibility statement
this project is not open source. the repository is private and the code is not licensed for re-use, modification, or redistribution. that said, every choice that shapes what shows up here is documented and reproducible from public material:
- the source list above is the complete input. nothing is hidden.
- the fetch pipeline diagram is the complete flow. there is no separate ranking server or human curator.
- the scoring formula is in the README and the lexicon files at the repo root.
- the schedule is a github actions cron, visible in
.github/workflows/fetch.yml.
if you'd like access to the repo to read the code (read-only), get in touch. if you'd like to run something similar yourself, the README documents enough that you can build a working clone in an afternoon.
contact
questions, sources to add, or signal-to-noise complaints — andi@digitalschool.tech.