(function(){ /* ONLY AUTO-REDIRECT FROM THE NORMAL HOMEPAGE */ if( window.location.hash && window.location.hash !== "#" ){ return; } var licenseKey = null; var instanceId = null; try{ licenseKey = localStorage.getItem("bz_license_key"); instanceId = localStorage.getItem("bz_instance_id"); }catch(e){} /* RETURNING PAID USER */ if(licenseKey && instanceId){ window.location.replace( "https://benjifinance.com/#full" ); } })();
Welcome to Benji Finance!
(function(){ var bubble = document.getElementById("welcome_bubble_01"); var textNode = document.getElementById("welcome_bubble_text_01"); if(!bubble || !textNode) return; var MESSAGES = [ "Welcome to Benji Finance!", "Why didn't they ever teach this in school?!", "Upgrade your relationship with money.", "Personal finance? Totally doable.", "Spend less. Save more. Invest the rest.", "Let AI work with you, not against you.", "Smarter money moves begin here.", "No logins. No tracking. No data collected.", "Turn ‘I Should’ into ‘Done'.", "Let’s make dealing with money easier.", "You came to the right place.", "Your future self will thank you.", "Good choices, better habits.", "Money decisions will hit different.", "AI Scripts for Everyday Wins", "Benji-Z? Who's Benji-Z?!", "Use anywhere. No apps required. Just Wi-Fi.", "Friendly finance > Stressful time." ]; var currentIndex = 0; var bubbleTimer = null; textNode.textContent = MESSAGES[currentIndex]; function getRandomDelay(){ return Math.floor(Math.random() * 15001) + 10000; } function pickNextIndex(){ if(MESSAGES.length <= 1) return 0; var next = currentIndex; while(next === currentIndex){ next = Math.floor(Math.random() * MESSAGES.length); } return next; } function scheduleNext(){ clearTimeout(bubbleTimer); bubbleTimer = setTimeout(function(){ swapMessage(); }, getRandomDelay()); } function swapMessage(){ bubble.classList.remove("bz-swap-in"); bubble.classList.add("bz-swap-out"); setTimeout(function(){ currentIndex = pickNextIndex(); textNode.textContent = MESSAGES[currentIndex]; bubble.classList.remove("bz-swap-out"); bubble.classList.add("bz-swap-in"); setTimeout(function(){ bubble.classList.remove("bz-swap-in"); }, 340); scheduleNext(); }, 320); } scheduleNext(); })();
Benji Finance Suite
Smarter money decisions in minutes.
No books. No spreadsheets. Just answers.
(function(){ var covers = document.querySelectorAll('.bz-video-cover[data-fallback]'); covers.forEach(function(cover){ cover.addEventListener('load', function(){ /* YouTube sometimes returns a tiny placeholder image when a max-resolution thumbnail is unavailable. */ if(cover.naturalWidth <= 200){ var fallback = cover.getAttribute('data-fallback'); if(fallback && cover.src !== fallback){ cover.src = fallback; } } }); cover.addEventListener('error', function(){ var fallback = cover.getAttribute('data-fallback'); if(fallback && cover.src !== fallback){ cover.src = fallback; } }); }); })();
📦 What's Inside

This is a personalized financial intelligence engine featuring— ⚡ 35+ AI-powered scripts designed to help you solve everyday money problems, with a few simple clicks.

Find AI Script... ➡️ Copy AI Script ➡️ Paste into GPT ➡️ Done!

From credit cards and student loans to salary negotiation and long-term investing — everything is handled in a fast, easy, and interactive way.

Let’s upgrade how you think about money.

Get Access

Check your inbox

Enter the access code we sent to your email to unlock Benji Finance Suite.
🔓Already purchased?
Enter your access code

Use the code from your Lemon Squeezy email. Once verified, you’ll unlock the full suite instantly.

Don’t see the email? Check spam first.
If issue persists, contact us: [email protected]
(function(){ var input = document.getElementById("bz-access-code"); var btn = document.getElementById("bz-access-btn"); var status = document.getElementById("bz-access-status"); if(!input || !btn || !status) return; /* YOUR BENJI FINANCE LEMON SQUEEZY IDS */ var BZ_STORE_ID = 328034; var BZ_VARIANT_ID = 1515615; /* WHERE PAID USERS GO */ var BZ_FULL_SITE = "https://benjifinance.com/#full"; async function unlockBenjiFinance(){ var code = (input.value || "").trim(); status.classList.remove("bz-success","bz-error"); if(!code){ status.textContent = "Please enter your access code."; status.classList.add("bz-error"); return; } /* CHECKING STATE */ btn.disabled = true; btn.textContent = "Verifying..."; status.textContent = "Checking your access code..."; try{ var body = new URLSearchParams(); body.append("license_key", code); body.append("instance_name", "Benji Finance Web"); var response = await fetch( "https://api.lemonsqueezy.com/v1/licenses/activate", { method: "POST", headers: { "Accept": "application/json", "Content-Type": "application/x-www-form-urlencoded" }, body: body } ); var data = await response.json(); /* SUCCESSFUL ACTIVATION */ if(data.activated === true){ /* VERIFY IT BELONGS TO BENJI FINANCE */ var correctStore = Number(data.meta && data.meta.store_id) === BZ_STORE_ID; var correctVariant = Number(data.meta && data.meta.variant_id) === BZ_VARIANT_ID; if(!correctStore || !correctVariant){ status.textContent = "This access code is not valid for Benji Finance."; status.classList.add("bz-error"); btn.disabled = false; btn.textContent = "Unlock Benji Finance"; return; } /* SAVE ACCESS ON THIS BROWSER */ try{ localStorage.setItem("bz_access","true"); localStorage.setItem( "bz_license_key", code ); localStorage.setItem( "bz_instance_id", data.instance.id ); }catch(e){} /* SUCCESS MESSAGE */ status.textContent = "Access verified! Opening Benji Finance..."; status.classList.add("bz-success"); btn.textContent = "Unlocked ✓"; /* SEND USER TO FULL WEBSITE */ setTimeout(function(){ window.location.href = BZ_FULL_SITE; },800); }else{ /* LEMON SQUEEZY REJECTED CODE */ status.textContent = "License key could not be verified."; status.classList.add("bz-error"); btn.disabled = false; btn.textContent = "Unlock Benji Finance"; } }catch(error){ console.error("Benji Finance license error:",error); status.textContent = "Unable to verify your access code right now. Please try again."; status.classList.add("bz-error"); btn.disabled = false; btn.textContent = "Unlock Benji Finance"; } } /* BUTTON */ btn.addEventListener("click",unlockBenjiFinance); /* ENTER KEY */ input.addEventListener("keydown",function(event){ if(event.key === "Enter"){ event.preventDefault(); unlockBenjiFinance(); } }); })();
/* HIDE PAGE IMMEDIATELY */ document.documentElement.classList.add("bz-access-checking");
Verifying access...
Opening Benji Finance
(function(){ var BZ_STORE_ID = 328034; var BZ_VARIANT_ID = 1515615; var BZ_ACCESS_PAGE = "https://benjifinance.com/#get-access"; var licenseKey = null; var instanceId = null; try{ licenseKey = localStorage.getItem("bz_license_key"); instanceId = localStorage.getItem("bz_instance_id"); }catch(e){} /* NO SAVED LICENSE */ if(!licenseKey || !instanceId){ denyAccess(); return; } /* VALIDATE ACCESS */ async function validateBenjiAccess(){ try{ var body = new URLSearchParams(); body.append( "license_key", licenseKey ); body.append( "instance_id", instanceId ); var response = await fetch( "https://api.lemonsqueezy.com/v1/licenses/validate", { method:"POST", headers:{ "Accept":"application/json", "Content-Type":"application/x-www-form-urlencoded" }, body:body } ); var data = await response.json(); /* CHECK VALIDITY */ var validLicense = data.valid === true; var correctStore = Number( data.meta && data.meta.store_id ) === BZ_STORE_ID; var correctVariant = Number( data.meta && data.meta.variant_id ) === BZ_VARIANT_ID; /* ACCESS GRANTED */ if( validLicense && correctStore && correctVariant ){ try{ localStorage.setItem( "bz_access", "true" ); }catch(e){} console.log( "BENJI FINANCE ACCESS VERIFIED" ); /* REVEAL FULL SITE */ document.documentElement .classList.remove( "bz-access-checking" ); /* REMOVE LOADER */ var loader = document.getElementById( "bz-access-loader" ); if(loader){ loader.style.opacity = "0"; loader.style.transition = "opacity .25s ease"; setTimeout(function(){ loader.remove(); },250); } return; } /* ACCESS DENIED */ denyAccess(); }catch(error){ console.error( "Benji Finance validation error:", error ); denyAccess(); } } /* REMOVE ACCESS AND REDIRECT */ function denyAccess(){ try{ localStorage.removeItem( "bz_access" ); localStorage.removeItem( "bz_license_key" ); localStorage.removeItem( "bz_instance_id" ); }catch(e){} window.location.replace( BZ_ACCESS_PAGE ); } validateBenjiAccess(); })();
Welcome to Benji Finance!
(function(){ var bubble = document.getElementById("welcome_bubble_01"); var textNode = document.getElementById("welcome_bubble_text_01"); if(!bubble || !textNode) return; var MESSAGES = [ "Welcome to Benji Finance!", "Why didn't they ever teach this in school?!", "Upgrade your relationship with money.", "Personal finance? Totally doable.", "Spend less. Save more. Invest the rest.", "Let AI work with you, not against you.", "Smarter money moves begin here.", "No logins. No tracking. No data collected.", "Turn ‘I Should’ into ‘Done'.", "Let’s make dealing with money easier.", "You came to the right place.", "Your future self will thank you.", "Good choices, better habits.", "Money decisions will hit different.", "AI Scripts for Everyday Wins", "Benji-Z? Who's Benji-Z?!", "Use anywhere. No apps required. Just Wi-Fi.", "Friendly finance > Stressful time." ]; var currentIndex = 0; var bubbleTimer = null; textNode.textContent = MESSAGES[currentIndex]; function getRandomDelay(){ return Math.floor(Math.random() * 15001) + 10000; } function pickNextIndex(){ if(MESSAGES.length <= 1) return 0; var next = currentIndex; while(next === currentIndex){ next = Math.floor(Math.random() * MESSAGES.length); } return next; } function scheduleNext(){ clearTimeout(bubbleTimer); bubbleTimer = setTimeout(function(){ swapMessage(); }, getRandomDelay()); } function swapMessage(){ bubble.classList.remove("bz-swap-in"); bubble.classList.add("bz-swap-out"); setTimeout(function(){ currentIndex = pickNextIndex(); textNode.textContent = MESSAGES[currentIndex]; bubble.classList.remove("bz-swap-out"); bubble.classList.add("bz-swap-in"); setTimeout(function(){ bubble.classList.remove("bz-swap-in"); }, 340); scheduleNext(); }, 320); } scheduleNext(); })();
(function(){ var STORAGE_KEY = "bz_category_progress_v1"; var BACKUP_SEEN_KEY = "bz_backup_prompt_seen_v1"; var CATEGORY_KEYS = [ "spending_leaks", "reality_checks", "debt_fixes", "big_life", "growth_wins", "money_wins" ]; var backupLink = document.getElementById("bz-backup-link"); var backupDot = document.getElementById("bz-backup-dot"); function getCompletedCount(){ try{ var store = JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; var seen = {}; var count = 0; CATEGORY_KEYS.forEach(function(category){ var state = store[category]; if(!state) return; Object.keys(state).forEach(function(scriptId){ if(state[scriptId] === true && !seen[scriptId]){ seen[scriptId] = true; count++; } }); }); return count; }catch(e){ return 0; } } function updateBackupDot(){ if(!backupDot) return; var completed = getCompletedCount(); var seenBackupPage = localStorage.getItem(BACKUP_SEEN_KEY) === "1"; if(!seenBackupPage && completed >= 10){ backupDot.style.display = "inline-block"; }else{ backupDot.style.display = "none"; } } if(backupLink){ backupLink.addEventListener("click", function(){ try{ localStorage.setItem(BACKUP_SEEN_KEY, "1"); }catch(e){} updateBackupDot(); }); } window.addEventListener("storage", function(e){ if(e.key === STORAGE_KEY || e.key === BACKUP_SEEN_KEY){ updateBackupDot(); } }); updateBackupDot(); })();
(function(){ const toggle = document.getElementById('bz-menu_1-toggle'); function closeOtherPopups(){ const contactOverlay = document.getElementById('bz-contact-overlay'); const contactBtn = document.getElementById('bz-contact-btn'); const shareOverlay = document.getElementById('bz-share-overlay'); const shareBtn = document.getElementById('bz-share-btn'); if(contactOverlay) contactOverlay.classList.remove('bz-visible'); if(contactBtn) contactBtn.classList.remove('bz-opened'); if(shareOverlay) shareOverlay.classList.remove('bz-visible'); if(shareBtn) shareBtn.classList.remove('bz-opened'); document.querySelectorAll('.bz-dash-overlay.bz-visible').forEach(function(el){ el.classList.remove('bz-visible'); }); } toggle.addEventListener('change', function(){ if(this.checked){ closeOtherPopups(); } document.body.style.overflow = this.checked ? 'hidden' : ''; }); document.querySelectorAll('#bz-menu_1 .bz-item').forEach(link=>{ link.addEventListener('click', ()=>{ toggle.checked = false; document.body.style.overflow = ''; }); }); })();
Benji Finance Suite
Smarter money decisions in minutes.
No books. No spreadsheets. Just answers.

This is a personalized financial intelligence engine featuring— ⚡ 35+ AI-powered scripts designed to help you solve everyday money problems, with a few simple clicks.

Find AI Script... ➡️ Copy AI Script ➡️ Paste into GPT ➡️ Done!

From credit cards and student loans to salary negotiation and long-term investing — everything is handled in a fast, easy, and interactive way.

Let’s upgrade how you think about money.

