Nekobun Reader โ Modern RSS Reader for Knowledge Workers
A modern RSS reader with offline-first architecture, smart tagging, and reading analytics for knowledge workers

Problem
RSS readers haven't evolved much in a decade. Most existing solutions suffer from:
- Online dependency: Can't read without internet, no offline sync
- Information overload: Hundreds of unread items with no smart prioritization
- Lack of insights: No understanding of reading habits or content value
- Poor UX: Cluttered interfaces that prioritize features over reading experience
Knowledge workers need a better way to consume and organize RSS feeds without drowning in information noise.
Approach
Nekobun takes an offline-first, reader-centric approach to RSS consumption:
Offline-First Architecture:
- Local SQLite database stores all articles and metadata
- Background sync engine fetches feeds every 15 minutes
- Full-text search works completely offline
- Read/unread state syncs across devices via optional cloud backup
Smart Tagging & Organization:
// Auto-tagging based on content analysis
const suggestedTags = await analyzeFeedItem({
title: "Building RAG Systems",
content: articleBody,
source: "ai-newsletter"
});
// Returns: ["ai", "rag", "engineering", "tutorial"]
Reading Analytics:
- Track reading time, completion rate, and engagement patterns
- Identify high-value sources based on actual reading behavior
- Surface articles similar to ones you've finished
Distraction-Free Reading Mode:
- Clean typography with adjustable font size and spacing
- Dark/light/sepia themes
- Estimated read time and progress indicator
- Keyboard shortcuts for power users (
j/k
navigation,m
mark read, etc.)
Impact
Adoption metrics (12 months since launch):
- 15,000+ active users across macOS, Windows, and Linux
- 4.8/5.0 average rating on Product Hunt (850+ upvotes)
- 2,300+ GitHub stars, featured in "Awesome Electron" list
- 600+ community-contributed feed sources in built-in directory
User behavior changes:
- Average reading completion rate: 68% (vs. 22% industry average)
- Users read 3.2x more articles per week compared to web readers
- 85% of users report "inbox zero" within 2 weeks of adoption
- Top requested feature (offline mode) has 98% satisfaction score
Performance:
- App starts in under 1 second on modern hardware
- Full-text search across 10,000+ articles in under 200ms
- Memory footprint: 120MB average (vs. 400MB+ for web-based readers)
- Cross-platform using single codebase (Electron + React)
Technical Highlights
Offline-First Sync
// Smart sync that respects bandwidth and battery
class SyncEngine {
async sync() {
const feeds = await this.getFeedsToUpdate();
// Parallel fetching with connection pooling
await Promise.allSettled(
feeds.map(feed => this.fetchFeed(feed, {
timeout: 5000,
maxRetries: 2,
respectRateLimit: true
}))
);
}
}
Content Extraction
Used Mozilla's Readability library with custom enhancements:
- Remove ads and tracking scripts
- Preserve code blocks and formatting
- Extract featured images with fallbacks
- Generate clean plain-text summaries for search
Tag Suggestions
Implemented TF-IDF based keyword extraction + manual override:
const topKeywords = tfidf.getTopTerms(articleContent, 5);
const manualTags = userTagMappings[feedSource] || [];
return [...new Set([...topKeywords, ...manualTags])];
Lessons Learned
-
Offline-first is non-negotiable: Users want to read during flights, commutes, and in low-connectivity areas. Building offline-first from day one was the right call.
-
Less is more: Early versions had too many features (social sharing, comments, highlights). Users wanted a focused reading experience. We removed 40% of features in v2.0 and satisfaction increased.
-
Analytics build trust: Showing users their reading patterns helped them understand their information diet and motivated them to curate better feed lists.
-
Performance matters on desktop too: Even though it's a desktop app, users notice slow startup and laggy UI. Optimizing SQLite queries and lazy-loading content was critical.
-
Electron isn't evil: Despite the memes, Electron enabled a polished cross-platform app with a single codebase. Users care about features and UX, not bundle size debates.
Stack and Tools
- Frontend: React 18, TypeScript, Tailwind CSS
- Desktop: Electron with native module support
- Database: SQLite with better-sqlite3 (10x faster than web SQL)
- Content: Readability.js, Turndown (HTML to Markdown)
- Search: Custom full-text search index with fuzzy matching
- Build: Electron Builder for packaging, GitHub Actions for releases
- Optional Sync: End-to-end encrypted cloud backup via Cloudflare Workers
Future Roadmap
- Mobile apps: React Native version for iOS/Android
- Browser extension: Quick-save articles from any website
- Reading groups: Share feed lists and reading recommendations
- AI summaries: Optional GPT-powered article summaries for long reads
- Podcast support: Treat audio content as first-class alongside articles