Your Intelligent Desktop Drop Bin & AI-Powered Calendar Slot Scheduler
Hybrid Architecture: Blazing Native Rust Engine + Composited Translucent Desktop Widget
🌐 Official Website: s-chudmunge.github.io/forwardbin
Whenever you stumble upon a 45-minute YouTube video, a dense arXiv paper, a blog post, or a live university webinar while working, bookmarking it into a browser tab graveyard means you'll never look at it again.
ForwardBin solves this. It places a sleek, always-on-top, translucent cyber-orb on your desktop.
Drag links, text, or files into the bin (or hit your global hotkey Super + Shift + F). Jarvis immediately:
- Inspects the Resource: Fetches live page metadata, parses hidden Slate university form fields, YouTube durations, and reading times.
-
Deterministic Timezone Conversion: Converts source timezones (e.g.
10:00 AM EDT UTC -04:00$\to$ 7:30 PM IST UTC +05:30). - Reserves an Optimal Time Slot: Books fixed events at their exact timing, or finds a collision-free gap in your schedule.
- Syncs Calendars: Integrates into GNOME Calendar, Apple Calendar, and generates instant 1-Click Google Calendar links.
- Dispatches Light-Mode Email Briefs: Delivers a high-contrast, Gmail-styled confirmation brief with key takeaways, followed by an alert when your slot is up.
flowchart TD
subgraph Capture["1. Instant Ingestion"]
A["🖱️ Drag & Drop to Desktop Orb"] --> IN["Content Parser"]
B["📋 Global Hotkey (Super+Shift+F)"] --> IN
C["💻 CLI (forwardbin add / clipboard)"] --> IN
end
subgraph Intelligence["2. Deep Content & Timezone Analysis"]
IN --> EXT["⚡ Page & Event Extractor"]
EXT --> DATES{"Explicit Event?"}
DATES -- Yes --> TZ["Deterministic Timezone Converter<br>(e.g., EDT UTC-4 ➔ IST UTC+5:30)"]
DATES -- No --> AI["OpenRouter AI Brain<br>(LLaMA 3.3 70B & Heuristics)"]
TZ --> SCHED["Slot Coordinator"]
AI --> SCHED
end
subgraph CalendarSync["3. Intelligent Calendar Reservation"]
SCHED --> FREE["Collision-Free Gap Finder"]
FREE --> EDS["📅 Local GNOME / Apple Calendar"]
FREE --> GCAL["🔗 1-Click Google Calendar Link"]
FREE --> ICS["📎 RFC 5545 .ics Invite"]
end
subgraph Notifications["4. Proactive Execution"]
ICS --> MAIL1["✉️ Instant Light-Mode Confirmation Brief"]
EDS --> DAEMON["⚡ 24/7 Background Daemon (<8MB RAM)"]
DAEMON --> TIME{"Slot Starting Now?"}
TIME -- Yes --> MAIL2["⏰ 'Slot is Up!' Focus Email"]
TIME -- Yes --> OSNOTIF["🔔 System Banner (notify-send / osascript)"]
end
ForwardBin achieves the best of both worlds: maximum desktop visual fidelity and bare-metal system efficiency:
| Metric | 🎨 Python UI Component | 🦀 Rust Native Engine |
|---|---|---|
| Role | Floating bin widget, Cairo vector graphics, cyber vortex | 24/7 Background daemon, CLI dispatcher, SQLite layer |
| Memory Footprint | ~38 MB (composited with GTK3/Cairo) | ~8 MB RAM (release binary) |
| Idle CPU | 0.0% (throttled rendering loop) | 0.0% CPU (efficient asynchronous tokio sleep) |
| Execution Latency | Instant drag-and-drop animation response | < 10ms instant startup for CLI commands |
| Cross-Platform | GTK3/Cairo on Linux, Cocoa/Tkinter on macOS | 100% pure Rust (rustls TLS, bundled SQLite) |
- Desktop Target: Composited translucent Cairo cyber-vortex with interactive particle physics.
- Clipboard: Native Wayland (
wl-paste) and X11 (xclip) snatching. - Notifications: Desktop notification banners via
notify-send. - Calendar: Local GNOME Calendar integration via Evolution Data Server (EDS).
- Service Management: Managed natively via
systemd --user.
- Desktop Target: Native frameless Cocoa/Tkinter floating drop orb with pulsing Jarvis HUD.
- Clipboard: Native macOS clipboard snatching via
pbpaste. - Notifications: Native macOS Notification Center banners via
osascript. - Service Management: Background daemon managed natively via macOS
launchd(launchctl).
Run this single command in your terminal to download and set up ForwardBin:
curl -fsSL https://raw.githubusercontent.com/s-chudmunge/forwardbin/main/install.sh | bashDownload the self-extracting single-file installer from GitHub Releases:
# 1. Make it executable
chmod +x forwardbin-installer.run
# 2. Run installer (no git, cargo, or compiler required)
./forwardbin-installer.run# Download from GitHub Releases, extract, and install in 1 second:
tar -xzf forwardbin-v1.0.0-linux-x86_64.tar.gz
cd forwardbin-v1.0.0
./install.shgit clone https://github.com/s-chudmunge/forwardbin.git
cd forwardbin
./install.shConfigure your notification email, timezone, and optional API keys:
forwardbin setupForwardBin commands execute instantly through the compiled Rust core:
# 🎯 Schedule a URL or event directly from your terminal
forwardbin add "https://lu.ma/rust-distributed-systems"
forwardbin add "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
forwardbin add "https://arxiv.org/abs/1706.03762"
# 📋 Snatch whatever is currently copied in your clipboard
forwardbin clipboard
# 📅 View your forward queue
forwardbin list
# 🎨 Launch or show the floating desktop drop bin
forwardbin ui
# 🧙 Re-run configuration wizard
forwardbin setup
# 🔍 View current JSON configuration
forwardbin config --show
# ✉️ Send a verification test email
forwardbin test-email
# 🗑️ Delete an item by ID
forwardbin delete 4ForwardBin emails are designed with a modern Light Mode palette matching Google Workspace and Gmail:
┌─────────────────────────────────────────────────────────────┐
│ 🟧 ForwardBin Jarvis SLOT BOOKED │
│ ─────────────────────────────────────────────────────────── │
│ Deep Dive: Scaling Distributed Consensus in Rust │
│ │
│ [ VIDEO ] ⏱️ Duration: 45 mins │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 📅 Scheduled Time Slot: │ │
│ │ Wednesday, September 16 at 07:30 PM IST │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ AI Brief: │
│ Engineering tech talk breaking down Raft consensus, state │
│ machine replication, and zero-allocation async networking. │
│ │
│ Key Takeaways: │
│ • Leader election nuances and heartbeat optimization │
│ • Log compaction and snapshot replication at scale │
│ • Benchmarks vs Paxos under high packet loss networks │
│ │
│ [ 🔗 Open Resource ] [ 📅 View in Google Calendar ] │
└─────────────────────────────────────────────────────────────┘
Set up a global hotkey so you can highlight any link or text in your browser or PDF viewer and send it to ForwardBin in 1 millisecond:
- Open Settings
$\rightarrow$ Keyboard$\rightarrow$ Keyboard Shortcuts$\rightarrow$ Custom Shortcuts. - Click Add Shortcut (+):
-
Name:
ForwardBin Snatch -
Command:
/home/YOUR_USER/.local/bin/forwardbin clipboard -
Shortcut:
Super + Shift + F
-
Name:
- Open Automator
$\rightarrow$ Create a Quick Action. - Set workflow receives No Input in any application.
- Add Run Shell Script:
$HOME/.local/bin/forwardbin clipboard - Assign
Cmd + Shift + Funder System Settings$\rightarrow$ Keyboard$\rightarrow$ Shortcuts.
ForwardBin runs continuously in the background to track upcoming focus slots and trigger emails and alerts:
# Check status of both services
make status
# or:
systemctl --user status forwardbin-ui.service forwardbin-daemon.service
# Restart services
make restart# Check running daemon status
launchctl list | grep forwardbin
# View real-time daemon logs
tail -f /tmp/forwardbin-daemon.logWant to remove ForwardBin? Run the uninstaller:
./uninstall.sh
# (or: make uninstall)
# To also remove all user database records and configs:
./uninstall.sh --purgeforwardbin/
├── Cargo.toml # Rust native package manifest
├── Cargo.lock # Exact dependency lockfile
├── src/ # ⚡ RUST NATIVE CORE (~8MB RAM, 0% CPU)
│ ├── main.rs # CLI router & setup wizard
│ ├── daemon.rs # 24/7 background slot monitor & email trigger
│ ├── ai.rs # Fast page inspection & OpenRouter LLM integration
│ ├── calendar.rs # Conflict-free slot finder & Google Calendar generator
│ ├── db.rs # SQLite database layer
│ ├── emailer.rs # Resend light-mode transactional emailer
│ └── config.rs # Cross-platform config & notification manager
│
├── forwardbin/ # 🎨 PYTHON COMPOSITED DESKTOP UI
│ ├── ui/
│ │ ├── animated_bin.py # Cairo vector rendering, cyber vortex & particles
│ │ ├── macos_bin.py # Native macOS Tkinter/Cocoa floating drop orb
│ │ └── floating_bin.py # GTK3 drag-and-drop floating desktop target
│ ├── content_extractor.py # Deep page metadata & Slate CMS event extractor
│ ├── core.py # Event scheduling pipeline
│ └── calendar_sync.py # GNOME Evolution Data Server (EDS) sync
│
├── bin/
│ └── forwardbin # Unified executable launcher & dispatcher
├── systemd/ # Linux systemd user service definitions
├── launchd/ # macOS launchd LaunchAgent definitions
├── assets/ # Scalable desktop icons & .desktop launcher
├── install.sh # 1-step universal cross-platform installer
├── uninstall.sh # Clean uninstaller
├── Makefile # Developer shortcuts (build, install, restart, status)
└── pyproject.toml # Python package metadata
Distributed under the MIT License. See LICENSE for details.