FeedDeck is an open-source feed aggregator inspired by TweetDeck, designed for users who want to consolidate their RSS feeds, social media updates, and news sources into a unified, card-based interface. It’s ideal for developers, journalists, and power users who juggle multiple platforms like GitHub, YouTube, Reddit, and podcasts and need a single dashboard to stay updated.
Built with Flutter for cross-platform consistency and powered by Deno and Supabase on the backend, FeedDeck supports native mobile (iOS, Android), desktop (macOS, Windows, Linux), and web deployment. Its architecture enables real-time feed syncing, user authentication, and self-hosting options for privacy-focused users.
What You Get
- TweetDeck-style Deck View - A customizable column-based layout to organize and view live updates from multiple feeds simultaneously, similar to Twitter’s TweetDeck interface.
- Multi-Source Feed Aggregation - Supports RSS, GitHub notifications, YouTube channels, Medium articles, Reddit threads, Tumblr posts, Mastodon, 4chan, StackOverflow, and Google News in a single interface.
- Built-in Podcast Player - Stream and manage subscribed podcasts directly within the app without needing a separate podcast client.
- YouTube Channel Tracking - Follow specific YouTube channels and view new uploads in your feed deck with thumbnails and titles.
- GitHub Activity Monitoring - Receive real-time updates on repository stars, forks, issues, and pull requests from tracked repositories.
- Cross-Platform Sync - Seamless experience across iOS, Android, macOS, Windows, Linux, and web with 100% code sharing via Flutter and Supabase backend for data sync.
Common Use Cases
- Tracking tech news and GitHub activity - A developer uses FeedDeck to monitor GitHub repositories they star, follow Hacker News RSS, and track YouTube tutorials—all in one dashboard.
- Managing a content curation workflow - A journalist aggregates Medium, Reddit, and RSS feeds from industry blogs to quickly scan trending topics before writing.
- Listening to podcasts while browsing social feeds - A podcaster uses the built-in player to listen to episodes while scrolling through Twitter-like feeds from Mastodon and YouTube.
- Self-hosting a private feed reader - A privacy-conscious user deploys FeedDeck on their own server using Deno and Supabase to avoid third-party data collection.
Under The Hood
Architecture
- Clean Flutter-based architecture with clear separation between UI components and business logic using Provider for state management
- Well-defined domain models (FDColumn, FDSource, FDItem) with source-specific configurations that enable extensible and type-safe data handling
- Custom widgets encapsulate complex behaviors like media playback and icon fallbacks, promoting reusability and single responsibility
- Platform-specific assets and Flutter’s widget composition ensure consistent behavior across mobile and desktop without code duplication
Tech Stack
- TypeScript-first Next.js 14 application leveraging App Router and server components for optimized server-side rendering
- Backend powered by Supabase for authentication, real-time data subscriptions, and PostgreSQL interactions
- Headless UI and minimal CSS frameworks ensure accessible, customizable interfaces with low overhead
- Integrated ESLint and Prettier enforce consistent code style, with deployment-ready Vercel and environment-based configuration
Code Quality
- Extensive test coverage across diverse data sources with robust mock-based validation and parsing assertions
- Strong type safety through well-structured Dart models with built-in JSON/XML serialization and enum-based configuration
- Consistent error handling with null checks and fallback defaults ensures graceful degradation during data parsing
- Modular organization separates data models, parsers, and utilities, enabling maintainable extension of new feed sources
- Comprehensive linting rules enforce uniform code style and best practices across the codebase
What Makes It Unique
- Native integration of StackOverflow as a first-class feed source with intelligent URL/tag parsing and dynamic sort preferences
- Unified widget system that abstracts HTML-to-Markdown conversion at the UI layer, enabling flexible rendering across diverse content formats
- Cross-platform Flutter frontend paired with a Next.js landing page, sharing a unified data model for seamless user experience
- Dynamic OS-specific detection on the landing page using client-side rendering to adapt UI without server-side logic
- Modular settings architecture with compositional widgets that decouple account, deck, and profile management into reusable units
- Direct XML/Atom parsing with custom model builders, eliminating dependency on third-party feed aggregators and ensuring full data control