(function(){ var STORAGE_KEY = "bz_fin_os_full_state_v2"; function initFinOSFull(){ var wrap = document.getElementById("bz-fin-os-full-wrap"); if(!wrap) return; /* Scope everything to THIS component. This prevents another Carrd section from interfering with the #full version. */ var toggle = wrap.querySelector("#bz-fin-os-full-toggle"); var panel = wrap.querySelector("#bz-fin-os-full-panel"); if(!toggle || !panel) return; /* Prevent Carrd from accidentally binding this more than once. */ if(toggle.dataset.bzReady === "true"){ return; } toggle.dataset.bzReady = "true"; function setExpanded(isOpen,save){ toggle.setAttribute( "aria-expanded", isOpen ? "true" : "false" ); panel.setAttribute( "aria-hidden", isOpen ? "false" : "true" ); if(save){ try{ localStorage.setItem( STORAGE_KEY, isOpen ? "open" : "closed" ); }catch(e){} } } function getSavedState(){ try{ return localStorage.getItem( STORAGE_KEY ); }catch(e){ return null; } } /* RESTORE LAST STATE */ var saved = getSavedState(); if(saved === "closed"){ setExpanded(false,false); }else{ setExpanded(true,false); } /* CLICK */ toggle.addEventListener( "click", function(event){ event.preventDefault(); event.stopPropagation(); var isOpen = toggle.getAttribute("aria-expanded") === "true"; setExpanded(!isOpen,true); } ); } /* Run immediately. */ initFinOSFull(); /* Also run after DOM load in case Carrd hasn't finished constructing the section yet. */ if(document.readyState === "loading"){ document.addEventListener( "DOMContentLoaded", initFinOSFull ); } /* Carrd changes sections using hashes. Re-check when #full becomes active. */ window.addEventListener( "hashchange", function(){ if( window.location.hash.toLowerCase() === "#full" ){ setTimeout( initFinOSFull, 50 ); } } ); })();
(function(){ var wrap = document.getElementById("bzsf-search-wrap"); var btn = document.getElementById("bzsf-search-btn"); var input = document.getElementById("bzsf-search-input"); var ghost = document.getElementById("bzsf-search-ghost"); var overlay = document.getElementById("bzsf-overlay"); var modalClose = document.getElementById("bzsf-close"); var resultsList = document.getElementById("bzsf-results"); var count = document.getElementById("bzsf-count"); if(!wrap || !btn || !input || !ghost || !overlay || !modalClose || !resultsList || !count) return; var CLOSED_PLACEHOLDER = "Find AI Script..."; var PLACEHOLDER_TOPICS = [ "credit card", "college", "save cash", "buy car", "buy house", "raise credit", "emergency", "pay debt", "investing", "budget" ]; var placeholderTopicIndex = 0; var placeholderTimer = null; function updateOpenPlaceholder(){ input.setAttribute( "placeholder", "Find AI Script i.e. '" + PLACEHOLDER_TOPICS[placeholderTopicIndex] + "'" ); } function startPlaceholderRotation(){ if(placeholderTimer) clearInterval(placeholderTimer); placeholderTopicIndex = 0; updateOpenPlaceholder(); placeholderTimer = setInterval(function(){ placeholderTopicIndex = (placeholderTopicIndex + 1) % PLACEHOLDER_TOPICS.length; updateOpenPlaceholder(); }, 5000); } function stopPlaceholderRotation(){ if(placeholderTimer){ clearInterval(placeholderTimer); placeholderTimer = null; } } /* ========================= DATA ========================= */ var SCRIPTS = [ { number: 1, title: "💸 Save $500 w/ Lifestyle Tweaks", href: "https://scripts.benjifinance.com/#lifestyle", aliases: ["save 500", "lifestyle", "lifestyle tweaks", "save money", "spending", "money leaks", "budget cuts", "waste"] }, { number: 2, title: "☕ Invisible Habit Tracker", href: "https://scripts.benjifinance.com/#habit", aliases: ["habit", "habit tracker", "small spending", "coffee", "tradition", "pattern", "routine", "norm", "ritual", "practice", "way", "subscriptions", "daily habits"] }, { number: 3, title: "🍕 Convenience Tax Auditor", href: "https://scripts.benjifinance.com/#convenience", aliases: ["convenience", "delivery", "food delivery", "eating out", "tax auditor", "convenience spending", "waste"] }, { number: 4, title: "🛒 Online Shopping Mirror", href: "https://scripts.benjifinance.com/#online", aliases: ["online shopping", "shopping", "mirror", "amazon", "impulse online", "deal", "buy"] }, { number: 5, title: "⏸️ Impulse Buy Chiller (FOMO)", href: "https://scripts.benjifinance.com/#impulse", aliases: ["impulse", "fomo", "impulse buy", "bored", "buy chiller", "fear of missing out", "discount", "regret", "hasty decision", "overspending", "large purchase", "worth it", "emotional spending"] }, { number: 6, title: "💸 Switch Internet/Phone Plan", href: "https://scripts.benjifinance.com/#switch", aliases: ["switch", "save money", "internet", "phone plan", "wifi", "cell plan", "lower bills", "customer", "high", "discount"] }, { number: 7, title: "💸 Overdraft Fee Waiver", href: "https://scripts.benjifinance.com/#overdraft", aliases: ["overdraft", "fee waiver", "bank fee", "waiver", "checking account", "discount"] }, { number: 8, title: "🧾 Take-Home Pay Calculator", href: "https://scripts.benjifinance.com/#takehome", aliases: ["take home", "take-home", "pay calculator", "net pay", "real earnings", "after tax pay", "paycheck calculator", "how much"] }, { number: 9, title: "💼 First Paycheck Protector", href: "https://scripts.benjifinance.com/#paycheck", aliases: ["first paycheck", "paycheck protector", "work", "new job", "first job", "planning", "budget first paycheck"] }, { number: 10, title: "🧭 Income Tax Explainer", href: "https://scripts.benjifinance.com/#taxes", aliases: ["tax", "taxes", "income tax", "tax explainer", "IRS", "legal", "tax withholding", "government", "1099 form", "W2 form"] }, { number: 11, title: "📈 Job Pay Raise Analyzer", href: "https://scripts.benjifinance.com/#raise", aliases: ["raise", "pay raise", "salary raise", "promotion", "new salary", "work", "job raise"] }, { number: 12, title: "🧠 Trip Budget Planner", href: "https://scripts.benjifinance.com/#trip", aliases: ["trip", "traveling", "flying", "vacation", "trip budget", "travel planner", "fun", "budget planner", "leisure", "explore", "foreign country", "overseas"] }, { number: 13, title: "📍 Trip Savings Countdown", href: "https://scripts.benjifinance.com/#savings", aliases: ["trip savings", "traveling", "savings countdown", "travel savings", "fun", "vacation savings", "countdown"] }, { number: 14, title: "🎯 Is My Hobby Worth It?", href: "https://scripts.benjifinance.com/#hobby", aliases: ["hobby", "worth it", "spending on hobby", "pastime", "relaxation", "recreation", "fun money", "side hobby", "leisure"] }, { number: 15, title: "🛟 Emergency Fund Builder", href: "https://scripts.benjifinance.com/#emergency", aliases: ["emergency", "emergency fund", "safety net", "cash buffer", "rainy day fund", "unexpected", "expense"] }, { number: 16, title: "⚠️ Credit Card Interest Trap", href: "https://scripts.benjifinance.com/#interest", aliases: ["credit", "interest rate", "apr", "borrow", "debt", "minimum payment", "bank"] }, { number: 17, title: "💳 Credit Card Payoff Plan", href: "https://scripts.benjifinance.com/#credit", aliases: ["credit", "borrow", "fix", "payoff", "debt", "pay off", "payoff", "bank"] }, { number: 18, title: "🎓 Student Loan Strategizer", href: "https://scripts.benjifinance.com/#student", aliases: ["student", "student loan", "loan strategizer", "college debt", "strategy", "school", "fafsa", "federal loan", "private loan", "education loan"] }, { number: 19, title: "🛡️ Insurance Plan Decoder", href: "https://scripts.benjifinance.com/#insurance", aliases: ["insurance", "explain", "help me", "choose", "decide", "plan decoder", "deductible", "premium", "coverage", "car", "home", "house", "fire", "boat", "health insurance"] }, { number: 20, title: "🛟 Hospital Bill Helper", href: "https://scripts.benjifinance.com/#hospital", aliases: ["hospital", "hospital bill", "save money", "medical bill", "bill helper", "insurance", "medical debt", "expensive", "pay", "ER", "injury", "accident", "sick", "emergency room"] }, { number: 21, title: "🚗 How Much Car Can I Get?", href: "https://scripts.benjifinance.com/#car", aliases: ["new car", "used car", "automobile", "car budget", "afford car", "vehicle", "expensive", "car payment", "big", "dealership", "loan"] }, { number: 22, title: "🏠 How Much House Can I Get?", href: "https://scripts.benjifinance.com/#house", aliases: ["house", "home", "expensive", "mortgage", "bank", "buying guide", "afford house", "big", "home budget", "housing"] }, { number: 23, title: "🧮 Large Purchases Referee", href: "https://scripts.benjifinance.com/#large", aliases: ["large purchase", "big purchase", "purchase referee", "impulse", "buying decision", "overspending", "worth it", "expensive item"] }, { number: 24, title: "⚖️ Job A vs Job B Comparer", href: "https://scripts.benjifinance.com/#job", aliases: ["job", "job a vs job b", "job compare", "offer compare", "job hopping", "switching jobs", "entry-level", "HCOL", "negotiate", "work", "salary compare", "job comparer"] }, { number: 25, title: "🧠 Job Salary Negotiator", href: "https://scripts.benjifinance.com/#salary", aliases: ["salary", "salary negotiator", "negotiate", "job negotiation", "work", "offer negotiation", "more money", "earn", "earnings"] }, { number: 26, title: "📍 Index Fund Starter", href: "https://scripts.benjifinance.com/#index", aliases: ["index", "index fund", "retirement", "investing", "starter", "fund starter", "s p 500", "etf", "buy", "stocks", "trading", "money", "long term", "IRA", "traditional", "save", "rich", "wealth", "pension"] }, { number: 27, title: "🌱 Raise My Credit Score Fast", href: "https://scripts.benjifinance.com/#score", aliases: ["credit", "credit score", "good credit", "borrow", "low score", "raise credit", "fico", "increase", "better", "bad credit", "improve score"] }, { number: 28, title: "🎁 Employer Match Maximizer", href: "https://scripts.benjifinance.com/#match", aliases: ["match", "employer match", "401k", "retirement match", "smart", "pension", "benefits", "maximize match"] }, { number: 29, title: "🏖️ How Much Money to Retire", href: "https://scripts.benjifinance.com/#retire", aliases: ["retire", "retirement", "money to retire", "retire early", "pension", "fund", "retirement number"] }, { number: 30, title: "🪙 Inheritance: Invest vs Debt", href: "https://scripts.benjifinance.com/#inheritance", aliases: ["inheritance", "invest vs debt", "lump sum", "windfall", "bonus", "lottery", "pay debt or investing", "stocks", "deposit", "wealth", "transfer", "trading"] }, { number: 31, title: "📘 Degree ROI Calculator", href: "https://scripts.benjifinance.com/#degree", aliases: ["degree", "return on investment", "student", "worth it", "roi", "degree roi", "college roi", "school choice", "education return"] }, { number: "A", title: "⏳ Time vs Money Optimizer", href: "https://scripts.benjifinance.com/#time", aliases: ["time vs money", "time optimizer", "efficiency", "tradeoff", "hire", "done right", "professional", "save time", "cheap", "save money", "optimize time"] }, { number: "B", title: "🍱 Smart Meal Prepper", href: "https://scripts.benjifinance.com/#smart", aliases: ["meal prep", "food", "budget", "poor", "survival", "chef", "prepare", "homecooked", "cooking", "takeout", "restaurant", "weekly", "surviving", "survive", "poverty", "cooking", "eat at home", "save on food", "groceries", "meal planning"] }, { number: "C", title: "📦 Budget Home Furnisher", href: "https://scripts.benjifinance.com/#budget", aliases: ["furniture", "home furnishing", "ikea", "college student", "move-in", "renting", "house", "apartment", "cheap furniture", "budget home", "minimalist", "moving", "uhaul", "tenant", "temporary", "landlord", "renter", "starter home", "setup home"] }, { number: "D", title: "📖 Finance Term Translator", href: "https://scripts.benjifinance.com/#finance", aliases: ["finance terms", "what does this mean", "apr", "school", "help me", "understand", "student", "taxes", "define", "ELI5", "TLDR", "dictionary", "wiki", "interest", "definition", "learn", "explain finance", "jargon", "search", "confused", "academic", "translate"] }, { number: "E", title: "🎯 Money Decision Simplifier", href: "https://scripts.benjifinance.com/#money", aliases: ["decision", "should i buy", "worth it", "help me decide", "can't decide", "confused", "option", "compare", "right", "wrong", "choose", "simplify decision", "spending decision"] }, { number: "F", title: "🚀 Goal-to-Action Organizer", href: "https://scripts.benjifinance.com/#goal", aliases: ["goal", "action plan", "achieve", "dream", "reality", "stuck", "help me", "get done", "accomplish", "financial goal", "save goal", "organize goals", "execute", "finish", "planning"] } ]; /* ========================= HELPERS ========================= */ function normalize(str){ return (str || "") .toLowerCase() .replace(/&/g, " and ") .replace(/[^\w\s]/g, " ") .replace(/\s+/g, " ") .trim(); } function getMatches(query){ var q = normalize(query); if(!q) return []; return SCRIPTS .map(function(script){ var title = normalize(script.title); var haystack = title + " " + normalize(script.aliases.join(" ")); var score = 0; if(title === q) score = 200; else if(title.indexOf(q) === 0) score = 140; else if(title.indexOf(q) > -1) score = 120; else if(haystack.indexOf(q) > -1) score = 100; else{ var words = q.split(" ").filter(Boolean); var matches = 0; for(var i = 0; i < words.length; i++){ if(haystack.indexOf(words[i]) > -1) matches++; } if(matches > 0) score = matches * 20; } return { script: script, score: score }; }) .filter(function(item){ return item.score > 0; }) .sort(function(a, b){ if(b.score !== a.score) return b.score - a.score; return String(a.script.number).localeCompare(String(b.script.number), undefined, { numeric: true }); }) .map(function(item){ return item.script; }); } function getTopMatch(query){ var matches = getMatches(query); return matches.length ? matches[0] : null; } function updateGhost(){ var raw = input.value || ""; var trimmed = raw.trim(); if(!trimmed){ ghost.textContent = ""; return; } var top = getTopMatch(trimmed); if(!top){ ghost.textContent = ""; return; } var full = top.number + ". " + top.title; var lowerFull = full.toLowerCase(); var lowerRaw = raw.toLowerCase(); if(lowerFull.indexOf(lowerRaw) === 0){ ghost.textContent = full; }else{ ghost.textContent = ""; } } /* ========================= RENDER ========================= */ function renderResults(items){ resultsList.innerHTML = ""; count.textContent = items.length + (items.length === 1 ? " match" : " matches"); if(!items.length){ resultsList.innerHTML = '
No matching scripts.
'; return; } var wrapList = document.createElement("div"); wrapList.className = "bzsf-results-list"; items.forEach(function(item){ var row = document.createElement("a"); row.className = "bzsf-result-item"; row.href = item.href; var title = document.createElement("div"); title.className = "bzsf-result-line"; title.textContent = item.number + ". " + item.title; row.appendChild(title); wrapList.appendChild(row); }); resultsList.appendChild(wrapList); } /* ========================= SEARCH STATE CONTROL ========================= */ function resetSearch(){ input.value = ""; ghost.textContent = ""; resultsList.innerHTML = ""; count.textContent = "0 matches"; wrap.classList.remove("bzsf-opened"); stopPlaceholderRotation(); input.setAttribute("placeholder", CLOSED_PLACEHOLDER); input.blur(); } function openSearch(){ wrap.classList.add("bzsf-opened"); startPlaceholderRotation(); setTimeout(function(){ input.focus(); try{ var len = input.value.length; input.setSelectionRange(len, len); }catch(e){} }, 120); } function closeSearch(){ if(input.value.trim()) return; wrap.classList.remove("bzsf-opened"); stopPlaceholderRotation(); input.setAttribute("placeholder", CLOSED_PLACEHOLDER); } /* ========================= MODAL CONTROL ========================= */ function openModal(){ overlay.classList.add("bzsf-visible"); overlay.setAttribute("aria-hidden", "false"); document.documentElement.style.overflow = "hidden"; document.body.style.overflow = "hidden"; } function closeModal(){ overlay.classList.remove("bzsf-visible"); overlay.setAttribute("aria-hidden", "true"); document.documentElement.style.overflow = ""; document.body.style.overflow = ""; } /* ========================= UPDATE RESULTS ========================= */ function updateResults(){ var query = input.value.trim(); updateGhost(); if(!query){ closeModal(); count.textContent = "0 matches"; resultsList.innerHTML = ""; return; } var matches = getMatches(query); renderResults(matches); openModal(); } /* ========================= EVENTS ========================= */ btn.addEventListener("click", function(){ if(wrap.classList.contains("bzsf-opened")){ input.focus(); updateResults(); }else{ openSearch(); } }); input.addEventListener("focus", function(){ wrap.classList.add("bzsf-opened"); startPlaceholderRotation(); updateGhost(); }); input.addEventListener("input", function(){ updateResults(); }); input.addEventListener("blur", function(){ setTimeout(function(){ if(!input.value.trim()){ closeSearch(); ghost.textContent = ""; } }, 120); }); modalClose.addEventListener("click", function(){ closeModal(); resetSearch(); }); overlay.addEventListener("click", function(e){ if(e.target === overlay){ closeModal(); resetSearch(); } }); document.addEventListener("keydown", function(e){ if(e.key === "Escape"){ closeModal(); resetSearch(); } }); })();
👋 Welcome!
Next Money Move: "1. Save $500 w/ Lifestyle Tweak"
⏱️ Find your first $200 savings in the next 2 min
💰 Your Savings Found:
$0
*Estimate from completed scripts
Recent Win: —
Small wins compound fast.
⚡ Your Progress:
0 of 37
Smart money moves completed.
Start your journey to healthier finances today.
🔥 Your Current Streak:
1 day
🥇 Personal Best: 1 day streak!
One day at a time will win.
(function(){ var VISIT_KEY = "bz_visit_days_v1"; var BEST_STREAK_KEY = "bz_best_streak_v1"; var ONE_DAY_AFFIRMATION = "One day at a time will win."; function getUserTimeZone(){ try{ return Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC"; }catch(e){ return "UTC"; } } var APP_TIME_ZONE = getUserTimeZone(); var STREAK_AFFIRMATIONS = [ "Momentum beats motivation.", "Any progress is real progress.", "Keep your eyes locked on target.", "Keep stacking days like paper.", "Perseverance is the key to success.", "A tiny streak is still a streak.", "This is how better habits form.", "You’re moving toward something big.", "Slow and steady...wins the race." ]; var streakAffirmTimer = null; var streakAffirmIndex = 0; var streakAffirmStarted = false; function ensureStreakAnimStyles(){ if(document.getElementById("bz-streak-inline-anim-styles")) return; var style = document.createElement("style"); style.id = "bz-streak-inline-anim-styles"; style.textContent = [ "@keyframes bzStreakRangeShimmer{", "0%{box-shadow:inset 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(0,0,0,0);}", "50%{box-shadow:inset 0 0 0 rgba(255,255,255,0), 0 0 10px rgba(249,115,22,.10);}", "100%{box-shadow:inset 0 0 0 rgba(255,255,255,0), 0 0 0 rgba(0,0,0,0);}", "}", "@keyframes bzTodayDotPulse{", "0%,100%{transform:scale(1);opacity:1;}", "50%{transform:scale(1.28);opacity:.82;}", "}" ].join(""); document.head.appendChild(style); } function formatYMDInTZ(date, timeZone){ var parts = new Intl.DateTimeFormat("en-CA", { timeZone: timeZone, year: "numeric", month: "2-digit", day: "2-digit" }).formatToParts(date); var out = {}; parts.forEach(function(part){ if(part.type !== "literal") out[part.type] = part.value; }); return out.year + "-" + out.month + "-" + out.day; } function todayStr(){ return formatYMDInTZ(new Date(), APP_TIME_ZONE); } function readVisits(){ try{ var parsed = JSON.parse(localStorage.getItem(VISIT_KEY)); if(parsed && Array.isArray(parsed.days)) return parsed.days; if(Array.isArray(parsed)) return parsed; return []; }catch(e){ return []; } } function writeVisits(days){ try{ localStorage.setItem(VISIT_KEY, JSON.stringify({days: days})); }catch(e){} } function readBestStreak(){ try{ var value = parseInt(localStorage.getItem(BEST_STREAK_KEY) || "", 10); return isNaN(value) || value < 1 ? 1 : value; }catch(e){ return 1; } } function writeBestStreak(value){ try{ localStorage.setItem(BEST_STREAK_KEY, String(value)); }catch(e){} } function updateBestStreak(streakDays){ var best = readBestStreak(); if(streakDays > best){ best = streakDays; writeBestStreak(best); } return best; } function renderBestStreak(bestDays){ var node = document.getElementById("bz-streak-best"); if(!node) return; node.textContent = bestDays === 1 ? "🥇 Personal Best: 1 day streak!" : "🥇 Personal Best: " + bestDays + " day streak!"; } function uniqueSortedDays(days){ var seen = {}; var out = []; days.forEach(function(day){ if(typeof day === "string" && !seen[day]){ seen[day] = true; out.push(day); } }); out.sort(); return out; } function updateVisits(){ var visits = uniqueSortedDays(readVisits()); var today = todayStr(); if(visits.indexOf(today) === -1){ visits.push(today); visits = uniqueSortedDays(visits); writeVisits(visits); } return visits; } function getStreakDays(visits){ if(!visits.length) return 1; var streak = 1; for(var i = visits.length - 1; i > 0; i--){ var current = new Date(visits[i] + "T00:00:00"); var previous = new Date(visits[i - 1] + "T00:00:00"); var diff = Math.round((current - previous) / 86400000); if(diff === 1){ streak++; }else{ break; } } return streak; } function getStreakStartDate(visits, streakDays){ if(!visits.length || streakDays <= 0) return null; return visits[visits.length - streakDays]; } function formatDateParts(dateStr){ var d = new Date(dateStr + "T12:00:00"); return { month: d.toLocaleString("en-US", { month: "short", timeZone: APP_TIME_ZONE }).toUpperCase(), monthLong: d.toLocaleString("en-US", { month: "long", timeZone: APP_TIME_ZONE }), weekday: d.toLocaleString("en-US", { weekday: "short", timeZone: APP_TIME_ZONE }).toUpperCase(), year: Number(dateStr.slice(0,4)), day: Number(dateStr.slice(8,10)) }; } function renderDateBox(today){ var parts = formatDateParts(today); var monthNode = document.getElementById("bz-date-month"); var dayNode = document.getElementById("bz-date-day"); var weekdayNode = document.getElementById("bz-date-weekday"); if(monthNode) monthNode.textContent = parts.month; if(dayNode) dayNode.textContent = String(parts.day); if(weekdayNode) weekdayNode.textContent = parts.weekday; } function renderStreakValue(streakDays){ var node = document.getElementById("bz-dash-streak"); if(!node) return; node.textContent = streakDays === 1 ? "1 day" : streakDays + " days"; } function openOverlay(){ var overlay = document.getElementById("bz-streak-overlay"); if(!overlay) return; overlay.classList.add("bz-visible"); overlay.setAttribute("aria-hidden", "false"); } function closeOverlay(){ var overlay = document.getElementById("bz-streak-overlay"); if(!overlay) return; overlay.classList.remove("bz-visible"); overlay.setAttribute("aria-hidden", "true"); } function makeCell(text, styles){ var div = document.createElement("div"); div.textContent = text; for(var key in styles){ div.style[key] = styles[key]; } return div; } function renderCalendar(streakDays, streakStart, today){ var infoNode = document.getElementById("bz-streak-info"); var monthLabelNode = document.getElementById("bz-streak-month-label"); var gridNode = document.getElementById("bz-streak-calendar-grid"); if(!infoNode || !monthLabelNode || !gridNode) return; ensureStreakAnimStyles(); var todayDate = new Date(today + "T00:00:00"); var year = todayDate.getFullYear(); var month = todayDate.getMonth(); var monthText = formatDateParts(today).monthLong + " " + year; var firstOfMonth = new Date(year, month, 1); var firstDayStr = formatYMDInTZ(firstOfMonth, APP_TIME_ZONE); var startedPreviousMonth = streakStart && streakStart < firstDayStr && streakDays > 1; infoNode.textContent = monthText; monthLabelNode.innerHTML = streakDays === 1 ? "1 day streak" : streakDays + " day streak"; gridNode.innerHTML = ""; var wrap = document.createElement("div"); wrap.style.display = "grid"; wrap.style.gridTemplateColumns = "repeat(7,1fr)"; wrap.style.gap = "6px"; wrap.style.width = "100%"; var weekdayLabels = ["SUN","MON","TUE","WED","THU","FRI","SAT"]; weekdayLabels.forEach(function(label){ wrap.appendChild(makeCell(label, { textAlign: "center", fontSize: "10px", fontWeight: "700", paddingBottom: "4px", letterSpacing: ".04em", opacity: ".7" })); }); var startWeekday = firstOfMonth.getDay(); var lastOfMonth = new Date(year, month + 1, 0); var daysInMonth = lastOfMonth.getDate(); for(var blank = 0; blank < startWeekday; blank++){ wrap.appendChild(document.createElement("div")); } for(var day = 1; day <= daysInMonth; day++){ var current = new Date(year, month, day); var currentStr = formatYMDInTZ(current, APP_TIME_ZONE); var isToday = currentStr === today; var isStart = streakStart && currentStr === streakStart; var inRange = false; if(streakDays === 1){ inRange = isToday; }else if(streakStart){ var effectiveStart = streakStart < firstDayStr ? firstDayStr : streakStart; inRange = currentStr >= effectiveStart && currentStr <= today; } var cell = document.createElement("div"); cell.textContent = day; cell.style.height = "36px"; cell.style.borderRadius = "10px"; cell.style.display = "flex"; cell.style.alignItems = "center"; cell.style.justifyContent = "center"; cell.style.fontSize = "12px"; cell.style.fontWeight = "700"; cell.style.position = "relative"; cell.style.boxSizing = "border-box"; cell.style.color = "#0F172A"; cell.style.border = "1px solid #E2E8F0"; cell.style.background = "#FFFFFF"; var ORANGE = "#F97316"; var DARK = "#111827"; if(inRange){ cell.style.background = "rgba(255,237,213,.95)"; cell.style.border = "1px solid #FDBA74"; cell.style.animation = "bzStreakRangeShimmer 3.2s ease-in-out infinite"; } if(isToday || isStart){ cell.style.background = ORANGE; cell.style.color = "#FFFFFF"; cell.style.animation = "none"; } if(isToday){ cell.style.border = "1px solid " + DARK; cell.style.boxShadow = "0 0 0 2px rgba(17,24,39,.08)"; } if(isStart && !isToday && streakDays > 1){ cell.style.border = "2px dotted " + DARK; } if(isToday){ var dot = document.createElement("div"); dot.style.position = "absolute"; dot.style.bottom = "3px"; dot.style.width = "4px"; dot.style.height = "4px"; dot.style.borderRadius = "999px"; dot.style.background = "#FFFFFF"; dot.style.animation = "bzTodayDotPulse 1.8s ease-in-out infinite"; cell.appendChild(dot); } wrap.appendChild(cell); } gridNode.appendChild(wrap); var legend = document.createElement("div"); legend.style.display = "flex"; legend.style.justifyContent = "center"; legend.style.gap = "14px"; legend.style.flexWrap = "wrap"; legend.style.marginTop = "14px"; function addLegendDot(label, styles){ var item = document.createElement("div"); item.className = "bz-streak-legend-item"; item.style.display = "flex"; item.style.alignItems = "center"; item.style.gap = "6px"; item.style.fontSize = "11px"; item.style.fontWeight = "600"; var dot = document.createElement("span"); dot.style.display = "inline-block"; dot.style.width = "10px"; dot.style.height = "10px"; for(var key in styles){ dot.style[key] = styles[key]; } var text = document.createElement("span"); text.textContent = label; item.appendChild(dot); item.appendChild(text); legend.appendChild(item); } if(streakDays === 1){ addLegendDot("Today", { borderRadius: "999px", background: "#F97316", border: "1px solid #111827", boxSizing: "border-box" }); }else{ if(streakStart && streakStart >= firstDayStr){ addLegendDot("Start Date", { borderRadius: "2px", background: "#F97316", border: "2px dotted #111827", boxSizing: "border-box" }); } addLegendDot("Today", { borderRadius: "999px", background: "#F97316", border: "1px solid #111827", boxSizing: "border-box" }); addLegendDot("Streak", { borderRadius: "999px", background: "rgba(255,237,213,.95)", border: "1px solid #FDBA74", boxSizing: "border-box" }); } gridNode.appendChild(legend); } function wirePopup(){ var btn = document.getElementById("bz-streak-date-btn"); var overlay = document.getElementById("bz-streak-overlay"); var pop = document.getElementById("bz-streak-pop"); var closeBtn = document.getElementById("bz-streak-close"); if(btn && btn.getAttribute("data-wired") !== "1"){ btn.setAttribute("data-wired", "1"); btn.addEventListener("click", function(){ var visits = updateVisits(); var today = todayStr(); var streakDays = getStreakDays(visits); var bestDays = updateBestStreak(streakDays); var streakStart = getStreakStartDate(visits, streakDays); renderCalendar(streakDays, streakStart, today); openOverlay(); }); btn.addEventListener("keydown", function(e){ if(e.key === "Enter" || e.key === " "){ e.preventDefault(); var visits = updateVisits(); var today = todayStr(); var streakDays = getStreakDays(visits); var streakStart = getStreakStartDate(visits, streakDays); renderCalendar(streakDays, streakStart, today); openOverlay(); } }); } if(closeBtn && closeBtn.getAttribute("data-wired") !== "1"){ closeBtn.setAttribute("data-wired", "1"); closeBtn.addEventListener("click", function(){ closeOverlay(); }); } if(overlay && overlay.getAttribute("data-wired") !== "1"){ overlay.setAttribute("data-wired", "1"); overlay.addEventListener("click", function(e){ if(e.target === overlay){ closeOverlay(); } }); } if(pop && pop.getAttribute("data-wired") !== "1"){ pop.setAttribute("data-wired", "1"); pop.addEventListener("click", function(e){ e.stopPropagation(); }); } } function getRandomDelay(){ return Math.floor(Math.random() * 15001) + 10000; } function fadeTextSwap(node, nextText){ if(!node) return; node.classList.add("bz-affirm-fade"); node.classList.add("bz-changing"); setTimeout(function(){ node.textContent = nextText; node.classList.remove("bz-changing"); }, 180); } function stopStreakAffirmations(){ if(streakAffirmTimer){ clearTimeout(streakAffirmTimer); streakAffirmTimer = null; } streakAffirmStarted = false; } function startStreakAffirmations(){ var node = document.getElementById("bz-streak-affirmation"); if(!node) return; var visits = updateVisits(); var streakDays = getStreakDays(visits); if(streakDays === 1){ stopStreakAffirmations(); node.classList.add("bz-affirm-fade"); node.textContent = ONE_DAY_AFFIRMATION; return; } if(streakAffirmStarted) return; streakAffirmStarted = true; node.classList.add("bz-affirm-fade"); if(!STREAK_AFFIRMATIONS.length) return; if(STREAK_AFFIRMATIONS.indexOf(node.textContent) === -1){ streakAffirmIndex = 0; node.textContent = STREAK_AFFIRMATIONS[0]; }else{ streakAffirmIndex = STREAK_AFFIRMATIONS.indexOf(node.textContent); } function scheduleNext(){ streakAffirmTimer = setTimeout(function(){ var latestVisits = updateVisits(); var latestStreakDays = getStreakDays(latestVisits); if(latestStreakDays === 1){ stopStreakAffirmations(); node.textContent = ONE_DAY_AFFIRMATION; return; } streakAffirmIndex = (streakAffirmIndex + 1) % STREAK_AFFIRMATIONS.length; fadeTextSwap(node, STREAK_AFFIRMATIONS[streakAffirmIndex]); scheduleNext(); }, getRandomDelay()); } scheduleNext(); } function refreshStreakCard(){ var card = document.getElementById("bz-card-streak-module"); if(!card) return; var visits = updateVisits(); var today = todayStr(); var streakDays = getStreakDays(visits); var bestDays = updateBestStreak(streakDays); var streakStart = getStreakStartDate(visits, streakDays); var affirmNode = document.getElementById("bz-streak-affirmation"); renderDateBox(today); renderStreakValue(streakDays); renderBestStreak(bestDays); renderCalendar(streakDays, streakStart, today); wirePopup(); if(affirmNode){ if(streakDays === 1){ affirmNode.textContent = ONE_DAY_AFFIRMATION; stopStreakAffirmations(); }else{ if(!affirmNode.textContent || affirmNode.textContent === ONE_DAY_AFFIRMATION){ streakAffirmIndex = 0; affirmNode.textContent = STREAK_AFFIRMATIONS[0]; } startStreakAffirmations(); } } } function boot(){ refreshStreakCard(); } boot(); window.addEventListener("storage", function(e){ if(e.key === VISIT_KEY){ refreshStreakCard(); } }); document.addEventListener("visibilitychange", function(){ if(!document.hidden){ refreshStreakCard(); } }); document.addEventListener("keydown", function(e){ if(e.key === "Escape"){ closeOverlay(); } }); })();

📩 Send Feedback to Us

If something helped you, or could be improved, tell us about it!

🚀 Tell Your Friends

Replace $X with your savings amount, and post your win on Twitter/X!

Pretty awesome, I just found about $X in savings using Benji Finance Suite! Check it out now: https://benjifinance.com/
(function(){ var contactBtn = document.getElementById("bz-contact-btn"); var contactOverlay = document.getElementById("bz-contact-overlay"); var contactModal = document.getElementById("bz-contact-modal"); var contactClose = document.getElementById("bz-close"); var contactInput = document.getElementById("bz-message"); var shareBtn = document.getElementById("bz-share-btn"); var shareOverlay = document.getElementById("bz-share-overlay"); var shareModal = document.getElementById("bz-share-modal"); var shareClose = document.getElementById("bz-share-close"); var shareMessage = document.getElementById("bz-share-message"); var sendBtn = document.getElementById("bz-send-btn"); var shareSendBtn = document.getElementById("bz-share-send-btn"); var LAST_SEEN_SAVINGS_KEY = "bz_last_seen_savings_v1"; var shareOutsideClickCount = 0; function formatMoney(n){ try{ return n.toLocaleString("en-US"); }catch(e){ return String(n); } } function parseMoneyText(text){ if(!text) return 0; var cleaned = String(text).replace(/[^0-9.-]/g, ""); var num = parseInt(cleaned, 10); return isNaN(num) ? 0 : num; } function getSavingsTotal(){ var savingsNode = document.getElementById("bz-dash-savings"); if(savingsNode){ var targetSaved = parseInt(savingsNode.getAttribute("data-target-saved") || "", 10); if(!isNaN(targetSaved) && targetSaved > 0) return targetSaved; var lastSaved = parseInt(savingsNode.getAttribute("data-last-saved") || "", 10); if(!isNaN(lastSaved) && lastSaved > 0) return lastSaved; var textSaved = parseMoneyText(savingsNode.textContent); if(textSaved > 0) return textSaved; } try{ var stored = parseInt(localStorage.getItem(LAST_SEEN_SAVINGS_KEY) || "", 10); if(!isNaN(stored) && stored > 0) return stored; }catch(e){} return 0; } function updateShareButtonState(){ var totalSaved = getSavingsTotal(); if(totalSaved > 0) shareBtn.classList.add("bz-has-savings"); else shareBtn.classList.remove("bz-has-savings"); } function hydrateShareMessage(){ var totalSaved = getSavingsTotal(); if(totalSaved > 0){ shareMessage.innerHTML = 'Pretty awesome, I just found about $' + formatMoney(totalSaved) + ' in savings using Benji Finance Suite! Check it out now: https://benjifinance.com/'; }else{ shareMessage.innerHTML = 'Pretty awesome, I just found about $X in savings using Benji Finance Suite! Check it out now: https://benjifinance.com/'; } } function isDesktop(){ return window.innerWidth >= 700; } function closeBookmarksMenu(){ var menuToggle = document.getElementById("bz-menu_1-toggle"); if(menuToggle) menuToggle.checked = false; } function closeContact(){ contactOverlay.classList.remove("bz-visible"); contactBtn.classList.remove("bz-opened"); } function closeShare(){ shareOverlay.classList.remove("bz-visible"); shareBtn.classList.remove("bz-opened"); shareOutsideClickCount = 0; updateShareButtonState(); } function placeCaretAtEnd(el){ if(!el) return; el.focus(); var range = document.createRange(); range.selectNodeContents(el); range.collapse(false); var selection = window.getSelection(); selection.removeAllRanges(); selection.addRange(range); } function openContact(){ closeShare(); closeBookmarksMenu(); contactOverlay.classList.add("bz-visible"); contactBtn.classList.add("bz-opened"); setTimeout(function(){ if(contactInput){ contactInput.focus(); try{ var len = contactInput.value.length; contactInput.setSelectionRange(len, len); }catch(e){} } },120); } function openShare(){ closeContact(); closeBookmarksMenu(); hydrateShareMessage(); shareOutsideClickCount = 0; shareOverlay.classList.add("bz-visible"); shareBtn.classList.add("bz-opened"); shareBtn.classList.remove("bz-has-savings"); setTimeout(function(){ placeCaretAtEnd(shareMessage); },120); } contactBtn.onclick = function(){ if(contactOverlay.classList.contains("bz-visible")) closeContact(); else openContact(); }; shareBtn.onclick = function(){ if(shareOverlay.classList.contains("bz-visible")) closeShare(); else openShare(); }; contactClose.onclick = function(){ closeContact(); }; shareClose.onclick = function(){ closeShare(); }; contactOverlay.onclick = function(e){ if(e.target !== contactOverlay) return; closeContact(); }; shareOverlay.onclick = function(e){ if(e.target !== shareOverlay) return; if(isDesktop()){ shareOutsideClickCount++; if(shareOutsideClickCount >= 2){ closeShare(); } }else{ closeShare(); } }; if(contactModal){ contactModal.onclick = function(e){ e.stopPropagation(); }; } if(shareModal){ shareModal.onclick = function(e){ e.stopPropagation(); }; } document.addEventListener("keydown", function(e){ if(e.key === "Escape"){ closeContact(); closeShare(); } }); sendBtn.onclick = function(){ var msg = document.getElementById("bz-message").value || ""; var to = "[email protected]"; var subject = "Benji Finance Suite: Customer Support"; var mailtoUrl = "mailto:" + to + "?subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(msg); var link = document.createElement("a"); link.href = mailtoUrl; link.style.display = "none"; document.body.appendChild(link); link.click(); document.body.removeChild(link); }; shareSendBtn.onclick = function(){ var msg = shareMessage.innerText; if(navigator.clipboard && navigator.clipboard.writeText){ navigator.clipboard.writeText(msg).catch(function(){}); } window.open("https://x.com/intent/tweet?text=" + encodeURIComponent(msg), "_blank"); }; document.addEventListener("visibilitychange", function(){ if(!document.hidden){ updateShareButtonState(); } }); window.addEventListener("focus", function(){ updateShareButtonState(); }); updateShareButtonState(); })();
(function(){ var footer=document.getElementById("bz-footer-wrapper"); var note=document.getElementById("bz-hidden-footer-note"); if(!footer||!note) return; var taps=0; var timer=null; var visible=false; footer.addEventListener("click",function(){ taps++; clearTimeout(timer); timer=setTimeout(function(){ taps=0; },1400); if(taps>=5){ if(!visible){ note.classList.add("bz-visible"); visible=true; }else{ note.classList.remove("bz-visible"); visible=false; } taps=0; clearTimeout(timer); } }); })();
(function () { function forceTop() { if (window.location.hash) { history.replaceState(null, "", window.location.pathname + window.location.search); } window.scrollTo(0, 0); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; } window.addEventListener("load", function () { forceTop(); setTimeout(forceTop, 50); setTimeout(forceTop, 200); setTimeout(forceTop, 500); }); })();
Click me to go back home

Everyday Money Wins

Turn everyday situations into simple, clear decisions. These scripts help you think faster, act sooner, and get quick wins across money, time, and daily life—without added stress.

⚡ Your Progress:
0 of 6
Smart money moves completed.
Start your everyday money wins today.
(function(){ var STORAGE_KEY = "bz_category_progress_v1"; var CATEGORY_KEY = "money_wins"; var TOTAL = 6; var CONFETTI_DURATION = 1200; var SCRIPT_META = { time:{num:"A",emoji:"⏳",name:"Time vs Money Optimizer"}, smart:{num:"B",emoji:"🍱",name:"Smart Meal Prepper"}, budget:{num:"C",emoji:"📦",name:"Budget Home Furnisher"}, finance:{num:"D",emoji:"📖",name:"Finance Term Translator"}, money:{num:"E",emoji:"🎯",name:"Money Decision Simplifier"}, goal:{num:"F",emoji:"🚀",name:"Goal-to-Action Organizer"} }; function readStore(){ try{ return JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; }catch(e){ return {}; } } function writeStore(store){ try{ localStorage.setItem(STORAGE_KEY, JSON.stringify(store)); }catch(e){} } function ensureCategory(store){ if(!store[CATEGORY_KEY]){ store[CATEGORY_KEY] = {}; } return store[CATEGORY_KEY]; } function countDone(categoryState){ var count = 0; Object.keys(SCRIPT_META).forEach(function(scriptId){ if(categoryState[scriptId] === true){ count++; } }); return count; } function getCompletedScripts(categoryState){ var completed = []; Object.keys(SCRIPT_META).forEach(function(scriptId){ if(categoryState[scriptId] === true){ completed.push({ id: scriptId, num: SCRIPT_META[scriptId].num, emoji: SCRIPT_META[scriptId].emoji, name: SCRIPT_META[scriptId].name }); } }); return completed; } function renderCompletedList(items, listNode){ if(!listNode) return; if(!items.length){ listNode.innerHTML = '
No everyday money wins completed yet.
'; return; } listNode.innerHTML = ""; var wrap = document.createElement("div"); wrap.className = "bz-everyday-completed-list-wrap"; items.forEach(function(item){ var row = document.createElement("div"); row.className = "bz-everyday-completed-row"; var title = document.createElement("div"); title.className = "bz-everyday-completed-title"; title.textContent = item.num + ". " + item.emoji + " " + item.name; row.appendChild(title); wrap.appendChild(row); }); listNode.appendChild(wrap); } function getDoneParam(){ try{ var url = new URL(window.location.href); return url.searchParams.get("done"); }catch(e){ return null; } } function cleanDoneParam(){ try{ var url = new URL(window.location.href); url.searchParams.delete("done"); history.replaceState({}, "", url.pathname + url.search + url.hash); }catch(e){} } function openOverlay(overlay){ if(!overlay) return; overlay.classList.add("bz-visible"); overlay.setAttribute("aria-hidden","false"); } function closeOverlay(overlay){ if(!overlay) return; overlay.classList.remove("bz-visible"); overlay.setAttribute("aria-hidden","true"); } function runConfetti(){ var layer = document.getElementById("bz-everyday-confetti"); if(!layer) return; layer.innerHTML = ""; for(var i=0;i<22;i++){ var piece = document.createElement("div"); piece.className = "bz-everyday-confetti-piece"; piece.style.left = (16 + Math.random()*68) + "%"; piece.style.top = (10 + Math.random()*10) + "px"; piece.style.setProperty("--x", ((Math.random()*150)-75) + "px"); piece.style.setProperty("--y", (26 + Math.random()*54) + "px"); piece.style.setProperty("--r", ((Math.random()*420)-210) + "deg"); piece.style.animationDelay = (Math.random()*80) + "ms"; piece.style.animationDuration = (850 + Math.random()*220) + "ms"; if(Math.random() > 0.55){ piece.style.width = "7px"; piece.style.height = "7px"; piece.style.borderRadius = "999px"; }else{ piece.style.width = "8px"; piece.style.height = "14px"; piece.style.borderRadius = "2px"; } layer.appendChild(piece); } setTimeout(function(){ layer.innerHTML = ""; }, CONFETTI_DURATION); } function boot(){ var root = document.getElementById("bz-category-progress-everyday"); if(!root) return false; var fill = document.getElementById("bz-everyday-mini-progress-fill"); var progressBar = document.getElementById("bz-everyday-mini-progress"); var progressValue = document.getElementById("bz-everyday-progress-value"); var progressSub = document.getElementById("bz-everyday-progress-sub"); var dayline = document.getElementById("bz-everyday-dayline"); var viewBtn = document.getElementById("bz-everyday-view-btn"); var celebrateBtn = document.getElementById("bz-everyday-celebrate-btn"); var completedOverlay = document.getElementById("bz-everyday-completed-overlay"); var completedPop = document.getElementById("bz-everyday-completed-pop"); var completedList = document.getElementById("bz-everyday-completed-list"); var completedCount = document.getElementById("bz-everyday-completed-count"); var completedClose = document.getElementById("bz-everyday-completed-close"); function refreshEverydayProgress(){ var store = readStore(); var categoryState = ensureCategory(store); var done = countDone(categoryState); var percent = (done / TOTAL) * 100; var completedScripts = getCompletedScripts(categoryState); if(root){ var shimmerDuration = 8.6 + (done * 1.35); root.style.setProperty("--bz-shimmer-duration", shimmerDuration + "s"); root.style.setProperty("--bz-mobile-shimmer-duration", shimmerDuration + "s"); } if(fill){ fill.style.width = percent + "%"; } if(progressBar){ if(done === TOTAL){ progressBar.classList.add("bz-complete-pulse"); }else{ progressBar.classList.remove("bz-complete-pulse"); } } if(progressValue){ progressValue.textContent = done + " of " + TOTAL; } if(progressSub){ progressSub.textContent = "Smart money moves completed."; } if(dayline){ if(done <= 0){ dayline.textContent = "Start your everyday money wins today."; }else if(done === TOTAL){ dayline.textContent = "✔ Full loop complete. Everyday wins like this add up fast."; }else{ dayline.textContent = "✔ Script #" + done + " of your everyday money wins done."; } } if(completedCount){ completedCount.textContent = done + " / " + TOTAL + " complete"; } if(celebrateBtn){ if(done === TOTAL){ celebrateBtn.classList.add("bz-visible"); }else{ celebrateBtn.classList.remove("bz-visible"); } } renderCompletedList(completedScripts, completedList); } var store = readStore(); var categoryState = ensureCategory(store); var doneParam = getDoneParam(); if(doneParam && SCRIPT_META[doneParam]){ if(categoryState[doneParam] !== true){ categoryState[doneParam] = true; writeStore(store); } cleanDoneParam(); } refreshEverydayProgress(); if(viewBtn && !viewBtn.dataset.wired){ viewBtn.dataset.wired = "1"; viewBtn.addEventListener("click", function(e){ e.stopPropagation(); if(completedOverlay.classList.contains("bz-visible")) closeOverlay(completedOverlay); else openOverlay(completedOverlay); }); } if(celebrateBtn && !celebrateBtn.dataset.wired){ celebrateBtn.dataset.wired = "1"; celebrateBtn.addEventListener("click", function(e){ e.stopPropagation(); runConfetti(); }); } if(completedClose && !completedClose.dataset.wired){ completedClose.dataset.wired = "1"; completedClose.addEventListener("click", function(e){ e.stopPropagation(); closeOverlay(completedOverlay); }); } if(completedOverlay && !completedOverlay.dataset.wired){ completedOverlay.dataset.wired = "1"; completedOverlay.addEventListener("click", function(e){ if(e.target === completedOverlay){ closeOverlay(completedOverlay); } }); } if(completedPop && !completedPop.dataset.wired){ completedPop.dataset.wired = "1"; completedPop.addEventListener("click", function(e){ e.stopPropagation(); }); } window.addEventListener("storage", function(e){ if(e.key === STORAGE_KEY){ refreshEverydayProgress(); } }); document.addEventListener("visibilitychange", function(){ if(!document.hidden){ refreshEverydayProgress(); } }); document.addEventListener("keydown", function(e){ if(e.key === "Escape"){ closeOverlay(completedOverlay); } }); return true; } if(!boot()){ var tries = 0; var timer = setInterval(function(){ tries++; if(boot() || tries > 30){ clearInterval(timer); } }, 200); } })();
(function () { function forceTop() { if (window.location.hash) { history.replaceState(null, "", window.location.pathname + window.location.search); } window.scrollTo(0, 0); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; } window.addEventListener("load", function () { forceTop(); setTimeout(forceTop, 50); setTimeout(forceTop, 200); setTimeout(forceTop, 500); }); })();
Click me to go back home

Spending & Money Leaks

Find the ways money quietly slips away and fix them fast. These scripts help you lower bills, cut unnecessary spending, and keep more of what you earn without extreme budgeting.

⚡ Your Progress:
0 of 7
Smart money moves completed.
Start your spending reset today.
(function(){ var STORAGE_KEY = "bz_category_progress_v1"; var CATEGORY_KEY = "spending_leaks"; var TOTAL = 7; var CONFETTI_DURATION = 1200; var SCRIPT_META = { lifestyle:{num:1,emoji:"💸",name:"Save $500 w/ Lifestyle Tweaks"}, habit:{num:2,emoji:"☕",name:"Invisible Habit Tracker"}, convenience:{num:3,emoji:"🍕",name:"Convenience Tax Auditor"}, online:{num:4,emoji:"🛒",name:"Online Shopping Mirror"}, impulse:{num:5,emoji:"⏸️",name:"Impulse Buy Chiller (FOMO)"}, switch:{num:6,emoji:"💸",name:"Switch Internet/Phone Plan"}, overdraft:{num:7,emoji:"💸",name:"Overdraft Fee Waiver"} }; function readStore(){ try{ return JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; }catch(e){ return {}; } } function writeStore(store){ try{ localStorage.setItem(STORAGE_KEY, JSON.stringify(store)); }catch(e){} } function ensureCategory(store){ if(!store[CATEGORY_KEY]){ store[CATEGORY_KEY] = {}; } return store[CATEGORY_KEY]; } function countDone(categoryState){ var count = 0; Object.keys(SCRIPT_META).forEach(function(scriptId){ if(categoryState[scriptId] === true){ count++; } }); return count; } function getCompletedScripts(categoryState){ var completed = []; Object.keys(SCRIPT_META).forEach(function(scriptId){ if(categoryState[scriptId] === true){ completed.push({ id: scriptId, num: SCRIPT_META[scriptId].num, emoji: SCRIPT_META[scriptId].emoji, name: SCRIPT_META[scriptId].name }); } }); completed.sort(function(a,b){ return a.num - b.num; }); return completed; } function renderCompletedList(items, listNode){ if(!listNode) return; if(!items.length){ listNode.innerHTML = '
No money moves completed yet.
'; return; } listNode.innerHTML = ""; var wrap = document.createElement("div"); wrap.className = "bz-spending-completed-list-wrap"; items.forEach(function(item){ var row = document.createElement("div"); row.className = "bz-spending-completed-row"; var title = document.createElement("div"); title.className = "bz-spending-completed-title"; title.textContent = item.num + ". " + item.emoji + " " + item.name; row.appendChild(title); wrap.appendChild(row); }); listNode.appendChild(wrap); } function getDoneParam(){ try{ var url = new URL(window.location.href); return url.searchParams.get("done"); }catch(e){ return null; } } function cleanDoneParam(){ try{ var url = new URL(window.location.href); url.searchParams.delete("done"); history.replaceState({}, "", url.pathname + url.search + url.hash); }catch(e){} } function openOverlay(overlay){ if(!overlay) return; overlay.classList.add("bz-visible"); overlay.setAttribute("aria-hidden","false"); } function closeOverlay(overlay){ if(!overlay) return; overlay.classList.remove("bz-visible"); overlay.setAttribute("aria-hidden","true"); } function runConfetti(){ var layer = document.getElementById("bz-spending-confetti"); if(!layer) return; layer.innerHTML = ""; for(var i=0;i<22;i++){ var piece = document.createElement("div"); piece.className = "bz-spending-confetti-piece"; piece.style.left = (16 + Math.random()*68) + "%"; piece.style.top = (10 + Math.random()*10) + "px"; piece.style.setProperty("--x", ((Math.random()*150)-75) + "px"); piece.style.setProperty("--y", (26 + Math.random()*54) + "px"); piece.style.setProperty("--r", ((Math.random()*420)-210) + "deg"); piece.style.animationDelay = (Math.random()*80) + "ms"; piece.style.animationDuration = (850 + Math.random()*220) + "ms"; if(Math.random() > 0.55){ piece.style.width = "7px"; piece.style.height = "7px"; piece.style.borderRadius = "999px"; }else{ piece.style.width = "8px"; piece.style.height = "14px"; piece.style.borderRadius = "2px"; } layer.appendChild(piece); } setTimeout(function(){ layer.innerHTML = ""; }, CONFETTI_DURATION); } function boot(){ var root = document.getElementById("bz-category-progress-spending"); if(!root) return false; var fill = document.getElementById("bz-spending-mini-progress-fill"); var progressBar = document.getElementById("bz-spending-mini-progress"); var progressValue = document.getElementById("bz-spending-progress-value"); var progressSub = document.getElementById("bz-spending-progress-sub"); var dayline = document.getElementById("bz-spending-dayline"); var viewBtn = document.getElementById("bz-spending-view-btn"); var celebrateBtn = document.getElementById("bz-spending-celebrate-btn"); var completedOverlay = document.getElementById("bz-spending-completed-overlay"); var completedPop = document.getElementById("bz-spending-completed-pop"); var completedList = document.getElementById("bz-spending-completed-list"); var completedCount = document.getElementById("bz-spending-completed-count"); var completedClose = document.getElementById("bz-spending-completed-close"); function refreshSpendingProgress(){ var store = readStore(); var categoryState = ensureCategory(store); var done = countDone(categoryState); var percent = (done / TOTAL) * 100; var completedScripts = getCompletedScripts(categoryState); if(root){ var shimmerDuration = 8.6 + (done * 1.35); root.style.setProperty("--bz-shimmer-duration", shimmerDuration + "s"); root.style.setProperty("--bz-mobile-shimmer-duration", shimmerDuration + "s"); } if(fill){ fill.style.width = percent + "%"; } if(progressBar){ if(done === TOTAL){ progressBar.classList.add("bz-complete-pulse"); }else{ progressBar.classList.remove("bz-complete-pulse"); } } if(progressValue){ progressValue.textContent = done + " of " + TOTAL; } if(progressSub){ progressSub.textContent = "Smart money moves completed."; } if(dayline){ if(done <= 0){ dayline.textContent = "Start your spending reset today."; }else if(done === TOTAL){ dayline.textContent = "✔ Full loop complete. Quiet wins like this add up fast."; }else{ dayline.textContent = "✔ Script #" + done + " of your spending reset done."; } } if(completedCount){ completedCount.textContent = done + " / " + TOTAL + " complete"; } if(celebrateBtn){ if(done === TOTAL){ celebrateBtn.classList.add("bz-visible"); }else{ celebrateBtn.classList.remove("bz-visible"); } } renderCompletedList(completedScripts, completedList); } var store = readStore(); var categoryState = ensureCategory(store); var doneParam = getDoneParam(); if(doneParam && SCRIPT_META[doneParam]){ if(categoryState[doneParam] !== true){ categoryState[doneParam] = true; writeStore(store); } cleanDoneParam(); } refreshSpendingProgress(); if(viewBtn && !viewBtn.dataset.wired){ viewBtn.dataset.wired = "1"; viewBtn.addEventListener("click", function(e){ e.stopPropagation(); if(completedOverlay.classList.contains("bz-visible")) closeOverlay(completedOverlay); else openOverlay(completedOverlay); }); } if(celebrateBtn && !celebrateBtn.dataset.wired){ celebrateBtn.dataset.wired = "1"; celebrateBtn.addEventListener("click", function(e){ e.stopPropagation(); runConfetti(); }); } if(completedClose && !completedClose.dataset.wired){ completedClose.dataset.wired = "1"; completedClose.addEventListener("click", function(e){ e.stopPropagation(); closeOverlay(completedOverlay); }); } if(completedOverlay && !completedOverlay.dataset.wired){ completedOverlay.dataset.wired = "1"; completedOverlay.addEventListener("click", function(e){ if(e.target === completedOverlay){ closeOverlay(completedOverlay); } }); } if(completedPop && !completedPop.dataset.wired){ completedPop.dataset.wired = "1"; completedPop.addEventListener("click", function(e){ e.stopPropagation(); }); } window.addEventListener("storage", function(e){ if(e.key === STORAGE_KEY){ refreshSpendingProgress(); } }); document.addEventListener("visibilitychange", function(){ if(!document.hidden){ refreshSpendingProgress(); } }); document.addEventListener("keydown", function(e){ if(e.key === "Escape"){ closeOverlay(completedOverlay); } }); return true; } if(!boot()){ var tries = 0; var timer = setInterval(function(){ tries++; if(boot() || tries > 30){ clearInterval(timer); } }, 200); } })();
(function () { function forceTop() { if (window.location.hash) { history.replaceState(null, "", window.location.pathname + window.location.search); } window.scrollTo(0, 0); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; } window.addEventListener("load", function () { forceTop(); setTimeout(forceTop, 50); setTimeout(forceTop, 200); setTimeout(forceTop, 500); }); })();
Click me to go back home

Financial Reality Check

Understand how money actually works. These scripts explain things like taxes, paychecks, and financial basics in plain English so you can make smarter decisions with confidence.

⚡ Your Progress:
0 of 7
Smart money moves completed.
Start your financial reality check today.
(function(){ var STORAGE_KEY = "bz_category_progress_v1"; var CATEGORY_KEY = "reality_checks"; var TOTAL = 7; var CONFETTI_DURATION = 1200; var SCRIPT_META = { takehome:{num:8,emoji:"🧾",name:"Take-Home Pay Calculator"}, paycheck:{num:9,emoji:"💼",name:"First Paycheck Protector"}, taxes:{num:10,emoji:"🧭",name:"Income Tax Explainer"}, raise:{num:11,emoji:"📈",name:"Job Pay Raise Analyzer"}, trip:{num:12,emoji:"🧠",name:"Trip Budget Planner"}, savings:{num:13,emoji:"📍",name:"Trip Savings Countdown"}, hobby:{num:14,emoji:"🎯",name:"Is My Hobby Worth It?"} }; function readStore(){ try{ return JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; }catch(e){ return {}; } } function writeStore(store){ try{ localStorage.setItem(STORAGE_KEY, JSON.stringify(store)); }catch(e){} } function ensureCategory(store){ if(!store[CATEGORY_KEY]){ store[CATEGORY_KEY] = {}; } return store[CATEGORY_KEY]; } function countDone(categoryState){ var count = 0; Object.keys(SCRIPT_META).forEach(function(scriptId){ if(categoryState[scriptId] === true){ count++; } }); return count; } function getCompletedScripts(categoryState){ var completed = []; Object.keys(SCRIPT_META).forEach(function(scriptId){ if(categoryState[scriptId] === true){ completed.push({ id: scriptId, num: SCRIPT_META[scriptId].num, emoji: SCRIPT_META[scriptId].emoji, name: SCRIPT_META[scriptId].name }); } }); completed.sort(function(a,b){ return a.num - b.num; }); return completed; } function renderCompletedList(items, listNode){ if(!listNode) return; if(!items.length){ listNode.innerHTML = '
No money moves completed yet.
'; return; } listNode.innerHTML = ""; var wrap = document.createElement("div"); wrap.className = "bz-reality-completed-list-wrap"; items.forEach(function(item){ var row = document.createElement("div"); row.className = "bz-reality-completed-row"; var title = document.createElement("div"); title.className = "bz-reality-completed-title"; title.textContent = item.num + ". " + item.emoji + " " + item.name; row.appendChild(title); wrap.appendChild(row); }); listNode.appendChild(wrap); } function getDoneParam(){ try{ var url = new URL(window.location.href); return url.searchParams.get("done"); }catch(e){ return null; } } function cleanDoneParam(){ try{ var url = new URL(window.location.href); url.searchParams.delete("done"); history.replaceState({}, "", url.pathname + url.search + url.hash); }catch(e){} } function openOverlay(overlay){ if(!overlay) return; overlay.classList.add("bz-visible"); overlay.setAttribute("aria-hidden","false"); } function closeOverlay(overlay){ if(!overlay) return; overlay.classList.remove("bz-visible"); overlay.setAttribute("aria-hidden","true"); } function runConfetti(){ var layer = document.getElementById("bz-reality-confetti"); if(!layer) return; layer.innerHTML = ""; for(var i=0;i<22;i++){ var piece = document.createElement("div"); piece.className = "bz-reality-confetti-piece"; piece.style.left = (16 + Math.random()*68) + "%"; piece.style.top = (10 + Math.random()*10) + "px"; piece.style.setProperty("--x", ((Math.random()*150)-75) + "px"); piece.style.setProperty("--y", (26 + Math.random()*54) + "px"); piece.style.setProperty("--r", ((Math.random()*420)-210) + "deg"); piece.style.animationDelay = (Math.random()*80) + "ms"; piece.style.animationDuration = (850 + Math.random()*220) + "ms"; if(Math.random() > 0.55){ piece.style.width = "7px"; piece.style.height = "7px"; piece.style.borderRadius = "999px"; }else{ piece.style.width = "8px"; piece.style.height = "14px"; piece.style.borderRadius = "2px"; } layer.appendChild(piece); } setTimeout(function(){ layer.innerHTML = ""; }, CONFETTI_DURATION); } function boot(){ var root = document.getElementById("bz-category-progress-reality"); if(!root) return false; var fill = document.getElementById("bz-reality-mini-progress-fill"); var progressBar = document.getElementById("bz-reality-mini-progress"); var progressValue = document.getElementById("bz-reality-progress-value"); var progressSub = document.getElementById("bz-reality-progress-sub"); var dayline = document.getElementById("bz-reality-dayline"); var viewBtn = document.getElementById("bz-reality-view-btn"); var celebrateBtn = document.getElementById("bz-reality-celebrate-btn"); var completedOverlay = document.getElementById("bz-reality-completed-overlay"); var completedPop = document.getElementById("bz-reality-completed-pop"); var completedList = document.getElementById("bz-reality-completed-list"); var completedCount = document.getElementById("bz-reality-completed-count"); var completedClose = document.getElementById("bz-reality-completed-close"); function refreshRealityProgress(){ var store = readStore(); var categoryState = ensureCategory(store); var done = countDone(categoryState); var percent = (done / TOTAL) * 100; var completedScripts = getCompletedScripts(categoryState); if(root){ var shimmerDuration = 8.6 + (done * 1.35); root.style.setProperty("--bz-reality-shimmer-duration", shimmerDuration + "s"); root.style.setProperty("--bz-reality-mobile-shimmer-duration", shimmerDuration + "s"); } if(fill){ fill.style.width = percent + "%"; } if(progressBar){ if(done === TOTAL){ progressBar.classList.add("bz-complete-pulse"); }else{ progressBar.classList.remove("bz-complete-pulse"); } } if(progressValue){ progressValue.textContent = done + " of " + TOTAL; } if(progressSub){ progressSub.textContent = "Smart money moves completed."; } if(dayline){ if(done <= 0){ dayline.textContent = "Start your financial reality check today."; }else if(done === TOTAL){ dayline.textContent = "✔ Full loop complete. Little decisions like this change the trajectory."; }else{ dayline.textContent = "✔ Script #" + done + " of your financial reality check done."; } } if(completedCount){ completedCount.textContent = done + " / " + TOTAL + " complete"; } if(celebrateBtn){ if(done === TOTAL){ celebrateBtn.classList.add("bz-visible"); }else{ celebrateBtn.classList.remove("bz-visible"); } } renderCompletedList(completedScripts, completedList); } var store = readStore(); var categoryState = ensureCategory(store); var doneParam = getDoneParam(); if(doneParam && SCRIPT_META[doneParam]){ if(categoryState[doneParam] !== true){ categoryState[doneParam] = true; writeStore(store); } cleanDoneParam(); } refreshRealityProgress(); if(viewBtn && !viewBtn.dataset.wired){ viewBtn.dataset.wired = "1"; viewBtn.addEventListener("click", function(e){ e.stopPropagation(); if(completedOverlay.classList.contains("bz-visible")) closeOverlay(completedOverlay); else openOverlay(completedOverlay); }); } if(celebrateBtn && !celebrateBtn.dataset.wired){ celebrateBtn.dataset.wired = "1"; celebrateBtn.addEventListener("click", function(e){ e.stopPropagation(); runConfetti(); }); } if(completedClose && !completedClose.dataset.wired){ completedClose.dataset.wired = "1"; completedClose.addEventListener("click", function(e){ e.stopPropagation(); closeOverlay(completedOverlay); }); } if(completedOverlay && !completedOverlay.dataset.wired){ completedOverlay.dataset.wired = "1"; completedOverlay.addEventListener("click", function(e){ if(e.target === completedOverlay){ closeOverlay(completedOverlay); } }); } if(completedPop && !completedPop.dataset.wired){ completedPop.dataset.wired = "1"; completedPop.addEventListener("click", function(e){ e.stopPropagation(); }); } window.addEventListener("storage", function(e){ if(e.key === STORAGE_KEY){ refreshRealityProgress(); } }); document.addEventListener("visibilitychange", function(){ if(!document.hidden){ refreshRealityProgress(); } }); document.addEventListener("keydown", function(e){ if(e.key === "Escape"){ closeOverlay(completedOverlay); } }); return true; } if(!boot()){ var tries = 0; var timer = setInterval(function(){ tries++; if(boot() || tries > 30){ clearInterval(timer); } }, 200); } })();
(function () { function forceTop() { if (window.location.hash) { history.replaceState(null, "", window.location.pathname + window.location.search); } window.scrollTo(0, 0); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; } window.addEventListener("load", function () { forceTop(); setTimeout(forceTop, 50); setTimeout(forceTop, 200); setTimeout(forceTop, 500); }); })();
Click me to go back home

Debt Fixes & Emergency Funds

Handle financial stress and unexpected bills. These scripts help you negotiate rates, manage debt, and build a safety net so one bad surprise doesn’t knock you off track.

⚡ Your Progress:
0 of 6
Smart money moves completed.
Start your debt cleanup system today.
(function(){ var STORAGE_KEY = "bz_category_progress_v1"; var CATEGORY_KEY = "debt_fixes"; var TOTAL = 6; var CONFETTI_DURATION = 1200; var SCRIPT_META = { emergency:{num:15,emoji:"🛟",name:"Emergency Fund Builder"}, interest:{num:16,emoji:"⚠️",name:"Credit Card Interest Trap"}, credit:{num:17,emoji:"💳",name:"Credit Card Payoff Plan"}, student:{num:18,emoji:"🎓",name:"Student Loan Strategizer"}, insurance:{num:19,emoji:"🛡️",name:"Insurance Plan Decoder"}, hospital:{num:20,emoji:"🛟",name:"Hospital Bill Helper"} }; function readStore(){ try{ return JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; }catch(e){ return {}; } } function writeStore(store){ try{ localStorage.setItem(STORAGE_KEY, JSON.stringify(store)); }catch(e){} } function ensureCategory(store){ if(!store[CATEGORY_KEY]){ store[CATEGORY_KEY] = {}; } return store[CATEGORY_KEY]; } function countDone(categoryState){ var count = 0; Object.keys(SCRIPT_META).forEach(function(scriptId){ if(categoryState[scriptId] === true){ count++; } }); return count; } function getCompletedScripts(categoryState){ var completed = []; Object.keys(SCRIPT_META).forEach(function(scriptId){ if(categoryState[scriptId] === true){ completed.push({ id: scriptId, num: SCRIPT_META[scriptId].num, emoji: SCRIPT_META[scriptId].emoji, name: SCRIPT_META[scriptId].name }); } }); completed.sort(function(a,b){ return a.num - b.num; }); return completed; } function renderCompletedList(items, listNode){ if(!listNode) return; if(!items.length){ listNode.innerHTML = '
No money moves completed yet.
'; return; } listNode.innerHTML = ""; var wrap = document.createElement("div"); wrap.className = "bz-debt-completed-list-wrap"; items.forEach(function(item){ var row = document.createElement("div"); row.className = "bz-debt-completed-row"; var title = document.createElement("div"); title.className = "bz-debt-completed-title"; title.textContent = item.num + ". " + item.emoji + " " + item.name; row.appendChild(title); wrap.appendChild(row); }); listNode.appendChild(wrap); } function getDoneParam(){ try{ var url = new URL(window.location.href); return url.searchParams.get("done"); }catch(e){ return null; } } function cleanDoneParam(){ try{ var url = new URL(window.location.href); url.searchParams.delete("done"); history.replaceState({}, "", url.pathname + url.search + url.hash); }catch(e){} } function openOverlay(overlay){ if(!overlay) return; overlay.classList.add("bz-visible"); overlay.setAttribute("aria-hidden","false"); } function closeOverlay(overlay){ if(!overlay) return; overlay.classList.remove("bz-visible"); overlay.setAttribute("aria-hidden","true"); } function runConfetti(){ var layer = document.getElementById("bz-debt-confetti"); if(!layer) return; layer.innerHTML = ""; for(var i=0;i<22;i++){ var piece = document.createElement("div"); piece.className = "bz-debt-confetti-piece"; piece.style.left = (16 + Math.random()*68) + "%"; piece.style.top = (10 + Math.random()*10) + "px"; piece.style.setProperty("--x", ((Math.random()*150)-75) + "px"); piece.style.setProperty("--y", (26 + Math.random()*54) + "px"); piece.style.setProperty("--r", ((Math.random()*420)-210) + "deg"); piece.style.animationDelay = (Math.random()*80) + "ms"; piece.style.animationDuration = (850 + Math.random()*220) + "ms"; if(Math.random() > 0.55){ piece.style.width = "7px"; piece.style.height = "7px"; piece.style.borderRadius = "999px"; }else{ piece.style.width = "8px"; piece.style.height = "14px"; piece.style.borderRadius = "2px"; } layer.appendChild(piece); } setTimeout(function(){ layer.innerHTML = ""; }, CONFETTI_DURATION); } function boot(){ var root = document.getElementById("bz-category-progress-debt"); if(!root) return false; var fill = document.getElementById("bz-debt-mini-progress-fill"); var progressBar = document.getElementById("bz-debt-mini-progress"); var progressValue = document.getElementById("bz-debt-progress-value"); var progressSub = document.getElementById("bz-debt-progress-sub"); var dayline = document.getElementById("bz-debt-dayline"); var viewBtn = document.getElementById("bz-debt-view-btn"); var celebrateBtn = document.getElementById("bz-debt-celebrate-btn"); var completedOverlay = document.getElementById("bz-debt-completed-overlay"); var completedPop = document.getElementById("bz-debt-completed-pop"); var completedList = document.getElementById("bz-debt-completed-list"); var completedCount = document.getElementById("bz-debt-completed-count"); var completedClose = document.getElementById("bz-debt-completed-close"); function refreshDebtProgress(){ var store = readStore(); var categoryState = ensureCategory(store); var done = countDone(categoryState); var percent = (done / TOTAL) * 100; var completedScripts = getCompletedScripts(categoryState); if(root){ var shimmerDuration = 8.6 + (done * 1.35); root.style.setProperty("--bz-debt-shimmer-duration", shimmerDuration + "s"); root.style.setProperty("--bz-debt-mobile-shimmer-duration", shimmerDuration + "s"); } if(fill){ fill.style.width = percent + "%"; } if(progressBar){ if(done === TOTAL){ progressBar.classList.add("bz-complete-pulse"); }else{ progressBar.classList.remove("bz-complete-pulse"); } } if(progressValue){ progressValue.textContent = done + " of " + TOTAL; } if(progressSub){ progressSub.textContent = "Smart money moves completed."; } if(dayline){ if(done <= 0){ dayline.textContent = "Start your debt cleanup system today."; }else if(done === TOTAL){ dayline.textContent = "✔ Full loop complete. This is how control starts to feel normal."; }else{ dayline.textContent = "✔ Script #" + done + " of your debt cleanup system done."; } } if(completedCount){ completedCount.textContent = done + " / " + TOTAL + " complete"; } if(celebrateBtn){ if(done === TOTAL){ celebrateBtn.classList.add("bz-visible"); }else{ celebrateBtn.classList.remove("bz-visible"); } } renderCompletedList(completedScripts, completedList); } var store = readStore(); var categoryState = ensureCategory(store); var doneParam = getDoneParam(); if(doneParam && SCRIPT_META[doneParam]){ if(categoryState[doneParam] !== true){ categoryState[doneParam] = true; writeStore(store); } cleanDoneParam(); } refreshDebtProgress(); if(viewBtn && !viewBtn.dataset.wired){ viewBtn.dataset.wired = "1"; viewBtn.addEventListener("click", function(e){ e.stopPropagation(); if(completedOverlay.classList.contains("bz-visible")) closeOverlay(completedOverlay); else openOverlay(completedOverlay); }); } if(celebrateBtn && !celebrateBtn.dataset.wired){ celebrateBtn.dataset.wired = "1"; celebrateBtn.addEventListener("click", function(e){ e.stopPropagation(); runConfetti(); }); } if(completedClose && !completedClose.dataset.wired){ completedClose.dataset.wired = "1"; completedClose.addEventListener("click", function(e){ e.stopPropagation(); closeOverlay(completedOverlay); }); } if(completedOverlay && !completedOverlay.dataset.wired){ completedOverlay.dataset.wired = "1"; completedOverlay.addEventListener("click", function(e){ if(e.target === completedOverlay){ closeOverlay(completedOverlay); } }); } if(completedPop && !completedPop.dataset.wired){ completedPop.dataset.wired = "1"; completedPop.addEventListener("click", function(e){ e.stopPropagation(); }); } window.addEventListener("storage", function(e){ if(e.key === STORAGE_KEY){ refreshDebtProgress(); } }); document.addEventListener("visibilitychange", function(){ if(!document.hidden){ refreshDebtProgress(); } }); document.addEventListener("keydown", function(e){ if(e.key === "Escape"){ closeOverlay(completedOverlay); } }); [ document.querySelector('#bz-menu_1 .bz-toggle'), document.getElementById('bz-contact-btn'), document.getElementById('bz-share-btn') ].forEach(function(node){ if(!node) return; node.addEventListener('click', function(){ closeOverlay(completedOverlay); }, true); }); return true; } if(!boot()){ var tries = 0; var timer = setInterval(function(){ tries++; if(boot() || tries > 30){ clearInterval(timer); } }, 200); } })();
(function () { function forceTop() { if (window.location.hash) { history.replaceState(null, "", window.location.pathname + window.location.search); } window.scrollTo(0, 0); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; } window.addEventListener("load", function () { forceTop(); setTimeout(forceTop, 50); setTimeout(forceTop, 200); setTimeout(forceTop, 500); }); })();
Click me to go back home

Big Life Financial Decisions

Avoid expensive mistakes. These scripts help you think through major financial decisions like jobs, travel, housing, and large purchases before the money is spent.

⚡ Your Progress:
0 of 5
Smart money moves completed.
Start your big life decision system today.
(function(){ var STORAGE_KEY = "bz_category_progress_v1"; var CATEGORY_KEY = "big_life"; var TOTAL = 5; var CONFETTI_DURATION = 1200; var SCRIPT_META = { car:{num:21,emoji:"🚗",name:"How Much Car Can I Get?"}, house:{num:22,emoji:"🏠",name:"How Much House Can I Get?"}, large:{num:23,emoji:"🧮",name:"Large Purchases Referee"}, job:{num:24,emoji:"⚖️",name:"Job A vs Job B Comparer"}, salary:{num:25,emoji:"🧠",name:"Job Salary Negotiator"} }; function readStore(){ try{return JSON.parse(localStorage.getItem(STORAGE_KEY))||{};}catch(e){return{};} } function writeStore(store){ try{localStorage.setItem(STORAGE_KEY,JSON.stringify(store));}catch(e){} } function ensureCategory(store){ if(!store[CATEGORY_KEY]) store[CATEGORY_KEY]={}; return store[CATEGORY_KEY]; } function countDone(state){ var c=0; Object.keys(SCRIPT_META).forEach(function(id){ if(state[id]===true) c++; }); return c; } function getCompleted(state){ var out=[]; Object.keys(SCRIPT_META).forEach(function(id){ if(state[id]){ out.push({ num:SCRIPT_META[id].num, emoji:SCRIPT_META[id].emoji, name:SCRIPT_META[id].name }); } }); out.sort(function(a,b){return a.num-b.num;}); return out; } function render(list,node){ if(!node) return; if(!list.length){ node.innerHTML='
No money moves completed yet.
'; return; } node.innerHTML=""; var wrap=document.createElement("div"); wrap.className="bz-big-completed-list-wrap"; list.forEach(function(it){ var row=document.createElement("div"); row.className="bz-big-completed-row"; var t=document.createElement("div"); t.className="bz-big-completed-title"; t.textContent=it.num+". "+it.emoji+" "+it.name; row.appendChild(t); wrap.appendChild(row); }); node.appendChild(wrap); } function getDoneParam(){ try{ var url=new URL(window.location.href); return url.searchParams.get("done"); }catch(e){ return null; } } function cleanDoneParam(){ try{ var url=new URL(window.location.href); url.searchParams.delete("done"); history.replaceState({}, "", url.pathname + url.search + url.hash); }catch(e){} } function open(o){ if(!o) return; o.classList.add("bz-visible"); o.setAttribute("aria-hidden","false"); } function close(o){ if(!o) return; o.classList.remove("bz-visible"); o.setAttribute("aria-hidden","true"); } function runConfetti(){ var layer=document.getElementById("bz-big-confetti"); if(!layer) return; layer.innerHTML=""; for(var i=0;i<22;i++){ var p=document.createElement("div"); p.className="bz-big-confetti-piece"; p.style.left=(16 + Math.random()*68)+"%"; p.style.top=(10 + Math.random()*10)+"px"; p.style.setProperty("--x",((Math.random()*150)-75)+"px"); p.style.setProperty("--y",(26 + Math.random()*54)+"px"); p.style.setProperty("--r",((Math.random()*420)-210)+"deg"); p.style.animationDelay=(Math.random()*80)+"ms"; p.style.animationDuration=(850 + Math.random()*220)+"ms"; if(Math.random()>0.55){ p.style.width="7px"; p.style.height="7px"; p.style.borderRadius="999px"; }else{ p.style.width="8px"; p.style.height="14px"; p.style.borderRadius="2px"; } layer.appendChild(p); } setTimeout(function(){ layer.innerHTML=""; },CONFETTI_DURATION); } function boot(){ var root=document.getElementById("bz-category-progress-big"); if(!root) return false; var fill=document.getElementById("bz-big-mini-progress-fill"); var progressBar=document.getElementById("bz-big-mini-progress"); var value=document.getElementById("bz-big-progress-value"); var progressSub=document.getElementById("bz-big-progress-sub"); var dayline=document.getElementById("bz-big-dayline"); var viewBtn=document.getElementById("bz-big-view-btn"); var celebrateBtn=document.getElementById("bz-big-celebrate-btn"); var overlay=document.getElementById("bz-big-completed-overlay"); var pop=document.getElementById("bz-big-completed-pop"); var list=document.getElementById("bz-big-completed-list"); var count=document.getElementById("bz-big-completed-count"); var closeBtn=document.getElementById("bz-big-completed-close"); function refresh(){ var store=readStore(); var state=ensureCategory(store); var done=countDone(state); var pct=(done/TOTAL)*100; if(root){ var shimmerDuration=8.6+(done*1.35); root.style.setProperty("--bz-big-shimmer-duration", shimmerDuration + "s"); root.style.setProperty("--bz-big-mobile-shimmer-duration", shimmerDuration + "s"); } if(fill) fill.style.width=pct+"%"; if(progressBar){ if(done===TOTAL){ progressBar.classList.add("bz-complete-pulse"); }else{ progressBar.classList.remove("bz-complete-pulse"); } } if(value) value.textContent=done+" of "+TOTAL; if(progressSub) progressSub.textContent="Smart money moves completed."; if(dayline){ if(done<=0){ dayline.textContent="Start your big life decision system today."; }else if(done===TOTAL){ dayline.textContent="✔ Full loop complete. This is how things start working in your favor."; }else{ dayline.textContent="✔ Script #"+done+" of your decision system done."; } } if(count) count.textContent=done+" / "+TOTAL+" complete"; if(celebrateBtn){ if(done===TOTAL){ celebrateBtn.classList.add("bz-visible"); }else{ celebrateBtn.classList.remove("bz-visible"); } } render(getCompleted(state),list); } var store=readStore(); var state=ensureCategory(store); var doneParam=getDoneParam(); if(doneParam && SCRIPT_META[doneParam]){ if(state[doneParam]!==true){ state[doneParam]=true; writeStore(store); } cleanDoneParam(); } refresh(); if(viewBtn && !viewBtn.dataset.wired){ viewBtn.dataset.wired="1"; viewBtn.addEventListener("click",function(e){ e.stopPropagation(); overlay.classList.contains("bz-visible") ? close(overlay) : open(overlay); }); } if(celebrateBtn && !celebrateBtn.dataset.wired){ celebrateBtn.dataset.wired="1"; celebrateBtn.addEventListener("click",function(e){ e.stopPropagation(); runConfetti(); }); } if(closeBtn && !closeBtn.dataset.wired){ closeBtn.dataset.wired="1"; closeBtn.addEventListener("click",function(e){ e.stopPropagation(); close(overlay); }); } if(overlay && !overlay.dataset.wired){ overlay.dataset.wired="1"; overlay.addEventListener("click",function(e){ if(e.target===overlay) close(overlay); }); } if(pop && !pop.dataset.wired){ pop.dataset.wired="1"; pop.addEventListener("click",function(e){ e.stopPropagation(); }); } window.addEventListener("storage",function(e){ if(e.key===STORAGE_KEY) refresh(); }); document.addEventListener("visibilitychange",function(){ if(!document.hidden) refresh(); }); document.addEventListener("keydown",function(e){ if(e.key==="Escape") close(overlay); }); return true; } if(!boot()){ var tries=0; var timer=setInterval(function(){ tries++; if(boot() || tries>30){ clearInterval(timer); } },200); } })();
(function () { function forceTop() { if (window.location.hash) { history.replaceState(null, "", window.location.pathname + window.location.search); } window.scrollTo(0, 0); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; } window.addEventListener("load", function () { forceTop(); setTimeout(forceTop, 50); setTimeout(forceTop, 200); setTimeout(forceTop, 500); }); })();
Click me to go back home

Growth & Compounding Wins

Build momentum over time. These scripts focus on investing, credit building, and financial habits that quietly grow your wealth for years to come.

⚡ Your Progress:
0 of 6
Smart money moves completed.
Start your growth and compounding system.
(function(){ var STORAGE_KEY = "bz_category_progress_v1"; var CATEGORY_KEY = "growth_wins"; var TOTAL = 6; var CONFETTI_DURATION = 1200; var SCRIPT_META = { index:{num:26,emoji:"📍",name:"Index Fund Starter"}, score:{num:27,emoji:"🌱",name:"Raise My Credit Score Fast"}, match:{num:28,emoji:"🎁",name:"Employer Match Maximizer"}, retire:{num:29,emoji:"🏖️",name:"How Much Money to Retire"}, inheritance:{num:30,emoji:"🪙",name:"Inheritance: Invest vs Debt"}, degree:{num:31,emoji:"📘",name:"Degree ROI Calculator"} }; function readStore(){ try{return JSON.parse(localStorage.getItem(STORAGE_KEY))||{};}catch(e){return{};} } function writeStore(store){ try{localStorage.setItem(STORAGE_KEY,JSON.stringify(store));}catch(e){} } function ensureCategory(store){ if(!store[CATEGORY_KEY]) store[CATEGORY_KEY]={}; return store[CATEGORY_KEY]; } function countDone(state){ var c=0; Object.keys(SCRIPT_META).forEach(function(id){ if(state[id]===true) c++; }); return c; } function getCompleted(state){ var out=[]; Object.keys(SCRIPT_META).forEach(function(id){ if(state[id]){ out.push({ num:SCRIPT_META[id].num, emoji:SCRIPT_META[id].emoji, name:SCRIPT_META[id].name }); } }); out.sort(function(a,b){return a.num-b.num;}); return out; } function render(list,node){ if(!node) return; if(!list.length){ node.innerHTML='
No money moves completed yet.
'; return; } node.innerHTML=""; var wrap=document.createElement("div"); wrap.className="bz-growth-completed-list-wrap"; list.forEach(function(it){ var row=document.createElement("div"); row.className="bz-growth-completed-row"; var t=document.createElement("div"); t.className="bz-growth-completed-title"; t.textContent=it.num+". "+it.emoji+" "+it.name; row.appendChild(t); wrap.appendChild(row); }); node.appendChild(wrap); } function getDoneParam(){ try{ var url=new URL(window.location.href); return url.searchParams.get("done"); }catch(e){ return null; } } function cleanDoneParam(){ try{ var url=new URL(window.location.href); url.searchParams.delete("done"); history.replaceState({}, "", url.pathname + url.search + url.hash); }catch(e){} } function open(o){ if(!o) return; o.classList.add("bz-visible"); o.setAttribute("aria-hidden","false"); } function close(o){ if(!o) return; o.classList.remove("bz-visible"); o.setAttribute("aria-hidden","true"); } function runConfetti(){ var layer=document.getElementById("bz-growth-confetti"); if(!layer) return; layer.innerHTML=""; for(var i=0;i<22;i++){ var p=document.createElement("div"); p.className="bz-growth-confetti-piece"; p.style.left=(16 + Math.random()*68)+"%"; p.style.top=(10 + Math.random()*10)+"px"; p.style.setProperty("--x",((Math.random()*150)-75)+"px"); p.style.setProperty("--y",(26 + Math.random()*54)+"px"); p.style.setProperty("--r",((Math.random()*420)-210)+"deg"); p.style.animationDelay=(Math.random()*80)+"ms"; p.style.animationDuration=(850 + Math.random()*220)+"ms"; if(Math.random()>0.55){ p.style.width="7px"; p.style.height="7px"; p.style.borderRadius="999px"; }else{ p.style.width="8px"; p.style.height="14px"; p.style.borderRadius="2px"; } layer.appendChild(p); } setTimeout(function(){ layer.innerHTML=""; },CONFETTI_DURATION); } function boot(){ var root=document.getElementById("bz-category-progress-growth"); if(!root) return false; var fill=document.getElementById("bz-growth-mini-progress-fill"); var progressBar=document.getElementById("bz-growth-mini-progress"); var value=document.getElementById("bz-growth-progress-value"); var progressSub=document.getElementById("bz-growth-progress-sub"); var dayline=document.getElementById("bz-growth-dayline"); var viewBtn=document.getElementById("bz-growth-view-btn"); var celebrateBtn=document.getElementById("bz-growth-celebrate-btn"); var overlay=document.getElementById("bz-growth-completed-overlay"); var pop=document.getElementById("bz-growth-completed-pop"); var list=document.getElementById("bz-growth-completed-list"); var count=document.getElementById("bz-growth-completed-count"); var closeBtn=document.getElementById("bz-growth-completed-close"); function refresh(){ var store=readStore(); var state=ensureCategory(store); var done=countDone(state); var pct=(done/TOTAL)*100; if(root){ var shimmerDuration=8.6+(done*1.35); root.style.setProperty("--bz-growth-shimmer-duration", shimmerDuration + "s"); root.style.setProperty("--bz-growth-mobile-shimmer-duration", shimmerDuration + "s"); } if(fill) fill.style.width=pct+"%"; if(progressBar){ if(done===TOTAL){ progressBar.classList.add("bz-complete-pulse"); }else{ progressBar.classList.remove("bz-complete-pulse"); } } if(value) value.textContent=done+" of "+TOTAL; if(progressSub) progressSub.textContent="Smart money moves completed."; if(dayline){ if(done<=0){ dayline.textContent="Start your growth and compounding system."; }else if(done===TOTAL){ dayline.textContent="✔ Full loop complete. You’re stacking wins most people overlook."; }else{ dayline.textContent="✔ Script #"+done+" of your growth system done."; } } if(count) count.textContent=done+" / "+TOTAL+" complete"; if(celebrateBtn){ if(done===TOTAL){ celebrateBtn.classList.add("bz-visible"); }else{ celebrateBtn.classList.remove("bz-visible"); } } render(getCompleted(state),list); } var store=readStore(); var state=ensureCategory(store); var doneParam=getDoneParam(); if(doneParam && SCRIPT_META[doneParam]){ if(state[doneParam]!==true){ state[doneParam]=true; writeStore(store); } cleanDoneParam(); } refresh(); if(viewBtn && !viewBtn.dataset.wired){ viewBtn.dataset.wired="1"; viewBtn.addEventListener("click",function(e){ e.stopPropagation(); overlay.classList.contains("bz-visible") ? close(overlay) : open(overlay); }); } if(celebrateBtn && !celebrateBtn.dataset.wired){ celebrateBtn.dataset.wired="1"; celebrateBtn.addEventListener("click",function(e){ e.stopPropagation(); runConfetti(); }); } if(closeBtn && !closeBtn.dataset.wired){ closeBtn.dataset.wired="1"; closeBtn.addEventListener("click",function(e){ e.stopPropagation(); close(overlay); }); } if(overlay && !overlay.dataset.wired){ overlay.dataset.wired="1"; overlay.addEventListener("click",function(e){ if(e.target===overlay) close(overlay); }); } if(pop && !pop.dataset.wired){ pop.dataset.wired="1"; pop.addEventListener("click",function(e){ e.stopPropagation(); }); } window.addEventListener("storage",function(e){ if(e.key===STORAGE_KEY) refresh(); }); document.addEventListener("visibilitychange",function(){ if(!document.hidden) refresh(); }); document.addEventListener("keydown",function(e){ if(e.key==="Escape") close(overlay); }); return true; } if(!boot()){ var tries=0; var timer=setInterval(function(){ tries++; if(boot() || tries>30){ clearInterval(timer); } },200); } })();
(function () { function forceTop() { if (window.location.hash) { history.replaceState(null, "", window.location.pathname + window.location.search); } window.scrollTo(0, 0); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; } window.addEventListener("load", function () { forceTop(); setTimeout(forceTop, 50); setTimeout(forceTop, 200); setTimeout(forceTop, 500); }); })();
Welcome to Benji Finance!
(function(){ var bubble = document.getElementById("welcome_bubble_01"); var textNode = document.getElementById("welcome_bubble_text_01"); if(!bubble || !textNode) return; var MESSAGES = [ "Welcome to Benji Finance!", "Why didn't they ever teach this in school?!", "Upgrade your relationship with money.", "Personal finance? Totally doable.", "Spend less. Save more. Invest the rest.", "Let AI work with you, not against you.", "Smarter money moves begin here.", "No logins. No tracking. No data collected.", "Turn ‘I Should’ into ‘Done'.", "Let’s make dealing with money easier.", "You came to the right place.", "Your future self will thank you.", "Good choices, better habits.", "Money decisions will hit different.", "AI Scripts for Everyday Wins", "Benji-Z? Who's Benji-Z?!", "Use anywhere. No apps required. Just Wi-Fi.", "Friendly finance > Stressful time." ]; var currentIndex = 0; var bubbleTimer = null; textNode.textContent = MESSAGES[currentIndex]; function getRandomDelay(){ return Math.floor(Math.random() * 15001) + 10000; } function pickNextIndex(){ if(MESSAGES.length <= 1) return 0; var next = currentIndex; while(next === currentIndex){ next = Math.floor(Math.random() * MESSAGES.length); } return next; } function scheduleNext(){ clearTimeout(bubbleTimer); bubbleTimer = setTimeout(function(){ swapMessage(); }, getRandomDelay()); } function swapMessage(){ bubble.classList.remove("bz-swap-in"); bubble.classList.add("bz-swap-out"); setTimeout(function(){ currentIndex = pickNextIndex(); textNode.textContent = MESSAGES[currentIndex]; bubble.classList.remove("bz-swap-out"); bubble.classList.add("bz-swap-in"); setTimeout(function(){ bubble.classList.remove("bz-swap-in"); }, 340); scheduleNext(); }, 320); } scheduleNext(); })();

3 Free AI Finance Scripts

Unlock All 35+ AI Scripts Now Launch Price • $10
One-time purchase • Free updates
(function () { function forceTop() { if (window.location.hash) { history.replaceState(null, "", window.location.pathname + window.location.search); } window.scrollTo(0, 0); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; } window.addEventListener("load", function () { forceTop(); setTimeout(forceTop, 50); setTimeout(forceTop, 200); setTimeout(forceTop, 500); }); })();

🌱 Raise My Credit Score Fast

🌱 Growth & Compounding Wins
📍The Problem

What’s the fastest way to improve my credit scorethat actually works?

⚡️Instant AI Script

💡 Improve Your Credit Score With the Highest-Impact Moves First

This script helps you analyze your credit utilization, see what payoff targets could help most, and build a simple plan to improve your score over the next few months.

🧾 Your Credit Snapshot (Example):

Current Credit Score Estimate: 642
Card 1: Chase Freedom Unlimited
Card 1 Balance: $1,850
Card 1 Limit: $4,000
Card 2: Capital One Quicksilver
Card 2 Balance: $620
Card 2 Limit: $3,000
Missed or Late Payments in Last Two Years: no

🧠 What GPT Helps You Figure Out:

1) Where does your credit stand now?
Start with your estimated credit score, recent late payments, and each card’s balance and credit limit.

2) How much of your available credit are you using?
Calculate your total credit utilization across all cards.

3) How much would you need to pay down?
See the amounts needed to reach 30% and 10% utilization.

4) Which actions could help the most?
Prioritize lowering balances, paying on time, keeping older accounts open, and avoiding unnecessary credit applications.

5) What improvement might be realistic over the next few months?
Get a practical outlook based on your current credit profile—without promising a specific score increase.

At the End, You’ll Get:

- 1 clear breakdown of your current credit utilization
- 2 specific paydown targets for reaching 30% and 10%
- 1 prioritized action plan for the next few months
- 1 realistic insight into what may help improve your credit score fastest

✔ Copied to clipboard!
Very nice! Try another script or buy the full suite now!
(function(){ var STORAGE_KEY="bz_category_progress_v1"; var CATEGORY_KEY="growth_wins"; var SCRIPT_ID="script1"; var btn=document.getElementById("bz-main-btn-script1"); var hidden=document.getElementById("bz-hidden-script-script1"); var note=document.getElementById("bz-copy-note-script1"); var returnWrap=document.getElementById("bz-return-wrap-script1"); var card=document.getElementById("bz-script-script1"); var fireworks=document.getElementById("bz-fireworks-script1"); var state=1; var noteTimer1=null; var noteTimer2=null; /* SAFETY GUARD */ if(!btn || !hidden || !note || !returnWrap || !card || !fireworks){ return; } /* HIGHLIGHT WHEN ARRIVING FROM JUMP LINK */ if(window.location.hash === "#score"){ setTimeout(function(){ card.classList.add("bz-arrival-highlight"); setTimeout(function(){ card.classList.remove("bz-arrival-highlight"); },1200); },250); } function readStore(){ try{ return JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; }catch(e){ return {}; } } function writeStore(store){ try{ localStorage.setItem( STORAGE_KEY, JSON.stringify(store) ); }catch(e){} } function markComplete(){ var store=readStore(); if(!store[CATEGORY_KEY]){ store[CATEGORY_KEY]={}; } store[CATEGORY_KEY][SCRIPT_ID]=true; writeStore(store); } function burstFireworks(){ for(var i=0;i<12;i++){ var p=document.createElement("div"); p.className="bz-firework-piece"; var angle=(Math.PI*2/12)*i + (Math.random()*.16-.08); var distance=20 + Math.random()*18; var x=Math.cos(angle)*distance; var y=Math.sin(angle)*distance; p.style.setProperty("--x",x+"px"); p.style.setProperty("--y",y+"px"); if(i%3===0){ p.style.width="5px"; p.style.height="5px"; } if(i%4===0){ p.style.background="#fde68a"; } if(i%5===0){ p.style.background="#fff7cc"; } fireworks.appendChild(p); setTimeout((function(node){ return function(){ if(node.parentNode){ node.parentNode.removeChild(node); } }; })(p),620); } } function showCopiedThenGuidance(){ clearTimeout(noteTimer1); clearTimeout(noteTimer2); note.textContent="✔ Copied to clipboard!"; note.style.opacity=1; noteTimer1=setTimeout(function(){ note.style.opacity=0; noteTimer2=setTimeout(function(){ note.textContent="For guidance only. Use your own judgment."; note.style.opacity=1; },200); },1500); } function resetNote(){ clearTimeout(noteTimer1); clearTimeout(noteTimer2); note.style.opacity=0; note.textContent="✔ Copied to clipboard!"; } function updateButtonToOpen(){ btn.classList.remove("bz-btn-pulse"); btn.textContent="Open GPT + Paste!"; btn.style.background="#121826"; btn.style.border="1.5px solid #ffffff"; btn.style.color="#ffffff"; btn.classList.remove("bz-btn-dopamine"); void btn.offsetWidth; btn.classList.add("bz-btn-dopamine"); setTimeout(function(){ btn.classList.remove("bz-btn-dopamine"); },520); state=2; } function updateButtonToCopy(){ btn.textContent="Copy AI Script"; btn.style.background="#f3cd49"; btn.style.border="1.5px solid #121826"; btn.style.color="#111827"; btn.classList.add("bz-btn-pulse"); resetNote(); returnWrap.style.display="block"; state=3; } function fallbackCopy(text){ hidden.value=text; hidden.focus(); hidden.select(); hidden.setSelectionRange(0,hidden.value.length); try{ return document.execCommand("copy"); }catch(e){ return false; } } function copyPrompt(){ var text=hidden.value.trim(); if(!text){ return; } function onCopySuccess(){ markComplete(); showCopiedThenGuidance(); card.classList.add("bz-copy-flash"); setTimeout(function(){ card.classList.remove("bz-copy-flash"); },600); burstFireworks(); updateButtonToOpen(); } function onCopyFailure(){ note.textContent="Could not copy automatically. Please try again."; note.style.opacity=1; } if(navigator.clipboard && window.isSecureContext){ navigator.clipboard.writeText(text) .then(function(){ onCopySuccess(); }) .catch(function(){ if(fallbackCopy(text)){ onCopySuccess(); }else{ onCopyFailure(); } }); }else{ if(fallbackCopy(text)){ onCopySuccess(); }else{ onCopyFailure(); } } } btn.onclick=function(e){ if(e){ e.preventDefault(); } if(state===1){ copyPrompt(); return false; } if(state===2){ window.open( "https://chat.openai.com/", "_blank", "noopener" ); updateButtonToCopy(); return false; } if(state===3){ copyPrompt(); return false; } return false; }; })();
Unlock All 35+ AI Scripts Now Launch Price • $10
One-time purchase • Free updates

🧮 Large Purchases Referee

🧠 Big Life Money Decisions
📍The Problem

Can I afford this purchaseor am I about to make a mistake?

⚡️Instant AI Script

💡 Decide If You Should Buy Now or Save First

This script helps you compare buying now vs saving over time, see how long it takes to afford something comfortably, and understand the tradeoff between spending today and future growth.

🧾 Your Purchase Snapshot (Example):

Item: MacBook Pro
Price: $2,100
Realistic Saving Pace: $250/month

🧠 What GPT Helps You Figure Out:

1) What are you thinking about buying?
Start with the item, its price, and how much you can realistically save each week or month.

2) How long would it take you to afford it?
See how many months you may need to save and when you could reach your goal.

3) What could that money become if you invested it instead?
Estimate how your savings could grow over 1, 3, 5, and 10 years using a reasonable return.

4) What are you giving up by buying it now?
Compare the purchase price today with the money’s possible future value.

5) Which option makes the most sense for you?
Compare buying now, waiting and saving, or choosing a less expensive option.

At the End, You’ll Get:

- 1 clear savings timeline for reaching your goal
- 1 estimated date when you could afford the purchase
- 1 simple look at how the money could grow if invested
- 1 useful insight into the trade-off between enjoying it now and keeping more financial flexibility later

✔ Copied to clipboard!
Great — Try another script or buy the full suite now!
(function(){ var STORAGE_KEY="bz_category_progress_v1"; var CATEGORY_KEY="big_life"; var SCRIPT_ID="script2"; var btn=document.getElementById("bz-main-btn-script2"); var hidden=document.getElementById("bz-hidden-script-script2"); var note=document.getElementById("bz-copy-note-script2"); var returnWrap=document.getElementById("bz-return-wrap-script2"); var card=document.getElementById("bz-script-script2"); var fireworks=document.getElementById("bz-fireworks-script2"); var state=1; var noteTimer1=null; var noteTimer2=null; /* SAFETY GUARD */ if(!btn || !hidden || !note || !returnWrap || !card || !fireworks){ return; } /* HIGHLIGHT WHEN ARRIVING FROM JUMP LINK */ if(window.location.hash === "#large"){ setTimeout(function(){ card.classList.add("bz-arrival-highlight"); setTimeout(function(){ card.classList.remove("bz-arrival-highlight"); },1200); },250); } function readStore(){ try{ return JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; }catch(e){ return {}; } } function writeStore(store){ try{ localStorage.setItem( STORAGE_KEY, JSON.stringify(store) ); }catch(e){} } function markComplete(){ var store=readStore(); if(!store[CATEGORY_KEY]){ store[CATEGORY_KEY]={}; } store[CATEGORY_KEY][SCRIPT_ID]=true; writeStore(store); } function burstFireworks(){ for(var i=0;i<12;i++){ var p=document.createElement("div"); p.className="bz-firework-piece"; var angle=(Math.PI*2/12)*i + (Math.random()*.16-.08); var distance=20 + Math.random()*18; var x=Math.cos(angle)*distance; var y=Math.sin(angle)*distance; p.style.setProperty("--x",x+"px"); p.style.setProperty("--y",y+"px"); if(i%3===0){ p.style.width="5px"; p.style.height="5px"; } if(i%4===0){ p.style.background="#fde68a"; } if(i%5===0){ p.style.background="#fff7cc"; } fireworks.appendChild(p); setTimeout((function(node){ return function(){ if(node.parentNode){ node.parentNode.removeChild(node); } }; })(p),620); } } function showCopiedThenGuidance(){ clearTimeout(noteTimer1); clearTimeout(noteTimer2); note.textContent="✔ Copied to clipboard!"; note.style.opacity=1; noteTimer1=setTimeout(function(){ note.style.opacity=0; noteTimer2=setTimeout(function(){ note.textContent="For guidance only. Use your own judgment."; note.style.opacity=1; },200); },1500); } function resetNote(){ clearTimeout(noteTimer1); clearTimeout(noteTimer2); note.style.opacity=0; note.textContent="✔ Copied to clipboard!"; } function updateButtonToOpen(){ btn.classList.remove("bz-btn-pulse"); btn.textContent="Open GPT + Paste!"; btn.style.background="#121826"; btn.style.border="1.5px solid #ffffff"; btn.style.color="#ffffff"; btn.classList.remove("bz-btn-dopamine"); void btn.offsetWidth; btn.classList.add("bz-btn-dopamine"); setTimeout(function(){ btn.classList.remove("bz-btn-dopamine"); },520); state=2; } function updateButtonToCopy(){ btn.textContent="Copy AI Script"; btn.style.background="#f3cd49"; btn.style.border="1.5px solid #121826"; btn.style.color="#111827"; btn.classList.add("bz-btn-pulse"); resetNote(); returnWrap.style.display="block"; state=3; } function fallbackCopy(text){ hidden.value=text; hidden.focus(); hidden.select(); hidden.setSelectionRange(0,hidden.value.length); try{ return document.execCommand("copy"); }catch(e){ return false; } } function copyPrompt(){ var text=hidden.value.trim(); if(!text){ return; } function onCopySuccess(){ markComplete(); showCopiedThenGuidance(); card.classList.add("bz-copy-flash"); setTimeout(function(){ card.classList.remove("bz-copy-flash"); },600); burstFireworks(); updateButtonToOpen(); } function onCopyFailure(){ note.textContent="Could not copy automatically. Please try again."; note.style.opacity=1; } if(navigator.clipboard && window.isSecureContext){ navigator.clipboard.writeText(text) .then(function(){ onCopySuccess(); }) .catch(function(){ if(fallbackCopy(text)){ onCopySuccess(); }else{ onCopyFailure(); } }); }else{ if(fallbackCopy(text)){ onCopySuccess(); }else{ onCopyFailure(); } } } btn.onclick=function(e){ if(e){ e.preventDefault(); } if(state===1){ copyPrompt(); return false; } if(state===2){ window.open( "https://chat.openai.com/", "_blank", "noopener" ); updateButtonToCopy(); return false; } if(state===3){ copyPrompt(); return false; } return false; }; })();
Unlock All 35+ AI Scripts Now Launch Price • $10
One-time purchase • Free updates

📖 Finance Term Translator

🔥 Everyday Money Wins
📍The Problem

What does this financial term or concept actually meanand how does it affect me right now?

⚡️Instant AI Script

📘 Explain a Finance Term in Plain English

This script helps you understand a financial term clearly, see how it applies in real life, and figure out what to actually do next without jargon or confusion.

🧾 Your Current Snapshot (Example):

Financial term: APR
Situation I’m thinking about: Choosing between two credit cards
Explanation depth: Quick explanation

🧠 What GPT Helps You Figure Out:

1) What does it actually mean?
Get a plain-English explanation with a simple analogy when helpful.

2) How does it apply in real life?
See what the concept means for your situation or a common example.

3) Can you make it easier to understand?
Use a simple example with numbers when it helps the idea click.

4) What should you do with it?
Get a practical recommendation, what to watch out for, and a small next step.

⚡ At the End, You’ll Get:

- 1 useful insight about the concept
- 1 practical recommendation you can use right away
- 1 quick action you can take right now

✔ Copied to clipboard!
Awesome — Try another script or buy the full suite now!
(function(){ var STORAGE_KEY="bz_category_progress_v1"; var CATEGORY_KEY="money_wins"; var SCRIPT_ID="script3"; var btn=document.getElementById("bz-main-btn-script3"); var hidden=document.getElementById("bz-hidden-script-script3"); var note=document.getElementById("bz-copy-note-script3"); var returnWrap=document.getElementById("bz-return-wrap-script3"); var card=document.getElementById("bz-script-script3"); var fireworks=document.getElementById("bz-fireworks-script3"); var state=1; var noteTimer1=null; var noteTimer2=null; /* SAFETY GUARD */ if(!btn || !hidden || !note || !returnWrap || !card || !fireworks){ return; } /* HIGHLIGHT WHEN ARRIVING FROM JUMP LINK */ if(window.location.hash === "#finance"){ setTimeout(function(){ card.classList.add("bz-arrival-highlight"); setTimeout(function(){ card.classList.remove("bz-arrival-highlight"); },1200); },250); } function readStore(){ try{ return JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; }catch(e){ return {}; } } function writeStore(store){ try{ localStorage.setItem( STORAGE_KEY, JSON.stringify(store) ); }catch(e){} } function markComplete(){ var store=readStore(); if(!store[CATEGORY_KEY]){ store[CATEGORY_KEY]={}; } store[CATEGORY_KEY][SCRIPT_ID]=true; writeStore(store); } function burstFireworks(){ for(var i=0;i<12;i++){ var p=document.createElement("div"); p.className="bz-firework-piece"; var angle=(Math.PI*2/12)*i + (Math.random()*.16-.08); var distance=20 + Math.random()*18; var x=Math.cos(angle)*distance; var y=Math.sin(angle)*distance; p.style.setProperty("--x",x+"px"); p.style.setProperty("--y",y+"px"); if(i%3===0){ p.style.width="5px"; p.style.height="5px"; } if(i%4===0){ p.style.background="#fde68a"; } if(i%5===0){ p.style.background="#fff7cc"; } fireworks.appendChild(p); setTimeout((function(node){ return function(){ if(node.parentNode){ node.parentNode.removeChild(node); } }; })(p),620); } } function showCopiedThenGuidance(){ clearTimeout(noteTimer1); clearTimeout(noteTimer2); note.textContent="✔ Copied to clipboard!"; note.style.opacity=1; noteTimer1=setTimeout(function(){ note.style.opacity=0; noteTimer2=setTimeout(function(){ note.textContent="For guidance only. Use your own judgment."; note.style.opacity=1; },200); },1500); } function resetNote(){ clearTimeout(noteTimer1); clearTimeout(noteTimer2); note.style.opacity=0; note.textContent="✔ Copied to clipboard!"; } function updateButtonToOpen(){ btn.classList.remove("bz-btn-pulse"); btn.textContent="Open GPT + Paste!"; btn.style.background="#121826"; btn.style.border="1.5px solid #ffffff"; btn.style.color="#ffffff"; btn.classList.remove("bz-btn-dopamine"); void btn.offsetWidth; btn.classList.add("bz-btn-dopamine"); setTimeout(function(){ btn.classList.remove("bz-btn-dopamine"); },520); state=2; } function updateButtonToCopy(){ btn.textContent="Copy AI Script"; btn.style.background="#f3cd49"; btn.style.border="1.5px solid #121826"; btn.style.color="#111827"; btn.classList.add("bz-btn-pulse"); resetNote(); returnWrap.style.display="block"; state=3; } function fallbackCopy(text){ hidden.value=text; hidden.focus(); hidden.select(); hidden.setSelectionRange(0,hidden.value.length); try{ return document.execCommand("copy"); }catch(e){ return false; } } function copyPrompt(){ var text=hidden.value.trim(); if(!text){ return; } function onCopySuccess(){ markComplete(); showCopiedThenGuidance(); card.classList.add("bz-copy-flash"); setTimeout(function(){ card.classList.remove("bz-copy-flash"); },600); burstFireworks(); updateButtonToOpen(); } function onCopyFailure(){ note.textContent="Could not copy automatically. Please try again."; note.style.opacity=1; } if(navigator.clipboard && window.isSecureContext){ navigator.clipboard.writeText(text) .then(function(){ onCopySuccess(); }) .catch(function(){ if(fallbackCopy(text)){ onCopySuccess(); }else{ onCopyFailure(); } }); }else{ if(fallbackCopy(text)){ onCopySuccess(); }else{ onCopyFailure(); } } } btn.onclick=function(e){ if(e){ e.preventDefault(); } if(state===1){ copyPrompt(); return false; } if(state===2){ window.open( "https://chat.openai.com/", "_blank", "noopener" ); updateButtonToCopy(); return false; } if(state===3){ copyPrompt(); return false; } return false; }; })();
Unlock All 35+ AI Scripts Now Launch Price • $10
One-time purchase • Free updates
Important Information

⚖️ Legal

📜Terms of Service

By purchasing or using Benji Finance Suite, you agree to the following:

1. Use of Product
This product is for personal, non-commercial use only. You may not resell, redistribute, or share access.

2. Intellectual Property
All content, including scripts and materials, is owned by Benji-Z LLC and protected by copyright laws.

3. No Professional Advice
This product is for educational purposes only and does not constitute financial, legal, or tax advice.

4. Limitation of Liability
We are not responsible for any financial decisions or outcomes resulting from use of this product.

5. Access
We reserve the right to update, modify, or discontinue the product at any time.

6. Acceptance
By purchasing, you agree to these terms.

Important Information

⚖️ Legal

🔒Privacy Policy

Your privacy is important.

1. Data Collection
We do not collect or store personal financial data within the product. Basic purchase information may be handled by Lemon Squeezy for transaction purposes.

2. Local Storage
Progress and usage data may be stored locally on your device (for example, browser storage) and is not transmitted to us.

3. Third-Party Services
Payments are securely processed by Lemon Squeezy. Please refer to their privacy policy for details.

4. No Selling of Data
We do not sell, rent, or share your personal information.

5. Contact
If you have questions, contact: [email protected]

Click me to go back home
Set up your backups

Backup & Restore Data

Private by Default
🔒Protect Your Progress

All of your Finance Suite data stays on your device. Nothing gets sent back to us.

Back it up occasionally so you don't lose your progress. Restore it anytime when needed.

Your data stays with you — simple, private, and under your control. As it should be.
 
 
Last backup: —
window.BZ_BACKUP_SHARED = window.BZ_BACKUP_SHARED || {}; (function(api){ api.DOWNLOAD_BTN_ID = "bz-backup-download-btn"; api.RESTORE_BTN_ID = "bz-backup-restore-btn"; api.DOWNLOAD_STATUS_ID = "bz-backup-download-status"; api.RESTORE_STATUS_ID = "bz-backup-restore-status"; api.LAST_BACKUP_ID = "bz-backup-last"; api.LAST_BACKUP_KEY = "bz_last_backup_iso_v1"; api.BACKUP_KEYS = [ "bz_user_name_v1", "bz_category_progress_v1", "bz_script_savings_values_v2", "bz_last_seen_savings_v1", "bz_last_nonzero_gain_v1", "bz_prev_completed_ids_v1", "bz_last_unlocked_script_v1", "bz_visit_days_v1", "bz_best_streak_v1", "bz_progress_milestone_seen_1", "bz_progress_milestone_seen_3", "bz_progress_milestone_seen_5", "bz_progress_milestone_seen_10", "bz_progress_milestone_seen_15", "bz_progress_milestone_seen_20", "bz_progress_milestone_seen_25", "bz_progress_milestone_seen_32", "bz_progress_milestone_seen_37" ]; api.CATEGORY_KEYS = [ "spending_leaks", "reality_checks", "debt_fixes", "big_life", "growth_wins", "money_wins" ]; api.VALID_SCRIPT_IDS = [ "lifestyle","habit","convenience","online","impulse","switch","overdraft", "takehome","paycheck","taxes","raise","trip","savings","hobby", "emergency","interest","credit","student","insurance","hospital", "car","house","large","job","salary","index","score","match", "retire","inheritance","degree","time","smart","budget","finance","money","goal" ]; api.SCRIPT_SAVINGS_RANGES = { lifestyle:{min:200,max:500}, habit:{min:75,max:150}, convenience:{min:120,max:240}, online:{min:100,max:200}, impulse:{min:80,max:160}, switch:{min:40,max:80}, overdraft:{min:35,max:70}, takehome:{min:100,max:200}, paycheck:{min:250,max:500}, taxes:{min:150,max:300}, raise:{min:1200,max:2400}, trip:{min:150,max:300}, savings:{min:200,max:400}, hobby:{min:75,max:150}, emergency:{min:300,max:600}, interest:{min:250,max:500}, credit:{min:400,max:800}, student:{min:600,max:1200}, insurance:{min:350,max:700}, hospital:{min:800,max:1600}, car:{min:2500,max:5000}, house:{min:6000,max:12000}, large:{min:300,max:600}, job:{min:3000,max:6000}, salary:{min:2500,max:5000}, index:{min:500,max:1000}, score:{min:400,max:800}, match:{min:1500,max:3000}, retire:{min:2000,max:4000}, inheritance:{min:1000,max:2000}, degree:{min:5000,max:10000}, time:{min:100,max:800}, smart:{min:300,max:1500}, budget:{min:200,max:2000}, finance:{min:50,max:500}, money:{min:100,max:1000}, goal:{min:200,max:2500} }; api.MILESTONE_KEYS = [ "bz_progress_milestone_seen_1", "bz_progress_milestone_seen_3", "bz_progress_milestone_seen_5", "bz_progress_milestone_seen_10", "bz_progress_milestone_seen_15", "bz_progress_milestone_seen_20", "bz_progress_milestone_seen_25", "bz_progress_milestone_seen_32", "bz_progress_milestone_seen_37" ]; api.downloadStatusTimer = null; api.restoreStatusTimer = null; api.getDownloadButton = function(){ return document.getElementById(api.DOWNLOAD_BTN_ID); }; api.getRestoreButton = function(){ return document.getElementById(api.RESTORE_BTN_ID); }; api.getDownloadStatus = function(){ return document.getElementById(api.DOWNLOAD_STATUS_ID); }; api.getRestoreStatus = function(){ return document.getElementById(api.RESTORE_STATUS_ID); }; api.getLastBackupNode = function(){ return document.getElementById(api.LAST_BACKUP_ID); }; api.ensureFileInput = function(){ var input = document.getElementById("bz-backup-restore-file-input"); if(input) return input; input = document.createElement("input"); input.type = "file"; input.accept = ".json,application/json"; input.id = "bz-backup-restore-file-input"; input.style.display = "none"; document.body.appendChild(input); return input; }; api.stableSortObject = function(value){ if(Array.isArray(value)){ return value.map(api.stableSortObject); } if(value && typeof value === "object"){ var sorted = {}; Object.keys(value).sort().forEach(function(key){ sorted[key] = api.stableSortObject(value[key]); }); return sorted; } return value; }; api.stableStringify = function(value){ return JSON.stringify(api.stableSortObject(value)); }; api.arrayBufferToHex = function(buffer){ var bytes = new Uint8Array(buffer); var hex = []; for(var i = 0; i < bytes.length; i++){ hex.push(bytes[i].toString(16).padStart(2, "0")); } return hex.join(""); }; api.sha256Hex = async function(text){ var encoder = new TextEncoder(); var data = encoder.encode(text); var hashBuffer = await crypto.subtle.digest("SHA-256", data); return api.arrayBufferToHex(hashBuffer); }; api.getSafeDateStamp = function(){ var now = new Date(); var y = now.getFullYear(); var m = String(now.getMonth() + 1).padStart(2, "0"); var d = String(now.getDate()).padStart(2, "0"); return y + "-" + m + "-" + d; }; api.collectBackupPayload = function(){ var payload = {}; api.BACKUP_KEYS.forEach(function(key){ var raw = localStorage.getItem(key); if(raw !== null){ payload[key] = raw; } }); return payload; }; api.triggerDownload = function(filename, content){ var blob = new Blob([content], { type: "application/json" }); var url = URL.createObjectURL(blob); var a = document.createElement("a"); a.href = url; a.download = filename; document.body.appendChild(a); a.click(); setTimeout(function(){ URL.revokeObjectURL(url); if(a.parentNode) a.parentNode.removeChild(a); }, 0); }; api.readFileAsText = function(file){ return new Promise(function(resolve, reject){ var reader = new FileReader(); reader.onload = function(){ resolve(reader.result); }; reader.onerror = function(){ reject(new Error("read_failed")); }; reader.readAsText(file); }); }; api.isPlainObject = function(value){ return !!value && typeof value === "object" && !Array.isArray(value); }; api.isValidScriptId = function(id){ return api.VALID_SCRIPT_IDS.indexOf(id) !== -1; }; api.isValidCategoryKey = function(key){ return api.CATEGORY_KEYS.indexOf(key) !== -1; }; api.isIntegerString = function(value){ return typeof value === "string" && /^-?\d+$/.test(value); }; api.isValidYMD = function(value){ if(typeof value !== "string") return false; if(!/^\d{4}-\d{2}-\d{2}$/.test(value)) return false; var parts = value.split("-"); var y = Number(parts[0]); var m = Number(parts[1]); var d = Number(parts[2]); if(m < 1 || m > 12) return false; if(d < 1 || d > 31) return false; var date = new Date(value + "T00:00:00Z"); if(isNaN(date.getTime())) return false; return ( date.getUTCFullYear() === y && date.getUTCMonth() + 1 === m && date.getUTCDate() === d ); }; api.parseJSONSafely = function(raw){ try{ return JSON.parse(raw); }catch(e){ return null; } }; api.validateBackupShape = function(obj){ if(!api.isPlainObject(obj)) return false; if(obj.app !== "Benji Finance Suite") return false; if(obj.version !== 1) return false; if(!api.isPlainObject(obj.payload)) return false; if(typeof obj.hash !== "string" || !/^[a-f0-9]{64}$/i.test(obj.hash)) return false; return true; }; api.payloadHasOnlyAllowedKeys = function(payload){ var payloadKeys = Object.keys(payload); for(var i = 0; i < payloadKeys.length; i++){ if(api.BACKUP_KEYS.indexOf(payloadKeys[i]) === -1){ return false; } } return true; }; api.validateNameValue = function(raw){ if(typeof raw !== "string") return false; if(raw.length > 24) return false; return true; }; api.validateCategoryProgressValue = function(raw){ if(typeof raw !== "string") return false; var obj = api.parseJSONSafely(raw); if(!api.isPlainObject(obj)) return false; var categoryNames = Object.keys(obj); var seenScripts = {}; for(var i = 0; i < categoryNames.length; i++){ var category = categoryNames[i]; if(!api.isValidCategoryKey(category)) return false; if(!api.isPlainObject(obj[category])) return false; var scripts = Object.keys(obj[category]); for(var j = 0; j < scripts.length; j++){ var scriptId = scripts[j]; if(!api.isValidScriptId(scriptId)) return false; if(obj[category][scriptId] !== true) return false; if(seenScripts[scriptId]) return false; seenScripts[scriptId] = true; } } return true; }; api.validateSavingsValues = function(raw){ if(typeof raw !== "string") return false; var obj = api.parseJSONSafely(raw); if(!api.isPlainObject(obj)) return false; var keys = Object.keys(obj); for(var i = 0; i < keys.length; i++){ var scriptId = keys[i]; if(!api.isValidScriptId(scriptId)) return false; if(typeof obj[scriptId] !== "number" || !isFinite(obj[scriptId])) return false; var range = api.SCRIPT_SAVINGS_RANGES[scriptId]; if(!range) return false; if(obj[scriptId] < range.min || obj[scriptId] > range.max) return false; } return true; }; api.validatePrevCompletedIds = function(raw){ if(typeof raw !== "string") return false; var arr = api.parseJSONSafely(raw); if(!Array.isArray(arr)) return false; var seen = {}; for(var i = 0; i < arr.length; i++){ if(typeof arr[i] !== "string") return false; if(!api.isValidScriptId(arr[i])) return false; if(seen[arr[i]]) return false; seen[arr[i]] = true; } return true; }; })(window.BZ_BACKUP_SHARED);
window.BZ_BACKUP_SHARED = window.BZ_BACKUP_SHARED || {}; (function(api){ api.validateVisitDays = function(raw){ if(typeof raw !== "string") return false; var obj = api.parseJSONSafely(raw); var days; if(Array.isArray(obj)){ days = obj; }else if(api.isPlainObject(obj) && Array.isArray(obj.days)){ days = obj.days; }else{ return false; } var seen = {}; for(var i = 0; i < days.length; i++){ if(!api.isValidYMD(days[i])) return false; if(seen[days[i]]) return false; seen[days[i]] = true; } return true; }; api.validateLastUnlocked = function(raw){ if(typeof raw !== "string") return false; if(!raw) return true; return api.isValidScriptId(raw); }; api.validateIntegerState = function(raw){ if(typeof raw !== "string") return false; return api.isIntegerString(raw); }; api.validateMilestoneValue = function(raw){ return raw === "1"; }; api.validatePayloadValues = function(payload){ if(payload.hasOwnProperty("bz_user_name_v1")){ if(!api.validateNameValue(payload["bz_user_name_v1"])) return false; } if(payload.hasOwnProperty("bz_category_progress_v1")){ if(!api.validateCategoryProgressValue(payload["bz_category_progress_v1"])) return false; } if(payload.hasOwnProperty("bz_script_savings_values_v2")){ if(!api.validateSavingsValues(payload["bz_script_savings_values_v2"])) return false; } if(payload.hasOwnProperty("bz_prev_completed_ids_v1")){ if(!api.validatePrevCompletedIds(payload["bz_prev_completed_ids_v1"])) return false; } if(payload.hasOwnProperty("bz_visit_days_v1")){ if(!api.validateVisitDays(payload["bz_visit_days_v1"])) return false; } if(payload.hasOwnProperty("bz_last_unlocked_script_v1")){ if(!api.validateLastUnlocked(payload["bz_last_unlocked_script_v1"])) return false; } if(payload.hasOwnProperty("bz_last_seen_savings_v1")){ if(!api.validateIntegerState(payload["bz_last_seen_savings_v1"])) return false; } if(payload.hasOwnProperty("bz_last_nonzero_gain_v1")){ if(!api.validateIntegerState(payload["bz_last_nonzero_gain_v1"])) return false; } if(payload.hasOwnProperty("bz_best_streak_v1")){ if(!api.validateIntegerState(payload["bz_best_streak_v1"])) return false; } for(var i = 0; i < api.MILESTONE_KEYS.length; i++){ var key = api.MILESTONE_KEYS[i]; if(payload.hasOwnProperty(key)){ if(!api.validateMilestoneValue(payload[key])) return false; } } return true; }; api.restorePayloadToLocalStorage = function(payload){ api.BACKUP_KEYS.forEach(function(key){ if(payload.hasOwnProperty(key)){ localStorage.setItem(key, payload[key]); }else{ localStorage.removeItem(key); } }); }; api.formatDate = function(date){ return date.toLocaleDateString("en-US", { year: "numeric", month: "long", day: "numeric" }); }; api.daysBetween = function(start, end){ var msPerDay = 1000 * 60 * 60 * 24; var startMid = new Date(start.getFullYear(), start.getMonth(), start.getDate()); var endMid = new Date(end.getFullYear(), end.getMonth(), end.getDate()); return Math.round((endMid - startMid) / msPerDay); }; api.getRelativeText = function(date){ var now = new Date(); var diff = api.daysBetween(date, now); if(diff <= 0) return "Today"; if(diff === 1) return "1 day ago"; return diff + " days ago"; }; api.renderLastBackup = function(date){ var node = api.getLastBackupNode(); if(!node) return; if(!date){ node.textContent = "Last backup: —"; return; } var abs = api.formatDate(date); var rel = api.getRelativeText(date); node.textContent = "Last backup: " + abs + " • " + rel; }; api.loadLastBackup = function(){ var saved = localStorage.getItem(api.LAST_BACKUP_KEY); if(!saved){ api.renderLastBackup(null); return; } var parsed = new Date(saved); if(isNaN(parsed.getTime())){ api.renderLastBackup(null); return; } api.renderLastBackup(parsed); }; api.clearStatus = function(node){ if(!node) return; node.innerHTML = " "; node.classList.remove("bz-success", "bz-error"); }; api.showStatus = function(node, text, type, which){ if(!node) return; node.textContent = text; node.classList.remove("bz-success", "bz-error"); if(type === "success") node.classList.add("bz-success"); if(type === "error") node.classList.add("bz-error"); if(which === "download"){ if(api.downloadStatusTimer) clearTimeout(api.downloadStatusTimer); api.downloadStatusTimer = setTimeout(function(){ api.clearStatus(node); }, 5000); } if(which === "restore"){ if(api.restoreStatusTimer) clearTimeout(api.restoreStatusTimer); api.restoreStatusTimer = setTimeout(function(){ api.clearStatus(node); }, 5000); } }; })(window.BZ_BACKUP_SHARED);
window.BZ_BACKUP_PAGE = (function(api){ api.downloadBackup = async function(){ var btn = api.getDownloadButton(); var status = api.getDownloadStatus(); try{ if(btn) btn.disabled = true; var payload = api.collectBackupPayload(); var canonicalPayload = api.stableStringify(payload); var hash = await api.sha256Hex(canonicalPayload); var backupFile = { app: "Benji Finance Suite", version: 1, exportedAt: new Date().toISOString(), payload: payload, hash: hash }; var fileText = JSON.stringify(backupFile, null, 2); var filename = "benji-finance-backup-" + api.getSafeDateStamp() + ".json"; api.triggerDownload(filename, fileText); var now = new Date(); localStorage.setItem(api.LAST_BACKUP_KEY, now.toISOString()); api.renderLastBackup(now); api.showStatus(status, "Downloaded!", "success", "download"); if(btn) btn.disabled = false; }catch(err){ console.error("Backup export failed:", err); if(btn) btn.disabled = false; api.showStatus(status, "Download failed! Please try again.", "error", "download"); } }; api.handleRestoreFile = async function(file){ var btn = api.getRestoreButton(); var status = api.getRestoreStatus(); if(!file){ return; } if(btn) btn.disabled = true; try{ var text = await api.readFileAsText(file); var backup; try{ backup = JSON.parse(text); }catch(parseErr){ if(btn) btn.disabled = false; api.showStatus(status, "Restore failed! Please try again.", "error", "restore"); alert("Invalid backup file."); return; } if(!api.validateBackupShape(backup)){ if(btn) btn.disabled = false; api.showStatus(status, "Restore failed! Please try again.", "error", "restore"); alert("Invalid backup file."); return; } if(!api.payloadHasOnlyAllowedKeys(backup.payload)){ if(btn) btn.disabled = false; api.showStatus(status, "Restore failed! Please try again.", "error", "restore"); alert("Invalid backup file."); return; } if(!api.validatePayloadValues(backup.payload)){ if(btn) btn.disabled = false; api.showStatus(status, "Restore failed! Please try again.", "error", "restore"); alert("Invalid backup file."); return; } var canonicalPayload = api.stableStringify(backup.payload); var recomputedHash = await api.sha256Hex(canonicalPayload); if(recomputedHash !== backup.hash){ if(btn) btn.disabled = false; api.showStatus(status, "Restore failed! Please try again.", "error", "restore"); alert("Invalid backup file."); return; } var confirmed = window.confirm("Restore this backup and replace your current saved progress on this device?"); if(!confirmed){ if(btn) btn.disabled = false; api.clearStatus(status); return; } api.restorePayloadToLocalStorage(backup.payload); api.showStatus(status, "Restored!", "success", "restore"); setTimeout(function(){ window.location.href = "https://benjifinance.com/"; }, 700); }catch(err){ console.error("Backup restore failed:", err); if(btn) btn.disabled = false; api.showStatus(status, "Restore failed! Please try again.", "error", "restore"); alert("Restore failed. Please try again."); } }; return { getDownloadButton: api.getDownloadButton, getRestoreButton: api.getRestoreButton, getDownloadStatus: api.getDownloadStatus, getRestoreStatus: api.getRestoreStatus, getLastBackupNode: api.getLastBackupNode, ensureFileInput: api.ensureFileInput, loadLastBackup: api.loadLastBackup, clearStatus: api.clearStatus, downloadBackup: api.downloadBackup, handleRestoreFile: api.handleRestoreFile }; })(window.BZ_BACKUP_SHARED || {});
(function(){ function boot(){ var api = window.BZ_BACKUP_PAGE; if(!api) return false; var downloadBtn = api.getDownloadButton(); var restoreBtn = api.getRestoreButton(); if(downloadBtn && downloadBtn.getAttribute("data-backup-wired") !== "1"){ downloadBtn.setAttribute("data-backup-wired", "1"); downloadBtn.addEventListener("click", function(){ api.downloadBackup(); }); } if(restoreBtn && restoreBtn.getAttribute("data-restore-wired") !== "1"){ var input = api.ensureFileInput(); restoreBtn.setAttribute("data-restore-wired", "1"); restoreBtn.addEventListener("click", function(){ input.value = ""; input.click(); }); if(input.getAttribute("data-restore-input-wired") !== "1"){ input.setAttribute("data-restore-input-wired", "1"); input.addEventListener("change", function(){ var file = input.files && input.files[0] ? input.files[0] : null; api.handleRestoreFile(file); }); } } api.loadLastBackup(); return !!(downloadBtn && restoreBtn); } if(!boot()){ var tries = 0; var timer = setInterval(function(){ tries++; if(boot() || tries > 40){ clearInterval(timer); } }, 250); } })();