Skip to content

dhanushk-offl/prevu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

PREVU

PREVU

The Postman for OG Images.
Inspect, validate, and preview your site's social metadata β€” no public URL needed.

Build Release License Platforms Stack


🎬 See It in Action

PREVU Demo
▢️ Watch the full demo on YouTube


✨ Why PREVU?

Most OG image issues are discovered only after deploying. PREVU closes that feedback loop β€” paste any URL and instantly see how it renders across every major social platform, with full validation, right on your local machine.

No more pushing to staging just to check a link preview. No more broken thumbnails going live. Ship with confidence.


πŸ“Έ Screenshots

Home Preview Validation
Home Preview Validation

πŸš€ Features

Feature
πŸ” Inspect any URL β€” localhost, staging, or production
🏷️ Extract all metadata β€” Open Graph and Twitter Card tags at a glance
βœ… Validate β€” required tags, image dimensions, aspect ratio, and file size
πŸ‘€ Social Previews β€” realistic renders for Twitter, LinkedIn, Discord, WhatsApp & Facebook
πŸ“‹ Clipboard auto-preview β€” automatically inspects URLs you copy
πŸ”„ Watch mode β€” re-inspects every 5 seconds during active development
⚑ CLI included β€” prevu inspect <url> shares core logic with the desktop app
πŸͺΆ Lightweight β€” Tauri binary with a minimal memory footprint

πŸ“¦ Download

Get the latest installer from the Releases page β†’

Platform Installer
πŸͺŸ Windows .exe (NSIS) Β· .msi
🍎 macOS .dmg (Intel & Apple Silicon)
🐧 Linux .AppImage · .deb · Arch AUR

⚠️ Builds are currently unsigned. See the platform-specific notes below to bypass Gatekeeper / SmartScreen.


πŸ› οΈ Installation

πŸͺŸ Windows

Using the NSIS installer (.exe) β€” recommended

  1. Download PREVU_x.x.x_x64-setup.exe from Releases
  2. Double-click the installer
  3. If Windows SmartScreen blocks it β†’ More info β†’ Run anyway
  4. Follow the wizard and launch from the Start Menu

Using the MSI installer (.msi)

  1. Download PREVU_x.x.x_x64_en-US.msi
  2. Double-click and follow the wizard (SmartScreen β†’ More info β†’ Run anyway)

SmartScreen appears because PREVU is not Authenticode-signed yet. The app is safe β€” verify the source here.

🍎 macOS
  1. Download the .dmg for your chip β€” x64 (Intel) or aarch64 (Apple Silicon)
  2. Open the .dmg, drag PREVU to Applications, then eject the volume
  3. Launch from Launchpad or Applications

If macOS says the app is "damaged" or "cannot be opened":

Option A β€” GUI:

System Settings β†’ Privacy & Security β†’ scroll down β†’ Open Anyway

Option B β€” Terminal:

xattr -cr /Applications/PREVU.app

macOS Gatekeeper blocks apps not signed with an Apple Developer ID. PREVU is not notarized yet β€” xattr -cr is the standard developer workaround.

🐧 Linux

Arch Linux (AUR) β€” install directly on your Arch machine with:

yay -S prevu

AppImage β€” universal, recommended

chmod +x PREVU_x.x.x_amd64.AppImage
./PREVU_x.x.x_amd64.AppImage

# Optionally move to PATH
mv PREVU_x.x.x_amd64.AppImage ~/.local/bin/prevu
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

Debian / Ubuntu (.deb)

sudo dpkg -i PREVU_x.x.x_amd64.deb
sudo apt-get install -f  # fix any missing deps
prevu

Uninstall

rm ~/.local/bin/prevu          # AppImage
sudo dpkg -r prevu             # .deb

PREVU requires a WebKitGTK runtime. If the app fails to launch:

# Ubuntu/Debian
sudo apt-get install libwebkit2gtk-4.1-0
# Fedora
sudo dnf install webkit2gtk4.1
# Arch
sudo pacman -S webkit2gtk-4.1

πŸ’» CLI

cargo run --manifest-path cli/Cargo.toml -- inspect https://example.com
cargo run --manifest-path cli/Cargo.toml -- inspect https://example.com --json

Example output:

[OK]   og:title detected
[OK]   og:description detected
[WARN] Missing twitter:card
[WARN] Image resolution too small (500x260). Minimum is 600x315

πŸ—οΈ Tech Stack

Layer Technology
Desktop shell Tauri (Rust)
Frontend React + Vite + TypeScript + TailwindCSS
HTML parsing reqwest + scraper
Image analysis image crate
Clipboard arboard
Serialization serde + serde_json
Async runtime tokio

πŸ—‚οΈ Project Structure

prevu/
β”œβ”€β”€ frontend/               # React + Vite frontend
β”‚   └── src/
β”‚       β”œβ”€β”€ components/     # PreviewCard, MetaTable, etc.
β”‚       └── pages/
β”œβ”€β”€ src-tauri/              # Tauri Rust backend
β”‚   └── src/
β”‚       β”œβ”€β”€ main.rs
β”‚       β”œβ”€β”€ parser.rs
β”‚       β”œβ”€β”€ validator.rs
β”‚       β”œβ”€β”€ image_checker.rs
β”‚       └── clipboard_watcher.rs
└── cli/                    # Standalone CLI
    └── prevu-cli.rs

πŸ§‘β€πŸ’» Development

Prerequisites: Node.js 20+, Rust stable, platform Tauri deps (WebView2 on Windows, WebKitGTK on Linux)

# Install dependencies
npm install
npm --prefix frontend install

# Run
npm run tauri:dev     # Full desktop app with hot reload
npm run dev           # Frontend only (browser)

# Build
npm run tauri:build

Adding a new platform preview:

  1. Update the platform union type in PreviewCard.tsx
  2. Add the style mapping for the new platform
  3. Render the card in the preview tab in Home.tsx

🀝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md and CODE_OF_CONDUCT.md before opening a pull request.


πŸ“ˆ Star History

Star History Chart


β˜• Support

If PREVU saved you from shipping a broken link preview, consider buying me a coffee!

Buy Me A Coffee

πŸ“„ License

MIT Β© Dhanush Kandhan

About

Local first preview social link cards instantly before deployment.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors