gitwtfhub

wtf is news?

delirehberi/news — explained in plain English

Analysis updated 2026-05-18

16TypeScriptAudience · developerComplexity · 4/5Setup · hard

TL;DR

A self-hosted, AI-powered news feed that learns your taste from past upvotes and pulls from Hacker News, Lobsters, and Reddit, using Nostr for identity.

Mindmap

mindmap
  root((AI Curated News))
    What it does
      Aggregates HN Lobsters Reddit
      Learns from your upvotes
      Builds personalized feed
    Tech stack
      TypeScript
      Cloudflare Workers D1
      Vectorize embeddings
      Nostr identity
    Use cases
      Self hosted news feed
      Private taste learning
      Follower feed sharing
    Setup
      Cloudflare account needed
      Reddit OAuth credentials
      Nostr pubkey required
    Frontend
      Vite
      Tailwind CSS

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Self-host a personalized news feed that ranks Hacker News, Lobsters, and Reddit articles by your own past upvotes.

REASON 2

Use a Nostr identity to train the AI on your taste and let followers re-publish your curated feed.

REASON 3

Run a fully private news aggregator where you own the database and vector search index.

REASON 4

Deploy a serverless backend and frontend together on Cloudflare with a single command.

What's in the stack?

TypeScriptCloudflare WorkersCloudflare D1VectorizeHonoViteTailwind CSSNostr

How it stacks up

delirehberi/newsachrefelouafi/basicproceduralbuildingacoyfellow/tuiport
Stars161616
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyhardmoderatemoderate
Complexity4/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires a Cloudflare account, Reddit OAuth credentials, and a Nostr pubkey before you can deploy.

Wtf does this do

This project is a self-hosted news aggregator that builds you a personalized feed by learning from the articles you have upvoted in the past. It continuously pulls posts from Hacker News, Lobsters, and Reddit, then uses an AI model to convert each article into a kind of numerical fingerprint called an embedding, which lets the system compare new articles against your history and figure out what you are likely to find interesting. One notable feature is its use of Nostr, a decentralized social protocol, for identity. You can log in with a Nostr browser extension to record your likes and train the system on your taste, and your followers on Nostr can then see and re-share your personally curated feed. The whole system runs entirely on Cloudflare's infrastructure, so nothing is sent to a third party server you do not control, and you own the underlying database and search index yourself. The frontend is a modern, visually polished interface built with Vite and Tailwind CSS, showing interleaved articles from all your sources along with image previews and follower counts. Setting this up is not a simple one command install. It requires a Cloudflare account, a fairly recent version of Node.js, and creating your own Cloudflare database and vector search index. You also need to configure Reddit developer credentials and a Nostr identity key, and push these as secrets to Cloudflare before deploying. The project provides a set of shortcut commands to handle initialization, infrastructure setup, secret management, and deployment of both the backend and frontend in one step, but it does require following each of these setup stages in order and having accounts with the relevant external services already in hand.

Yoink these prompts

Prompt 1
Walk me through setting up a Cloudflare account, D1 database, and Vectorize index for a self-hosted project like this.
Prompt 2
Explain how AI embeddings and cosine similarity can be used to build a personalized news feed.
Prompt 3
Help me configure Reddit OAuth credentials and push them as secrets to Cloudflare Workers.
Prompt 4
What is Nostr and how does NIP-07 browser authentication work for training a personalized recommendation system?

Frequently asked questions

wtf is news?

A self-hosted, AI-powered news feed that learns your taste from past upvotes and pulls from Hacker News, Lobsters, and Reddit, using Nostr for identity.

What language is news written in?

Mainly TypeScript. The stack also includes TypeScript, Cloudflare Workers, Cloudflare D1.

How hard is news to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is news for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.