How to vibe codeNewsBlur
A personal news reader bringing people together to talk about the world
newsblur.com ↗News / RSS Aggregator
The verdict: can you vibe code NewsBlur?
You can build a functional personal RSS reader clone with AI intelligence training, but background polling reliability and feed extraction edge cases will test your patience.
NewsBlur is deceptively complex under the hood. While a Next.js frontend backed by Postgres and a background worker can ingest standard RSS feeds and display a River of News, replicating robust DOM extraction for 'Web Feeds', elasticsearch full-text search across archives, and a multi-factor intelligence scoring engine requires substantial engineering effort. Background job timeouts and flaky RSS XML feeds will cause endless little bugs that require manual debugging.
Estimated effort: 3-4 weeks part-time
What you can't replicate
- 15 years of edge-case XML/RSS parser bug fixes
- The massive active user community and shared blurblog network
- Third-party iOS client ecosystem integrations out of the box
Founded
2009
Raised
—
Team
1 (Samuel Clay)
Cheapest paid tier
$0/year
What NewsBlur does
NewsBlur is a personal news reader and RSS feed aggregator that combines chronological feed reading with a custom Intelligence Training system, full-text search, web scraping, and AI-powered summaries.
Core features
- OPML feed import & folder management
- Background RSS polling worker queue
- Intelligence training system (author, tag, title, text scoring)
- Full-text article extraction & cleaning
- Full-text search indexing (Elasticsearch/Postgres FTS)
- River of News scrollable folder view
- Saved stories & custom tags
- AI-powered story Q&A and daily briefings
The business
Pricing
- Free$0/year
- Premium$36/year
- Premium Archive$99/year
- Premium Pro$29/month
Funding
Unknown / bootstrapped
Pay vs build, cumulative
No break-even inside 24 months at these numbers.
The hard parts of vibe coding NewsBlur
- High-frequency background feed polling at scale without IP bans
- Web scraping unstructured HTML into clean article feeds ('Web Feeds')
- Multi-tier intelligence classifier scoring engine running over incoming streams
- Reliable full-text search and indexing across tens of thousands of articles per user
- Cross-client synchronization of read states and folder trees
How to vibecode NewsBlur
Prerequisites
Node.jsFree
Runtime environment for Next.js full-stack application
GitHubFree
Source control and deployment pipeline integration
AI coding tools
Recommended stack
| Frontend | Next.js |
|---|---|
| Backend | Next.js API Routes |
| Database | Neon |
| Auth | better-auth |
| Payments | None |
| Other | Vercel AI SDK, Tailwind CSS, Cheerio |
Build guide
01Project Scaffolding & Database Schema
Initialize the Next.js application with Tailwind CSS and configure Neon Postgres with Drizzle ORM to model users, subscriptions, folders, feeds, stories, and user intelligence training weights.
Scrape together a new Next.js project configured with TypeScript, Tailwind CSS, and Drizzle ORM connected to Neon Postgres. Define relational database schemas for users, folders, feeds (url, title, feed_address, last_fetched), stories (guid, title, author, content, feed_id, pub_date), reading_states (user_id, story_id, read_status, starred), and intelligence_weights (user_id, type [author/tag/title], value, score). Ensure proper foreign keys, indices on story publication dates and feed ids, and a migration script to set up tables. Verify the database connection with a test script.02OPML Import & RSS Feed Ingestion Pipeline
Build an OPML file parser and a robust background fetching utility using rss-parser to fetch, parse, and upsert RSS and Atom feed items into the database.
Build an OPML upload and parsing utility in Next.js that reads uploaded XML files, extracts feed titles and XML links, and populates folders and feed records in Neon Postgres. Next, implement a background feed ingestion worker function using 'rss-parser' and node-fetch that iterates through active feeds, fetches XML payloads, normalizes publication dates, checks for duplicate GUIDs, and inserts new stories into the database. Handle network timeouts, malformed XML headers, and HTTP error statuses gracefully without crashing the batch queue.03Intelligence Training & Story Scoring Engine
Implement the core intelligence scoring algorithm that evaluates incoming stories against user-defined author, tag, and title weights to assign focus and hide scores.
Implement an intelligence scoring engine function that calculates a score for any given story against a user's saved intelligence weights (author, tag, title match). When a user clicks 'like' or 'dislike' on an author, title keyword, or tag in the UI, save a preference weight (+1 for like, -1 for dislike). When rendering stories or fetching feeds, compute a net score per story. Categorize stories into 'focus' (score > 0), 'neutral' (score == 0), and 'hidden' (score < 0). Provide API endpoints to list user training weights and create/delete preference rules.04Dashboard UI & River of News Layout
Build the multi-pane reading interface featuring folder trees, unread counters, River of News scrollable streams, and keyboard navigation shortcuts.
Create a responsive three-pane news reader dashboard in Next.js with Tailwind CSS. The left sidebar displays folders and feeds with real-time unread badges. The middle pane shows a scrollable story list (supporting list, split, and River of News folder views) with intelligence score pills. The right pane displays the active story content with font customization and layout controls. Implement keyboard navigation shortcuts (e.g., 'j' for next story, 'k' for previous story, 'm' to toggle read status, 'v' to open original site) matching classic RSS reader ergonomics.05Full-Text Search & Article Extraction
Implement full-text search across user subscriptions using Postgres FTS and a clean text view extraction fallback for truncated RSS feeds.
Add full-text search capabilities across all subscribed stories using Postgres full-text search capabilities (tsvector / tsquery). Build a search input bar in the dashboard header that queries story titles and content filtered by the current user's feed subscriptions. Additionally, implement a reader 'Text View' fallback endpoint that fetches an article's original URL using Cheerio, extracts main article body text by stripping away navbars and footers, and presents clean readable markup.06AI Assistant Integration & Polish
Integrate the Vercel AI SDK to power an 'Ask AI' story assistant and daily briefing summary generator.
Integrate the Vercel AI SDK with Anthropic Claude to power an 'Ask AI' drawer inside the story reader pane. Users can select a story and ask questions about its content, receiving streamed answers. Build a 'Daily Briefing' background generator that compiles unread stories from top subscribed feeds over the past 24 hours, sends them to an LLM prompt to generate a structured morning briefing digest, and saves it to a dedicated briefing view for the user.
Cost vs paying for NewsBlur
What will you build it with?
Starting total with Claude Code$0 one-time
Starting costs (one-time)
- Custom domain (optional)$12/yr
Total~$12 one-time
Ongoing costs (monthly)
- Anthropic API credits for Ask AI & Summaries~$2-5/mo
Total~$3-5/mo
Paying for NewsBlur
$3.00/mo ($36/yr)
Your time to build
40-60 hours
AI tool credits
$20 (Claude Pro / Cursor)
Break-even
Not rational for savings (purely for custom control and learning)
Vibe code NewsBlur: FAQ
- Can you vibe code NewsBlur yourself?
- Solid side project — 62/100 vibecodeable. You can build a functional personal RSS reader clone with AI intelligence training, but background polling reliability and feed extraction edge cases will test your patience.
- How long does it take to vibe code NewsBlur?
- 3-4 weeks part-time — roughly 40-60 hours of hands-on time with an AI coding agent.
- How do you build your own NewsBlur?
- Scoped to personal use: Next.js on the front, Next.js API Routes behind it, Neon for data. Follow the 6-step build guide on this page — each step has a paste-ready prompt for an AI coding agent.
- How do you code your own NewsBlur without being an expert?
- Use an AI coding tool (Claude Code or Cursor) and work in small steps: scaffold, data model, core screens, then deploy. Realistic effort: 3-4 weeks part-time. The prompts on this page are written so the AI does the heavy lifting.
- How much does it cost to vibe code NewsBlur instead of paying?
- About ~$12 one-time to start and ~$3-5/mo to run, versus $3.00/mo ($36/yr) for NewsBlur. Break-even: Not rational for savings (purely for custom control and learning).
- What stack should you use to vibe code NewsBlur?
- Next.js; Next.js API Routes; Neon; plus Vercel AI SDK, Tailwind CSS, Cheerio.