Journaling Buddy
Your topic

Let's go a little deeper.

Question 1 of 3
How long has this been sitting with you?
Journaling Buddy
Your personal prompts

A quiet space, made just for you.

These prompts were written for exactly where you are right now. Take your time. There's no right way to begin.

Tending to your prompts…
Copied to clipboard ✓
🛠 Dev Mode
Subscriber
Daily limit
Used today: 0
`; const w = window.open('', '_blank'); w.document.write(html); w.document.close(); w.onload = () => { w.focus(); w.print(); }; } function startOver() { document.getElementById('search-input').value = ''; state.topic = ''; state.answers = {}; state.prompts = []; showScreen('search'); } function showToast(msg) { const t = document.getElementById('toast'); t.textContent = msg; t.classList.add('show'); setTimeout(() => t.classList.remove('show'), 2500); } // ── DEV PANEL // Only shows on localhost, 127.0.0.1, or file:// — invisible on Shopify automatically const DEV_HOSTS = ['localhost', '127.0.0.1', '']; const isDevHost = DEV_HOSTS.includes(window.location.hostname); function devPanelInit() { if (!isDevHost) return; const panel = document.getElementById('dev-panel'); panel.style.display = 'block'; devRefresh(); } function devRefresh() { const sub = isSubscriber(); const used = getDailyUsage(); const subBtn = document.getElementById('dev-sub-btn'); subBtn.textContent = sub ? 'ON' : 'OFF'; subBtn.classList.toggle('on', sub); document.getElementById('dev-usage-label').textContent = `Used today: ${used} of 1 free session`; } function devToggleSubscriber() { const current = isSubscriber(); localStorage.setItem('jb_subscriber', current ? 'false' : 'true'); devRefresh(); showToast(current ? 'Switched to free user' : 'Switched to subscriber'); } function devResetLimit() { localStorage.removeItem('jb_usage'); devRefresh(); showToast('Daily limit reset ✓'); } // Init dev panel on load devPanelInit();