A searchable, filterable showcase of 1,500+ developer portfolio websites.
Browse, search, and filter developer portfolios by tech stack, experience level, and more. Data is sourced from emmabostian/developer-portfolios and automatically kept in sync.
- 🔍 Instant Search — Filter by name or title in real-time
- 🏷️ Stack Filters — Filter portfolios by technology (React, Python, TypeScript, etc.)
- 📄 25 SEO Stack Pages — Individual pages for each major technology
- 🎲 Random Portfolio — Discover new sites with one click
- 📇 Rich Cards — Tech stack pills, social links, location, experience badges
- 🤖 Auto-Updated — Delta scraper syncs new portfolios every 6 hours via GitHub Actions
- ⚡ Static & Fast — Built with Astro, deployed on Cloudflare Pages
Each portfolio is enriched with data extracted from the live site:
| Field | Coverage |
|---|---|
| Tech Stack | ~960 portfolios |
| GitHub | ~755 portfolios |
| ~670 portfolios | |
| ~510 portfolios | |
| Twitter/X | ~360 portfolios |
| Location | varies |
| Experience | varies |
Raw data available at data/portfolios.json.
- Astro — Static site generator
- Tailwind CSS v4 — Styling
- Cloudflare Pages — Hosting
- GitHub Actions — CI/CD + automated data sync
- GitHub Actions cron runs every 6 hours
scrape-delta.mjsdiffs upstream README against ourportfolios.json- Only new sites are scraped, removed sites are pruned
- Updated JSON is committed back to the repo
- Astro rebuilds and deploys to Cloudflare Pages
No full re-scrapes. Surgical delta updates only.
npm install
npm run build # Build static site
npm run preview # Preview locally| Script | Description |
|---|---|
node scripts/scrape-delta.mjs |
Scrape only new/removed portfolios |
node scripts/scrape2.mjs |
Full scrape of all portfolios |
MIT
Portfolio data sourced from emmabostian/developer-portfolios — an amazing community-maintained list by Emma Bostian.