Skip to content

Repository files navigation

📌 LinkedVault

Organize your LinkedIn saved posts without losing them in the endless scroll.

LinkedVault is a Chrome Extension built with Plasmo, React, TypeScript, Zustand, and Chrome Extension APIs that helps professionals organize, track, search, and revisit their LinkedIn saved posts.

Instead of endlessly saving content and forgetting it exists, LinkedVault gives every saved post a home.


✨ Why LinkedVault?

Most LinkedIn users save hundreds of posts but rarely return to them.

Saved posts quickly become:

  • Lost in LinkedIn's default saved list
  • Difficult to organize
  • Hard to search
  • Impossible to prioritize
  • Easy to forget

LinkedVault solves this by providing:

  • 📂 Custom folders
  • 📖 Read / Unread tracking
  • 🔍 Powerful search
  • ⏰ Reminder notifications
  • 📊 Reading statistics
  • ⚡ Direct LinkedIn integration

⚡ What Makes LinkedVault Different?

LinkedVault doesn't replace LinkedIn.

It upgrades it.

Instead of managing saved posts in a separate dashboard, LinkedVault integrates directly into LinkedIn and adds:

  • 📌 Save to Vault buttons directly on saved posts
  • 📁 Folder visibility on LinkedIn cards
  • 🔵 Read / Unread status badges
  • ⚡ Real-time synchronization between LinkedIn and the extension
  • 🚫 Duplicate-save prevention
  • 📚 Personal knowledge organization workflow

Your LinkedIn saved posts become a structured knowledge library.


🚀 Core Features

📂 Folder Organization

Create custom folders to categorize saved content.

Examples:

  • Frontend
  • Backend
  • AI
  • System Design
  • Career
  • Interview Prep

Move posts between folders anytime.


📖 Read Tracking

Track what you've actually consumed.

Features:

  • Mark as Read
  • Mark as Unread
  • Auto-mark when opening a post
  • Read percentage statistics
  • Recently opened history

🔍 Advanced Search

Search across:

  • Post titles
  • Authors
  • Author roles
  • Folder names
  • Labels

Supports:

  • Global search
  • Folder-specific search
  • Multi-token matching

⏰ Smart Reminders

Never forget valuable saved content.

Reminder options:

  • Daily
  • Every 3 Days
  • Weekly

Powered by:

  • Chrome Alarms API
  • Chrome Notifications API

🔗 Deep LinkedIn Integration

LinkedVault integrates directly into LinkedIn's Saved Posts experience.

Features:

  • Detects LinkedIn saved post cards
  • Injects "📌 Save to Vault" buttons
  • Folder selection directly on LinkedIn
  • Folder badges displayed on saved posts
  • Read / Unread badges displayed on saved posts
  • Toggle read status without leaving LinkedIn
  • Real-time synchronization with the extension
  • Duplicate save prevention using LinkedIn activity IDs
  • Automatic updates when posts move folders

No copy-pasting.

No exports.

No manual workflows.


⚡ Real-Time Synchronization

LinkedVault keeps LinkedIn and the extension synchronized automatically.

Examples:

  • Save a post on LinkedIn → appears instantly in LinkedVault
  • Move a post to another folder → LinkedIn updates immediately
  • Mark a post as Read → status updates everywhere
  • Delete a post → badges update instantly

No refresh required.


📦 Bulk Actions

Manage large collections efficiently.

Bulk operations include:

  • Mark Read
  • Mark Unread
  • Move Posts
  • Delete Posts
  • Select All

🌗 Beautiful Light & Dark Themes

Designed specifically for productivity.

Light Theme

Inspired by warm paper and modern productivity tools.

