Try Popular Apps.
Earn Real Cash.
Explore verified apps available now.
Top earners made $300+ last week.
🌟 Sarah from Texas earned $47 yesterday with Bigcash
💰 Mike from Florida cashed out $23 via PayPal today
🎉 Jessica from California claimed her $15 bonus in 2 minutes
✅ David from New York earned $31 testing apps this week
🌟 Sarah from Texas earned $47 yesterday with Bigcash
NEW
View app →
Welcome back.
ð Sign Up Bonus Apps
These apps give you a bonus just for signing up â free money before you even start.
More Apps
No apps match your filters. Try adjusting your search.
' +
'' + (app.earningText || earningBadge(app.earning)) + '' +
'
Scan to download' : '') +
'
';
}
// ========== RENDER RUNNERS ==========
function renderRunners(apps) {
const section = document.getElementById('runnerSection');
if (!apps.length) { section.innerHTML = ''; return; }
section.innerHTML = '#1 Pick
' +
'' +
'' +
'
' +
'' +
'
' +
'' + (app.displayName || app.name) + '
' +
starsHTML(app.rating, 'runner-stars') +
'' + app.notes + '
' +
'' +
'' +
(app.qr ? ' 42 people claimed this today
' +
'' + ctaText(app) + ' →' +
'' + apps.map((app, i) => {
const url = getAppUrl(app.name, 'runner-up');
return '
';
}
// ========== RENDER APP GRID ==========
function renderGrid(data) {
const grid = document.getElementById('appGrid');
const btn = document.getElementById('showAllBtn');
if (!data.length) {
grid.innerHTML = '';
btn.classList.add('hidden');
return;
}
const limit = showAll ? data.length : Math.min(6, data.length);
grid.innerHTML = data.map((app, i) => {
const url = getAppUrl(app.name);
const hidden = (!showAll && i >= 6) ? ' hidden-card' : '';
return '';
}).join('');
if (data.length > 6 && !showAll) {
btn.classList.remove('hidden');
btn.textContent = 'View all ' + (data.length + 3) + ' apps';
} else {
btn.classList.add('hidden');
}
}
// ========== RENDER TABLE ==========
function renderTable(data) {
const tbody = document.getElementById('tableBody');
if (!data.length) { tbody.innerHTML = ''; return; }
tbody.innerHTML = data.map(app => {
const url = getAppUrl(app.name);
const tierClass = 'tier-row-' + app.tier.toLowerCase();
return '' +
'' + (app.earningText || earningBadge(app.earning)) + '' +
'
Scan to download' : '') +
'' + ctaText(app) + ' →' +
'
';
}).join('') + '#' + (i + 2) + ' Pick
' +
'' +
'' +
'
' +
'' +
'
' +
'' + (app.displayName || app.name) + '
' +
starsHTML(app.rating, 'runner-stars') +
'' + app.notes + '
' +
'' +
(app.qr ? '' +
'' +
'
' +
'' + (app.displayName || app.name) + ' ' + tagHTML(app.tag) + '' +
'' + '\u2605'.repeat(Math.round(app.rating)) + '\u2606'.repeat(5 - Math.round(app.rating)) + ' ' +
'
' +
'' + rowImgs + '
';
}
strip.innerHTML = html;
})();
// ========== QR MODAL (desktop only) ==========
(function() {
var modal = document.getElementById('qrModal');
var modalImg = document.getElementById('qrModalImg');
var modalIcon = document.getElementById('qrModalIcon');
var modalTitle = document.getElementById('qrModalTitle');
var closeBtn = document.getElementById('qrModalClose');
if (!modal) return;
// Move modal to document.body so position:fixed always works (WordPress themes can break it)
document.body.appendChild(modal);
// Build set of QR-enabled app names
var qrApps = {};
appData.forEach(function(a) {
if (a.qr) qrApps[getAppUrl(a.name)] = a;
});
// Intercept CTA clicks on desktop
document.addEventListener('click', function(e) {
if (window.innerWidth -1 ? '&' : '?') + 'subId5=email&aff_sub5=email&sub5=email&s5=email&clickref5=email';
var hasBonus = app.bonus && typeof app.bonus === 'string' && app.bonus.charAt(0) === '$';
var subject = hasBonus
? 'Your ' + app.name + ' install link (' + app.bonus + ' bonus)'
: 'Install ' + app.name + ' on your phone';
var bodyOpen = hasBonus
? 'Tap below to install ' + app.name + ' and claim your ' + app.bonus + ' bonus:'
: 'Tap below to install ' + app.name + ':';
var body = bodyOpen + '\n\n' + emailUrl + '\n\nTakes 30 seconds.';
emailBtn.href = 'mailto:?subject=' + encodeURIComponent(subject) + '&body=' + encodeURIComponent(body);
}
(function(){
var meta = document.getElementById('qrModalMeta');
var sub = document.getElementById('qrModalSubtitle');
var bonusEl = document.getElementById('qrModalBonus');
if (meta) {
var rawPlat = (app.platform || '').toLowerCase();
var pIOS = /ios|iphone|both/.test(rawPlat);
var pSamsung = /samsung|galaxy/.test(rawPlat);
var pAndroid = !pSamsung && /android|both/.test(rawPlat);
var parts = [];
if (pIOS) parts.push('iPhone');
if (pSamsung) parts.push('Samsung');
if (pAndroid) parts.push('Android');
var plat = parts.length ? parts.join(' & ') : (app.platform || 'iPhone');
var ratingHtml = app.rating ? '\u2605' + app.rating + '\u00B7' : '';
meta.innerHTML = ratingHtml + '' + plat + '\u00B7Free';
}
if (sub) {
var hook = (app.notes || '').split(/\. /)[0];
if (hook && !/\.$/.test(hook)) hook = hook + '.';
sub.textContent = hook || 'Install on your phone.';
}
if (bonusEl) {
var bv = (app.bonus || '').toString().trim();
if (bv && bv.charAt(0) === '$') {
bonusEl.innerHTML = 'Welcome Bonus' + bv + '';
bonusEl.hidden = false;
} else {
bonusEl.hidden = true;
}
}
var badgesEl = document.getElementById('qrModalBadges');
if (badgesEl) {
var bPlat = (app.platform || '').toLowerCase();
var bIOS = /ios|iphone|both/.test(bPlat);
var bSamsung = /samsung|galaxy/.test(bPlat);
var bAndroid = !bSamsung && /android|both/.test(bPlat);
var chips = [];
if (bIOS) chips.push('App Store');
if (bSamsung) chips.push('Galaxy Store');
if (bAndroid) chips.push('Google Play');
if (!chips.length) chips.push('App Store');
badgesEl.innerHTML = chips.map(function(c){ return 'â ' + c + ''; }).join('');
}
var scanHelpEl = document.getElementById('qrModalScanHelp');
if (scanHelpEl) {
var scanParts = [];
if (bIOS) scanParts.push('iPhone Camera');
if (bSamsung) scanParts.push('Samsung Camera or Google Lens');
else if (bAndroid) scanParts.push('Android Google Lens or Camera');
scanHelpEl.textContent = scanParts.length ? scanParts.join(' · ') : 'Open your phone camera';
}
var scanMainText = document.getElementById('qrModalScanMainText');
if (scanMainText) {
if (bSamsung && !bIOS && !bAndroid) scanMainText.textContent = 'Scan with your Samsung phone';
else if (bIOS && !bSamsung && !bAndroid) scanMainText.textContent = 'Scan with your iPhone camera';
else if (bAndroid && !bIOS) scanMainText.textContent = 'Scan with your Android phone';
else if (bIOS && bSamsung) scanMainText.textContent = 'Scan with your iPhone or Samsung phone';
else scanMainText.textContent = 'Scan to install on your phone';
}
var quoteEl = document.getElementById('qrModalQuote');
if (quoteEl) {
var q = app.redditQuote;
if (q && q.text) {
var u = q.user ? 'â u/' + String(q.user).replace(/^u\//, '') : '';
quoteEl.innerHTML = 'â' + q.text + 'â' + (u ? '' + u + '' : '');
quoteEl.hidden = false;
} else {
quoteEl.hidden = true;
}
}
})();
modal.classList.add('active');
document.body.style.overflow = 'hidden';
});
function closeModal() {
modal.classList.remove('active');
document.body.style.overflow = '';
}
closeBtn.addEventListener('click', closeModal);
modal.addEventListener('click', function(e) {
if (e.target === modal) closeModal();
});
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape' && modal.classList.contains('active')) closeModal();
});
})();
// ========== RENDER BONUS SECTION ==========
function renderBonusSection() {
var bonusApps = appData.filter(function(a) {
return a.bonus !== '-' && a.bonus !== 'Varies' && !a.excludeFromBonus;
}).sort(function(a, b) {
var valA = parseFloat(a.bonus.replace('$', ''));
var valB = parseFloat(b.bonus.replace('$', ''));
return valB - valA; // highest bonus first
});
// Platform-specific bonus inserts: Solitaire Cash on Samsung
// Both labeled 'Win $100' and positioned right before Current
function _bonusInsertBefore(targetName, sourceName, overrides) {
var src = appData.find(function(a) { return a.name === sourceName; });
if (!src) return;
if (bonusApps.some(function(a) { return a.name === sourceName; })) return;
var clone = Object.assign({}, src, overrides || {});
var tIdx = bonusApps.findIndex(function(a) { return a.name === targetName; });
if (tIdx > -1) bonusApps.splice(tIdx, 0, clone);
else bonusApps.unshift(clone);
}
if (currentPlatform === 'samsung') _bonusInsertBefore('Current', 'Solitaire Cash', { bonus: 'Win $100' });
var grid = document.getElementById('bonusGrid');
var section = document.getElementById('bonusSection');
if (!bonusApps.length) { section.style.display = 'none'; return; }
grid.innerHTML = bonusApps.map(function(app) {
var url = getAppUrl(app.name, 'bonus-card');
return '' +
'' +
'
' +
'' + (app.displayName || app.name) + '
' +
'' + (localizeBonus(app.bonus).charAt(0) === '$' && app.type !== 'Skill' && localizeBonus(app.bonus).indexOf('/') === -1 ? localizeBonus(app.bonus) + ' bonus' : localizeBonus(app.bonus)) + '
' +
(app.bonusDescription ? '' + app.bonusDescription + '
' : '') +
'→
' +
'';
}).join('');
}
// ========== GEO FILTER + INIT ==========
(function() {
function doRender() {
renderQuickFilters();
renderBonusSection();
render();
}
window._userCountry = '';
// ---- Dynamic rankings bootstrap (Phase 2, pulls MMG's /offer-rankings.json) ----
window._rankingsData = null;
var _rankingsPromise = fetch('https://www.mymillennialguide.com/offer-rankings.json', { cache: 'no-store' })
.then(function(r) { return r.ok ? r.json() : null; })
.then(function(j) { window._rankingsData = j; return j; })
.catch(function() { return null; });
function applyRankings(apps, country) {
var ranks = window._rankingsData;
if (!ranks || !ranks.rankings) return;
var fallbackMap = (ranks.meta && ranks.meta.fallback_regions) || {};
var order = ranks.rankings[country];
if (!order || !order.length) order = ranks.rankings[fallbackMap[country] || 'US'];
if (!order || !order.length) return;
var rankMap = {}, metaMap = {};
order.forEach(function(item, i) {
var key = (item.app || '').toLowerCase().trim();
rankMap[key] = i + 1;
metaMap[key] = { rank: i + 1, delta: item.delta, trend: item.trend, badge: item.badge, revenue: item.revenue, conversions: item.conversions, score: item.score };
});
apps.forEach(function(app) {
var key = (app.name || '').toLowerCase().trim();
if (rankMap[key] !== undefined) {
app.order = rankMap[key];
app.__dynamicMeta = metaMap[key];
}
});
}
// Filter by device platform (Samsung-aware: hide Samsung-only apps from non-Samsung Android users)
var ua = navigator.userAgent || '';
var isIOS = /iPhone|iPad|iPod/i.test(ua);
var isAndroid = /Android/i.test(ua);
var isSamsung = isAndroid && /SM-|SamsungBrowser|Samsung/i.test(ua);
if (isIOS) {
appData = appData.filter(function(a) {
var p = (a.platform || '').toLowerCase();
return /ios|iphone|both/.test(p);
});
} else if (isSamsung) {
appData = appData.filter(function(a) {
var p = (a.platform || '').toLowerCase();
return /android|both|samsung|galaxy/.test(p);
});
} else if (isAndroid) {
// Non-Samsung Android: hide Samsung-only apps (no generic Android support)
appData = appData.filter(function(a) {
var p = (a.platform || '').toLowerCase();
return /android|both/.test(p);
});
} else {
// Desktop / unknown â hide apps that only track on mobile (e.g. MobileXpression)
appData = appData.filter(function(a) { return !a.mobileOnly; });
}
// Render immediately â no waiting for geo API
doRender();
// Then fetch geo in background and re-filter
var _allApps = appData.slice();
function applyGeoAndRender(country) {
country = country.trim().toUpperCase();
window._userCountry = country;
if (typeof setGeo === 'function') setGeo(country);
if (country.length === 2) {
appData = _allApps.filter(function(a) {
if (a.excludeGeo && a.excludeGeo.indexOf(country) !== -1) return false;
if (!a.geo) return true;
if (a.geo.split(',').indexOf(country) === -1) return false;
if (a.excludeStates && window._userState && a.excludeStates.indexOf(window._userState) !== -1) return false;
return true;
});
_rankingsPromise.then(function() {
applyRankings(appData, country);
// Device-aware swap removed 2026-05-07 â Solitaire no longer expected at JSON #1, swap was breaking order
doRender();
});
}
}
fetch('https://freeipapi.com/api/json/')
.then(function(r) { if (!r.ok) throw new Error('freeipapi failed'); return r.json(); })
.then(function(data) {
window._userState = (data.regionCode || '').toUpperCase();
applyGeoAndRender(data.countryCode || '');
})
.catch(function() {
fetch('https://api.country.is/')
.then(function(r) { if (!r.ok) throw new Error('country.is failed'); return r.json(); })
.then(function(data) { applyGeoAndRender(data.country || ''); })
.catch(function() {
_rankingsPromise.then(function() {
applyRankings(appData, 'US');
doRender();
});
});
});
})();
// ========== EXIT INTENT POPUP (Testerup-eligible: US/CA/GB/CH/DE/AT) ==========
(function() {
if (window.innerWidth ' +
'' +
'$50+per month' +
'#1 Pick
' +
'' +
'
' +
'
' +
'' +
'
' +
'Bigcash
' +
'\u2605\u2605\u2605\u2605\u2605
' +
'Play games, complete tasks, and earn real cash. $15 signup bonus. Fast PayPal payouts.
' +
'' +
' 42 people claimed this today
' +
'Get $15 Now →' +
'' +
'' +
'
' +
'' + (window.innerWidth ' +
'';
document.body.appendChild(bar);
var closeBtn = bar.querySelector('.mobile-sticky-close');
if (closeBtn) {
closeBtn.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
bar.style.transition = 'transform 0.3s ease-in, opacity 0.3s ease-in';
bar.style.transform = 'translateY(110%)';
bar.style.opacity = '0';
sessionStorage.setItem('mm_sticky_dismissed', '1');
setTimeout(function() { if (bar.parentNode) bar.parentNode.removeChild(bar); }, 350);
});
}
var shown = false;
window.addEventListener('scroll', function() {
if (shown) return;
if (window.scrollY > 600) { bar.classList.add('show'); shown = true; }
});
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', function(){ tryInit(0); });
} else {
tryInit(0);
}
})();
Bigcash · #1 Pick
' +
'$15 bonus · fast PayPal payouts
' +
'