Premium AI-powered developer tools accessible to everyone. No accounts. No subscriptions. Just Bitcoin Lightning.
Most premium developer tools require credit cards, USD subscriptions, and assume you're in San Francisco. We don't. Lightning micropayments mean a developer in Nairobi, Lagos, or Manila pays fractions of a cent for tools that would cost $99/month elsewhere.
Pay with Bitcoin Lightning from any wallet. No credit card, no PayPal, no KYC. Just sats.
50 sats ≈ $0.05. Use one tool for a nickel instead of paying $99/month for a suite you barely touch.
No geo-restrictions. No "not available in your country." If you have internet and a Lightning wallet, you're in.
Fully responsive. Use from your phone on a 2G connection. Every byte counts when bandwidth is expensive.
${data.invoice.substring(0, 40)}...
`; pollResult(data.taskId, result, btn); } else if (data.error) { result.innerHTML = `Error: ${data.error}`; btn.disabled = false; btn.textContent = `⚡ Pay ${formatSats(sats)} sats & Run`; } } catch (e) { result.innerHTML = `Connection error. Try again.`; btn.disabled = false; btn.textContent = `⚡ Pay ${formatSats(sats)} sats & Run`; } } async function pollResult(taskId, resultEl, btn) { let attempts = 0; const poll = setInterval(async () => { attempts++; if (attempts > 120) { clearInterval(poll); resultEl.innerHTML += 'Timeout. Check back later.
'; return; } try { const res = await fetch(`/task/${taskId}/status`); const data = await res.json(); if (data.status === 'complete') { clearInterval(poll); resultEl.innerHTML = `⚡ Payment received! Processing...
'; } } catch(e) {} }, 3000); } // Search document.getElementById('search').addEventListener('input', function() { const q = this.value.toLowerCase(); document.querySelectorAll('.card, .bundle').forEach(c => { c.classList.toggle('hidden', !c.dataset.name.includes(q)); }); document.querySelectorAll('.section').forEach(s => { const visible = s.querySelectorAll('.card:not(.hidden), .bundle:not(.hidden)').length; s.classList.toggle('hidden', visible === 0); }); // reset cat buttons document.querySelectorAll('.cat-btn').forEach(b => b.classList.toggle('active', b.dataset.cat === 'all')); }); // Category filter document.getElementById('catNav').addEventListener('click', function(e) { if (!e.target.classList.contains('cat-btn')) return; const cat = e.target.dataset.cat; document.querySelectorAll('.cat-btn').forEach(b => b.classList.remove('active')); e.target.classList.add('active'); document.getElementById('search').value = ''; document.querySelectorAll('.card, .bundle').forEach(c => c.classList.remove('hidden')); document.querySelectorAll('.section').forEach(s => { if (cat === 'all') { s.classList.remove('hidden'); } else { s.classList.toggle('hidden', s.dataset.cat !== cat); } }); const gs = document.getElementById('global-south'); gs.style.display = (cat === 'all') ? '' : 'none'; }); renderServices();