Palette:

  • Tea Green (#CCD5AE)
  • Beige (#E9EDC9)
  • Cornsilk (#FEFAE0)
  • Papaya Whip (#FAEDCD)
  • Light Bronze (#D4A373)

Dark Theme

Modern developer-focused experience.

Palette:

  • Background (#0F1115)
  • Surface (#181B22)
  • Accent Glow (#7C5CFF)
  • Secondary Glow (#56CCF2)

Features:

  • Glassmorphism
  • Soft glows
  • Frosted surfaces
  • Premium shadows
  • Smooth transitions

🏗 Architecture

Extension Contexts

┌────────────────────┐
│   LinkedIn Page    │
└─────────┬──────────┘
          │
          ▼
┌────────────────────┐
│   Content Script   │
└─────────┬──────────┘
          │ Runtime Messaging
          ▼
┌────────────────────┐
│ Background Worker  │
│ (Source of Truth)  │
└─────────┬──────────┘
          │
          ▼
┌────────────────────┐
│ Chrome Storage API │
└─────────┬──────────┘
          ▲
          │
┌────────────────────┐
│ Popup UI + Zustand │
└────────────────────┘

Tech Stack

Frontend

  • React
  • TypeScript
  • TailwindCSS
  • Zustand
  • Lucide Icons

Chrome Extension

  • Plasmo Framework
  • Chrome Storage API
  • Chrome Alarms API
  • Chrome Notifications API
  • Chrome Runtime Messaging

Development

  • Vite
  • PostCSS
  • ESLint
  • TypeScript

📁 Project Structure

linked-vault/
│
├── background/
├── components/
├── contents/
├── constants/
├── pages/
├── store/
├── lib/
├── types/
├── assets/
│
├── popup.tsx
├── package.json
├── tailwind.config.js
└── tsconfig.json

🧠 How It Works

Saving a LinkedIn Post

LinkedIn Saved Post
        ↓
Click "📌 Save to Vault"
        ↓
Choose Folder
        ↓
Post Metadata Extracted
        ↓
Content Script
        ↓
Background Service Worker
        ↓
Chrome Storage
        ↓
Broadcast Update
        ↓
LinkedIn + Extension Updated

Reading a Post

Open Folder
        ↓
Select Post
        ↓
Open LinkedIn Post
        ↓
Mark Read / Unread
        ↓
Background Service Worker
        ↓
Chrome Storage Updated
        ↓
Realtime Sync Broadcast
        ↓
LinkedIn + Extension Updated

📊 Data Model

Folder

interface Folder {
  id: string
  name: string
  icon: string
  createdAt: number
  updatedAt?: number
  isArchived?: boolean
}

SavedPost

interface SavedPost {
  id: string
  activityId?: string
  folderId: string
  title: string
  author: string
  authorRole?: string
  url: string
  labels: string[]
  isRead: boolean
  savedAt: number
}

Settings

interface Settings {
  theme: "light" | "dark" | "system"
  remindersEnabled: boolean
  reminderFrequency: "daily" | "three_days" | "weekly"
}

🔒 Privacy First

LinkedVault does not:

  • Store LinkedIn credentials
  • Access private messages
  • Read your account information
  • Upload data to external servers

LinkedVault only stores metadata required to organize saved posts:

  • Title
  • Author
  • Author Role
  • LinkedIn URL
  • Folder Assignment
  • Read Status

LinkedVault never communicates with external servers. All saved post metadata remains inside:

chrome.storage.local

No backend. No analytics. No user tracking. No cloud storage.


⚡ Performance

Built for speed.

Features:

  • Debounced Chrome Storage writes
  • URL deduplication
  • MutationObserver throttling
  • Lightweight Zustand state management
  • Cross-context synchronization
  • Efficient search indexing
  • LinkedIn activity ID deduplication
  • MutationObserver optimization
  • Smart DOM rescanning
  • Debounced synchronization
  • Real-time runtime messaging
  • Shadow DOM UI isolation
  • Chrome storage persistence
  • Cross-tab synchronization

Supports thousands of saved posts while remaining responsive.


🛣 Roadmap

V1

  • Folder organization
  • Read / Unread tracking
  • LinkedIn Saved Posts integration
  • Folder badges on LinkedIn
  • Read status badges on LinkedIn
  • Bulk actions
  • Search
  • Reminder system
  • Real-time synchronization
  • Dark / Light themes
  • Duplicate-save prevention
  • Import / Export

V2

  • Feed integration
  • Smart folders
  • AI-powered summaries
  • Keyboard shortcuts
  • Extension badge counts
  • Cloud synchronization
  • Context menu support

🧑‍💻 Development

Install dependencies:

npm install

Start development:

npm run dev

Build production bundle:

npm run build

Package extension:

npm run package

🎯 Mission

LinkedVault exists to help professionals transform saved LinkedIn posts from a forgotten archive into an organized, searchable knowledge library.

Save less. Learn more. Revisit what matters.


Built with ❤️ using Plasmo, React, TypeScript, and Chrome Extension APIs.

About

LinkedVault transforms LinkedIn's saved posts into a personal knowledge library. Create custom folders, track read and unread content, receive reminders for forgotten saves, and quickly find the posts that matter most—all from a clean, lightweight browser extension.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages