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.