GitHub - Frenxys/portfolio-finder: a javascript app made to find opensource portfolios · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
Frenxys
portfolio-finder
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>3 Commits<br>3 Commits
.zed
.zed
backend
backend
data
data
public
public
.env.example
.env.example
.gitignore
.gitignore
LICENSE
LICENSE
README.md
README.md
package-lock.json
package-lock.json
package.json
package.json
View all files
Repository files navigation
Website Finder
Discover open-source developer portfolios by searching GitHub with rotating keywords, preview them in an iframe, and save the ones you like.
Features
Background GitHub search — runs continuously, rotating through keywords in data/keywords.txt (starts with portfolio). Only repos with 5+ stars that were updated recently (default: last 180 days) are included.
Found websites log — data/found_websites.txt with githubuser,githublink,websitelink,starnumber,mainlangused
Seen blacklist — skipped or saved sites go into data/seen_websites.txt and won't show again
Main list — saved portfolios in data/main_websites.txt
Web UI — iframe preview with Skip and Add to main list buttons (keyboard: S / A)
Setup
Install dependencies:
npm install
Copy .env.example to .env and add a GitHub token (recommended):
copy .env.example .env
Create a token at github.com/settings/tokens with no scopes (public repo read is enough). Without a token you get ~60 API requests/hour; with a token ~5000/hour.
Start the server:
npm start
Open http://localhost:3000.
Customization
Keywords — edit data/keywords.txt (one keyword per line). The backend alternates through them on each search cycle.
Search interval — set SEARCH_INTERVAL_MS in .env (default: 60000 = 1 minute).
Port — set PORT in .env (default: 3000).
Star filter — set MIN_STARS (default: 5) and MAX_STARS (default: 5000).
Recency filter — set PUSHED_WITHIN_DAYS (default: 180). Only repos pushed within that window are searched; results are sorted by most recently updated.
Data files
File<br>Purpose
data/found_websites.txt<br>All discovered portfolio sites from GitHub
data/seen_websites.txt<br>Blacklist of URLs you've already reviewed
data/main_websites.txt<br>Portfolios you chose to keep
data/keywords.txt<br>Search keywords (rotated automatically)
How discovery works
The backend searches GitHub repos matching the current keyword (name, description, readme).
It extracts a personal website from the repo homepage field or README links.
GitHub/social/npm links are filtered out; custom domains are kept.
New sites are appended to found_websites.txt.
The UI shows the next unseen site in an iframe.
Notes
Some sites block iframe embedding (X-Frame-Options); use Open in new tab for those.
Forks are skipped to focus on original portfolios.
About
a javascript app made to find opensource portfolios
Topics
javascript
portfolio
opensource
typescript
finder
free
Resources
Readme
License
MIT license
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
star
Watchers
watching
Forks
forks
Report repository
Releases
No releases published
Packages
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
JavaScript<br>78.4%
CSS<br>13.7%
HTML<br>7.9%
You can’t perform that action at this time.