Sublet Site Lease Overlap Calculator
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This userscript helps renters and subletters avoid costly lease gaps or double-rent periods when moving between rentals. It scans sublet and rental listing pages for move-in dates, lease start dates, and availability periods, then calculates the overlap between the listing's start date and your current lease end date. Listings are color-coded based on the overlap: green for seamless transition, yellow for a small gap, orange for partial overlap (you'd pay double rent for a few days), and red for significant overlap (double rent for multiple days). The script displays a badge with the overlap status and days, and can show a calendar view of the transition period. It also suggests optimized move dates to minimize double-rent periods.
WHERE IT RUNS
The script works on sublet and rental listing pages—SpareRoom, Craigslist, Facebook Marketplace, sublet.com, and similar sites. It runs entirely within your browser, reading only the visible content of the current page. It does not track your browsing history, access other tabs, or send any data externally. All settings—your lease end date, buffer days, and display preferences—are stored locally in your browser using GM_setValue.
HOW TO USE
After installation, open the panel by clicking the tool's icon in the BotGentz sidebar. Enter your current lease end date in DD/MM/YYYY format. Select your preferred move buffer—the number of days you want between your old lease ending and your new lease starting (e.g., 3 days gives you time to move). Choose your display mode: "Badge only" shows a colored tag on each listing, or "Badge + calendar view" adds a small calendar timeline showing the lease end and move-in dates. Toggle "Auto-scan on page load" to automatically analyze listings when you visit a rental page. Click "Calculate overlaps" to scan the page and highlight listings. Use "Clear overlays" to remove all highlights and restore the page to its original state.
THE TECHNICAL MECHANISM
This script uses text pattern matching and DOM traversal to detect and analyze rental dates. It scans the page for elements that contain date-related text using common class names like .listing, .result, .property, and [class*="listing"]. For each element, it extracts text and applies a cascade of regex patterns to detect dates in multiple formats—DD/MM/YYYY, MM/DD/YYYY (with disambiguation), YYYY-MM-DD, DD MMM YYYY, MMM DD YYYY, and DD.MM.YYYY. It also detects date ranges ("from X to Y") and uses the earliest date as the move-in date. The script calculates the overlap in days between the user's lease end date (plus buffer days) and the listing's move-in date. Negative overlap indicates double-rent days; positive overlap indicates a gap between leases. The overlap status is categorized and color-coded, and badges or calendar overlays are injected into the listing elements. All processing is local and does not rely on external APIs.
THE PANEL
The panel is draggable anywhere on the screen and remembers its position between sessions. It can be collapsed to a small floating bubble to minimize distraction, and expanded again with a single click. The panel's width can be adjusted, and pressing the Escape key closes it instantly. All settings—lease end date, buffer days, display mode, and auto-scan—are persisted locally using GM_setValue, so your preferences remain intact across page reloads and browser restarts.
PLEASE NOTE
This userscript requires the free BotGentz extension to function. The script is designed for sublet and rental listing pages; it relies on common date formats and may not work on all sites. The date detection is based on pattern matching and may miss dates in unusual formats or generated by JavaScript. The overlap calculation is an estimate based on the dates found—always verify lease dates directly with the landlord or listing provider. The buffer days feature helps you account for moving time—adjust it to match your actual needs. No data from your browsing is stored or transmitted anywhere—all processing occurs entirely in your browser.