Skip to content
/ reedr Public

A clean, distraction-free article reading application that lets you save and read articles from the web with a beautiful, customizable reading experience.

License

Notifications You must be signed in to change notification settings

vrnknrdn/reedr

Repository files navigation

Reedr

A clean, distraction-free article reading application that lets you save and read articles from the web with a beautiful, customizable reading experience.

App Screenshot

Features

  • Clean Reading Experience: Distraction-free interface for comfortable reading
  • Article Parsing: Save articles from any website using Mozilla's Readability engine
  • User Accounts: Secure authentication system to access your article library
  • Customizable Settings: Adjust font size, font family, line height, and text alignment
  • Image & Video Control: Toggle visibility of images and videos within articles
  • Article Summarization: Generate concise summaries of articles using OpenRouter.ai with the Mistral 7B Instruct model

Tech Stack

  • Foundation: Create T3 App - The best way to start a full-stack, typesafe Next.js app
  • Framework: Next.js 15 - React framework with App Router
  • Language: TypeScript - Type-safe JavaScript
  • Database: SQLite with Prisma ORM
  • Authentication: Custom JWT-based auth with jose
  • Styling: Tailwind CSS - Utility-first CSS framework
  • API: tRPC - End-to-end typesafe APIs
  • Content Parsing: Mozilla Readability - Article extraction
  • DOM Sanitization: DOMPurify - XSS protection
  • State Management: React Context and Hooks
  • UI Components: Custom components with Heroicons
  • Fonts: Google Fonts (Nunito, PT Serif, PT Sans)
  • AI Integration: OpenRouter.ai with Mistral 7B Instruct model for article summarization
  • Package Manager: Bun - Fast JavaScript runtime and package manager

How It Works

  1. User Authentication: The app uses JWT tokens stored in HTTP-only cookies for secure authentication.
  2. Article Parsing: When a user adds a new article URL, the server fetches the content, processes it with Mozilla's Readability, and sanitizes HTML with DOMPurify.
  3. Data Storage: Articles are stored in a SQLite database through Prisma ORM, associated with the user's account.
  4. User Settings: Reading preferences (font size, family, etc.) are persisted to both localStorage and the server.
  5. Rendering: The content is rendered with custom React components that prioritize readability and accessibility.
  6. Article Summarization: Users can generate concise summaries of articles directly in the reading view, powered by OpenRouter.ai's Mistral 7B Instruct model.

Roadmap

  • Dark Theme: Implementation of dark mode for comfortable nighttime reading
  • Mobile Version: Responsive design optimized for mobile devices
  • Video Display: Enhanced support for video content within articles
  • Chrome Extension: Browser extension for easy article saving
  • Article Organization: Improved management and sorting of saved articles
  • Tags: Support for tagging articles for better categorization
  • Folders: Ability to organize articles into custom folders
  • Highlights: Feature to highlight and save important parts of articles
  • Reading Progress: Automatic bookmarking to continue reading from where you left off

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the Business Source License 1.1 (BUSL-1.1)

Acknowledgments

About

A clean, distraction-free article reading application that lets you save and read articles from the web with a beautiful, customizable reading experience.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published