Yuzool experiment · App Portfolio Builder

Turn one App Store profile into a catalogue.

Paste a public developer URL, choose what belongs in the portfolio, add your own product links and export a clean directory. No Apple credentials required.

1. Import a developer profile

The public App Store lookup is used only to read published app listings. Nothing is sent to Yuzool.

01 / DISCOVER

Start with a public URL

Use any App Store developer profile. The builder finds the published apps and their store metadata.

02 / CURATE

Make it yours

Exclude old releases, add categories and point each app to the product page you want people to visit.

03 / EXPORT

Publish anywhere

Download JSON for a data-driven site or a ready-to-host static HTML catalogue with App Store links.

Go further

Developer portfolio guide →Software catalogue generator →Turn an app list into a website →
`; } $('#import').addEventListener('click', async () => { setStatus('Looking up published apps…'); $('#import').disabled = true; try { apps = normalise(await lookupDeveloper(urlInput.value.trim())); panel.hidden = false; render(); setStatus(`Found ${apps.length} published apps. Choose what belongs in the portfolio.`, 'good'); } catch (error) { setStatus(error.message || 'The App Store lookup failed.', 'error'); } finally { $('#import').disabled = false; } }); $('#select-all').addEventListener('click', () => { apps.forEach((app) => { app.included = true; }); render(); }); $('#clear-all').addEventListener('click', () => { apps.forEach((app) => { app.included = false; }); render(); }); $('#export-json').addEventListener('click', () => { download('app-portfolio-catalogue.json', JSON.stringify(exportData(), null, 2), 'application/json'); setStatus('JSON catalogue downloaded.', 'good'); }); $('#export-html').addEventListener('click', () => { const html = staticHtml(); download('app-portfolio.html', html, 'text/html'); $('#preview').srcdoc = html; $('#preview-panel').classList.add('open'); setStatus('Static HTML catalogue downloaded and previewed below.', 'good'); }); urlInput.addEventListener('keydown', (event) => { if (event.key === 'Enter') $('#import').click(); });