Skip to content

Client-first, plug-and-play dashboard for developers to track blogs, changelogs, releases, RSS, and more — no login, complete control, client-first.

Notifications You must be signed in to change notification settings

hrushikeshkothem/tech-abn

Repository files navigation

Tabn

Tabn Logo

Tabn is an open-source, offline-first, background-worker-powered reading tool that supports syncing content from RSS and custom sources with full local control.

Build Status License: MIT Stars Issues Live Demo


🌟 Overview

Tabn is a modern reading and sync tool that gives you full control of your content, built with performance, privacy, and extensibility in mind.

  • ✅ Offline-first — stores everything in your browser using IndexedDB
  • 🔄 Background sync using Web Workers
  • 🧵 Clean job queue system for seamless tasks
  • 📤 Import/export full content archive
  • 🔌 Supports RSS and custom source logic
  • 🖥 Electron desktop version in progress
  • 🔐 No analytics or tracking — your data stays with you

✨ Features

  • Offline-First Architecture
    Uses IndexedDB to store content locally.

  • Background Worker System
    Tasks like fetching, syncing, or exporting run in the background.

  • Job Queue
    Ensures tasks are performed sequentially and efficiently.

  • Import / Export
    Backup or move your entire reading history anytime.

  • Custom Sources
    Beyond RSS: plug in your own fetch logic.

  • Electron App (Upcoming)
    Desktop app with complete offline capabilities and enhanced power features.


📦 Tech Stack

  • Frontend: React, TypeScript, TailwindCSS
  • Build Tool: Vite
  • Data Handling: IndexedDB
  • Background Processing: Web Workers, Job Queue
  • Server (optional): PHP (SimplePie-based) proxy for RSS fetching
  • Desktop (WIP): Electron

🚀 Getting Started

1. Clone the Repository

git clone https://github.com/hrushikeshk/tabn.git
cd tabn

2. Install Dependencies

npm install

3. Start the Dev Server

npm run dev

4. Start RSS Proxy Server (Optional)

If you're using RSS and want to bypass CORS issues:

php -S localhost:8080 -t proxy-server

🖥 Electron Desktop (WIP)

Basic support for Electron is under development.

cd electron
npm install
npm run build

🛡 Privacy Focus

Tabn does not track users, send analytics, or share any data externally.
Everything stays on your device unless you explicitly export it.


📁 Folder Structure

tabn/
├── public/              # Static assets
├── src/                 # React source code
│   ├── components/      # UI components
│   ├── workers/         # Web workers
│   ├── jobs/            # Job queue system
│   ├── utils/           # Helpers
│   └── ...
├── proxy-server/        # PHP RSS proxy (optional)
├── electron/            # Desktop wrapper (WIP)
└── README.md

📈 Roadmap

  • IndexedDB storage
  • Background web workers
  • RSS support via proxy
  • Import/export support
  • Job queueing system
  • Electron Desktop App
  • Plugin system for custom sources
  • Power user mode with custom JavaScript fetch logic

🤝 Contributing

Contributions are welcome and appreciated.

To contribute:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature-name)
  3. Commit your changes (git commit -am 'Add feature')
  4. Push to the branch (git push origin feature-name)
  5. Create a new Pull Request

📄 License

MIT License © Hrushikesh Kothem

About

Client-first, plug-and-play dashboard for developers to track blogs, changelogs, releases, RSS, and more — no login, complete control, client-first.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published