Back to projects

โ„– 011Content & mediaLive

Medium Content Archival System

Save any Medium article as Markdown from a browser button, a Telegram message or a dashboard.

Archives Medium articles through a browser extension, Telegram bot and web dashboard. The project includes article-to-Markdown conversion, storage and document backup workflows.

  • Chrome extension
  • Express
  • Convex
  • Telegram
  • Markdown
The library. Sample data.
The library. Sample data.

The problem

Saved articles disappear behind paywalls and dead links.

Who it is for

A client who reads and keeps a lot of articles.

What it does

  1. 01

    Three ways in

    A browser extension, a Telegram bot, and a bulk queue in the dashboard.

    Admin: users, products enabled, and access. Sample data.
    Admin: users, products enabled, and access. Sample data.
  2. 02

    Reader

    A library and a clean Markdown reader.

    An article, converted and stored.
    An article, converted and stored.
  3. 03

    API and admin

    A documented API and an admin for users and keys.

How it works

The extension and the bot call an Express API. Convex stores the articles. A Next.js dashboard reads them.

  • Chrome extension
  • Express
  • Convex
  • Telegram
  • Markdown
Role
Built by Vas.
Status
Live. One deployment is a client's.

The Challenge

The problem

Valuable Medium articles frequently disappear behind paywalls, get deleted by authors, or become inaccessible. Manual copy-paste loses formatting, images, and metadata. Reading lists become cluttered with articles that can no longer be accessed.

Why existing solutions failed

Browser bookmarks just save URLs that break when content moves or gets deleted. Pocket and similar services often fail to capture full formatting. Evernote web clipper strips important metadata. No existing tool preserves the original reading experience while making content searchable and organized.

Business impact

Hours spent re-finding articles or discovering they no longer exist. Lost insights from valuable technical content. No centralized searchable library of saved knowledge. Inability to reference previously read material.

The workflow

From first interaction to final output, step by step.

  1. STEP 01

    Find Article

    Browse Medium and find an article worth saving

  2. STEP 02

    Click Extension

    One-click popup shows article metadata instantly

  3. STEP 03

    Scrape Content

    GraphQL API extracts full article with formatting

  4. STEP 04

    Convert Format

    Transform to clean Markdown with images preserved

  5. STEP 05

    Cloud Storage

    Save to Convex database and Google Docs

  6. STEP 06

    Celebrate

    Confetti animation confirms successful save

Our Solution

Approach

Built a full-stack system with three access methods: Chrome extension for one-click saving while browsing, Telegram bot for sharing links on mobile, and web dashboard for library management. Uses Medium's GraphQL API for clean extraction with HTML fallback. Stores in Convex cloud database for search and syncs to Google Docs for offline access.

Workflow

User clicks extension or sends Telegram link โ†’ Server fetches article via GraphQL API โ†’ Cheerio parses HTML fallback if needed โ†’ Turndown converts to Markdown โ†’ Images uploaded to Google Drive โ†’ Article saved to Convex database โ†’ Google Doc created with full formatting โ†’ Confetti celebration in UI

Key features

  • One-click browser extension with instant preview
  • Telegram bot for mobile article saving
  • Web dashboard with search and filtering
  • GraphQL-based scraping for clean extraction
  • Full Markdown conversion with preserved formatting
  • Automatic Google Docs backup
  • Image preservation and cloud storage
  • Bulk scraping queue (up to 20 articles)
  • Author following and tag watching
  • Spring physics animations throughout
  • Confetti celebrations for successful saves

Results

Before

Manual copy-paste losing formatting, bookmarks to URLs that break, scattered saves across multiple apps, no search capability, lost articles behind paywalls

After

One-click saving with full formatting, permanent cloud backup, searchable library, Google Docs for offline access, never lose an article again

What changed for the business

Personal knowledge management transformed. Every valuable article instantly archived with full formatting. Searchable library accessible from any device. Google Docs backup ensures content survives any platform changes. Time spent re-finding or recreating lost content reduced to zero.

Technical Details

Architecture

Multi-platform architecture with three client interfaces (Chrome extension, Telegram bot, Next.js dashboard) connecting to a central Express.js API. Convex provides serverless database with real-time sync. Google APIs handle OAuth and Docs/Drive integration. Scraping uses Medium GraphQL API primarily with Cheerio HTML parsing as fallback.

Integrations

  • Medium GraphQL API for article extraction
  • Cheerio for HTML parsing fallback
  • Turndown for HTML to Markdown conversion
  • Google Drive API for file storage
  • Google Docs API for document creation
  • Convex for serverless database
  • Telegram Bot API for mobile access
  • Chrome Extension APIs for browser integration
  • Framer Motion for animations

Security and compliance

  • OAuth 2.0 for Google authentication
  • Per-user API keys for Telegram
  • Secure cookie handling for Medium auth
  • HTTPS for all communications
  • User data isolation in Convex
  • No storage of Medium credentials
  • Rate limiting to respect platform limits

Technologies

  • Next.js
  • React
  • TypeScript
  • Express.js
  • Convex
  • Google APIs
  • Telegram Bot API
  • Chrome Extensions
  • Cheerio
  • Turndown
  • Framer Motion
  • Tailwind CSS

Related

Next project

Instagram Lead Generation System

Finds Instagram prospects, scores them with AI and drafts a personal message for each.