About this project

GeeksPulse is an open-source developer news aggregator that collects articles from roughly 50 hand-picked RSS and Atom feeds and presents them in a single, fast interface. The project describes itself as free of ads, paywalls and advertising trackers, and is built and maintained by an individual developer. How it works A Node.js build pipeline (scripts/build-feed.mjs plus modules under scripts/lib/) fetches and normalises the configured feeds, then writes static JSON caches into public/. The frontend is plain HTML, CSS and vanilla JavaScript ES modules, so the site can be served as static files without an application server. A GitHub Actions workflow runs the feed build on a schedule (documented as every 30 minutes) to keep the cache current. If the pre-built feed file is missing or empty, the app falls back to fetching feeds directly in the browser through CORS proxies; the README describes this as an emergency path rather than the normal load path. Content and categories Feeds are listed in data/feeds.json and grouped into 11 categories: General, Security, AI/ML, Python, JavaScript, Java, DevOps, Open Source, Rust, Go and Architecture. Named sources include Hacker News, Lobsters, Ars Technica, The Register, IEEE Spectrum, Krebs on Security, Bleeping Computer, Google AI Blog, Planet Python, JavaScript Weekly, Docker and Kubernetes blogs, LWN.net, Rust Blog, Go Blog, Martin Fowler, Netflix Tech Blog and Cloudflare Blog, among others. Adding a feed means editing data/feeds.json and regenerating the cache. Features - Grid and list layouts with the preference stored in localStorage - Configurable auto-refresh intervals from 1 minute to 1 hour - AI summaries on demand, using pre-cached snippets or a local Ollama fallback - Bookmarks saved locally, plus estimated reading time on cards - Keyboard shortcuts: / to search, j/k to navigate, o to open, r to refresh, Esc to clear - Feed health panel showing last update time and online/failed feed counts - Skeleton loaders, share via the Web Share API with clipboard fallback - Accessibility work: ARIA roles and labels, keyboard navigation, prefers-reduced-motion support - Cyberpunk dark theme with neon accents, glitch and scanline animations Build outputs include public/feed.json (up to 300 deduplicated articles sorted newest-first), public/feed-health.json, public/version.json, a homepage-only sitemap.xml, and SEO fallback articles injected into index.html. Testing and tooling The repository documents a layered test suite: Vitest unit, integration and DOM tests (reported as 171 tests) plus Playwright end-to-end smoke tests (10 tests) against Chromium, with happy-dom for browser-side tests and V8 coverage thresholds. The CI pipeline runs tests first, then the build and deploy job, then end-to-end tests; a failing unit or integration test blocks the pipeline. Development uses Vite 6 as dev server and production bundler, with fast-xml-parser and ollama as build-time dependencies. Privacy and support The README states the site uses Google Analytics for basic traffic insights but no advertising trackers, and does not sell user data or personalise ads. The project accepts contributions via issues and pull requests and offers an optional PayPal support link.