Skip to content

A web application that uses the GitHub API to search for user profiles and display key information like repositories, followers, and bio

License

Notifications You must be signed in to change notification settings

kdippan/github-profile-finder

πŸ” GitHub Profile Finder

Live Demo GitHub Stars GitHub Forks License GitHub Issues

A modern, feature-rich GitHub Profile Finder with advanced search, live updates, and beautiful UI

🌐 Live Demo β€’ πŸ“– Documentation β€’ πŸ› Report Bug β€’ ✨ Request Feature

HTML5 CSS3 JavaScript GitHub API

GitHub Profile Finder Preview


πŸ“‹ Table of Contents


✨ Features

πŸ”Ž Advanced Search

  • ⚑ Live Search with debouncing (400ms) for optimal performance
  • πŸ” Real-time search as you type
  • πŸ“ Recent searches with quick access chips (last 3 searches)
  • 🎯 Smart error handling (404, rate limits, network errors)

πŸ‘€ Profile Display

  • πŸ–ΌοΈ High-quality avatar display
  • πŸ“Š Complete user statistics (repos, followers, following, gists)
  • πŸ“ Location, company, blog, and social links
  • πŸ“… Account creation date
  • πŸ“‹ Bio and profile information

πŸ“¦ Repository Showcase

  • ⭐ Top 10 repositories display
  • πŸ”„ Sort by stars, forks, or recent updates
  • 🎨 Language color-coded badges (20+ languages)
  • πŸ“ˆ Star and fork counts with formatted numbers
  • πŸ“ Repository descriptions with line clamping
  • πŸ”— Direct links to repositories

🎨 Beautiful UI/UX

  • πŸŒ“ Dark/Light Mode with system preference detection
  • πŸ’Ύ Theme persistence with localStorage
  • πŸ“± Fully responsive design (mobile-first approach)
  • ✨ Smooth animations and transitions
  • πŸ’€ Skeleton loading screens with shimmer effect
  • 🎯 Clean, modern GitHub-inspired design
  • 🎭 Glass-morphism effects

πŸš€ Performance

  • ⚑ Debounced API calls to prevent rate limiting
  • πŸ’Ύ LocalStorage caching for recent searches
  • 🎯 Optimized DOM manipulation
  • πŸ“¦ Lightweight - No frameworks or dependencies
  • 🌐 CDN-based resources (Font Awesome)
  • πŸ”„ Efficient re-rendering

πŸ”’ Additional Features

  • πŸ“‹ Copy profile URL to clipboard
  • πŸ”— Share profiles on social media (native share API)
  • πŸ“Š Rate limit tracking and display
  • β™Ώ Full accessibility with ARIA labels
  • ⌨️ Keyboard shortcuts (Ctrl+K to focus search, Escape to clear)
  • πŸ”™ Browser history support (back/forward buttons work)
  • πŸ›‘οΈ XSS protection with input sanitization
  • πŸ” Secure external links (noopener noreferrer)

🎯 Demo

🌐 Live Website

https://gitprofilefind.dippanbhusal.tech

Try searching for popular developers:

  • torvalds (Linus Torvalds - Linux creator)
  • gaearon (Dan Abramov - React core team)
  • tj (TJ Holowaychuk - Express.js creator)
  • sindresorhus (Sindre Sorhus - Prolific open source developer)
  • KDippan (That's me! 😊)

πŸ“± Android APK

Download and install the app on your Android device!

Download APK

The app is automatically built and released as an APK using GitHub Actions. Simply download the latest APK from the Releases page and install it on your Android device.

Installation Steps:

  1. Go to the Releases page
  2. Download the latest app-release.apk file
  3. Enable "Install from Unknown Sources" in your Android settings if needed
  4. Open the downloaded APK file and install
  5. Enjoy the app! πŸŽ‰

πŸš€ Quick Start

Prerequisites

  • A modern web browser (Chrome, Firefox, Safari, Edge)
  • Internet connection for API calls
  • Basic text editor (optional, for modifications)

⚑ One-Click Deploy

Deploy your own instance in seconds:

Deploy to Netlify Deploy to Vercel Deploy with GitHub Pages


πŸ“¦ Installation

Option 1: Download ZIP (Easiest)

  1. Click the green "Code" button above
  2. Select "Download ZIP"
  3. Extract the ZIP file to your desired location
  4. Open index.html in your browser
  5. Done! πŸŽ‰

Option 2: Clone Repository (Recommended)

# Clone the repository
git clone https://github.com/KDippan/github-profile-finder.git

# Navigate to project directory
cd github-profile-finder

# Open in browser
# For Linux:
xdg-open index.html

# For macOS:
open index.html

# For Windows:
start index.html

Option 3: Use with Live Server (Development)

# Using Python 3
python -m http.server 8000

# Using Python 2
python -m SimpleHTTPServer 8000

# Using Node.js (if installed)
npx live-server

# Using PHP
php -S localhost:8000

Then open: http://localhost:8000

GitHub Pages Deployment

Step-by-step guide:

  1. Fork this repository

    • Click the "Fork" button at the top right
  2. Enable GitHub Pages

    • Go to your fork's Settings
    • Navigate to "Pages" in the left sidebar
    • Under "Source", select main branch
    • Click "Save"
  3. Access your site

    • Your site will be live at: https://yourusername.github.io/github-profile-finder/
    • It may take a few minutes for the first deployment
  4. Custom Domain (Optional)

    • Add a CNAME file with your domain
    • Configure your domain's DNS settings
    • Update the domain in GitHub Pages settings

🎨 Screenshots

πŸ“Έ Click to expand and view all screenshots

🌞 Light Mode

Light Mode - Home

Light Mode - Profile

πŸŒ™ Dark Mode

Dark Mode - Home

Dark Mode - Profile

πŸ“± Mobile Responsive

Mobile View Mobile Dark

✨ Features in Action

Search Results

Repository View

Error States


πŸ› οΈ Technologies

Frontend Stack

  • HTML5 - Semantic and accessible markup
  • CSS3 - Modern styling with custom properties
  • Vanilla JavaScript (ES6+) - No frameworks, pure performance

APIs & Services

  • GitHub REST API v3 - User and repository data
  • Font Awesome 6.5.1 - Beautiful icons via CDN

Key Techniques

  • Async/Await - Modern asynchronous JavaScript
  • Debouncing - Performance optimization for API calls
  • LocalStorage API - Client-side data persistence
  • Fetch API - HTTP requests to GitHub API
  • CSS Variables - Dynamic theming
  • CSS Grid & Flexbox - Responsive layouts
  • Media Queries - Mobile-first responsive design

Design Patterns

  • Component-based architecture
  • State management with JavaScript closures
  • Event delegation for better performance
  • Lazy loading for images
  • Error boundary pattern

Browser Support

Browser Version
βœ… Chrome 90+
βœ… Firefox 88+
βœ… Safari 14+
βœ… Edge 90+
βœ… Opera 76+

πŸ“š API Reference

GitHub REST API v3

This project uses the GitHub REST API (v3) to fetch user and repository data [web:14].

Rate Limits

Authentication Requests per Hour
Unauthenticated 60
Authenticated 5,000

πŸ’‘ Tip: The app displays remaining API calls when you're running low!

Endpoints Used

1. Get User Profile

GET https://api.github.com/users/{username}

// Response includes: avatar, name, bio, location, company, 
// blog, twitter, repos count, followers, following, etc.

2. Get User Repositories

GET https://api.github.com/users/{username}/repos
  ?sort=updated
  &per_page=100
  &type=owner

// Returns array of repositories with name, description,
// language, stars, forks, etc.

Optional: Increase Rate Limit with Authentication

To get 5,000 requests/hour instead of 60:

  1. Generate Personal Access Token

    • Go to GitHub Settings β†’ Developer settings β†’ Personal access tokens
    • Click "Generate new token (classic)"
    • Name it (e.g., "GitHub Profile Finder")
    • No scopes needed for public data
    • Copy the token
  2. Add to script.js

    // In the fetchWithRateLimit function
    const response = await fetch(url, {
        headers: {
            'Accept': 'application/vnd.github.v3+json',
            'Authorization': 'token YOUR_TOKEN_HERE'
        }
    });

⚠️ Security Warning:

  • Never commit tokens to GitHub!
  • Use environment variables in production
  • Add .env to .gitignore

API Documentation

πŸ“– Full docs: https://docs.github.com/en/rest


🀝 Contributing

Contributions make the open source community amazing! Any contributions you make are greatly appreciated! πŸŽ‰

🌟 How to Contribute

  1. Star this repository ⭐
  2. Fork the Project
  3. Create your Feature Branch
    git checkout -b feature/AmazingFeature
  4. Commit your Changes
    git commit -m 'Add some AmazingFeature'
  5. Push to the Branch
    git push origin feature/AmazingFeature
  6. Open a Pull Request

πŸ“‹ Contribution Guidelines

  • Read CONTRIBUTING.md for detailed guidelines
  • Follow the Code of Conduct
  • Write clear, concise commit messages
  • Add comments for complex code
  • Test your changes thoroughly
  • Update documentation as needed

🎯 Good First Issues

New to open source? Look for issues labeled:


πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License - Copyright (c) 2026 Dippan Bhusal

TL;DR: You can use, modify, and distribute this project freely. Just include the license!


πŸ‘¨β€πŸ’» Author

Dippan Bhusal

Dippan Bhusal

Full-Stack Developer | Open Source Enthusiast | Tech Content Creator

GitHub Website Instagram Email

"Building cool stuff and sharing knowledge"


πŸ’– Support

If you find this project helpful, please consider supporting! Your support helps me create more awesome open-source projects.

β˜• Buy Me a Coffee

Buy Me A Coffee

Your coffee keeps the code flowing! β˜•


❀️ GitHub Sponsors

GitHub Sponsors

Become a sponsor and get your name/logo here!


⭐ Star this Repository

Give this project a star if you like it!

It helps others discover this project and motivates me to keep improving it.

Star History Chart


🌟 Acknowledgments

Special thanks to:

Inspiration

Built with passion to solve the need for a modern, fast, and beautiful GitHub profile search tool with excellent user experience.


πŸ“ˆ Project Stats

GitHub Repo Size GitHub Code Size GitHub Language Count GitHub Top Language GitHub Commit Activity GitHub Last Commit Visitors


πŸ—ΊοΈ Roadmap

βœ… Completed

  • Basic search functionality
  • User profile display with statistics
  • Repository showcase with sorting
  • Dark/Light theme toggle
  • Fully responsive design
  • Recent searches feature
  • Rate limit tracking
  • Copy/Share functionality
  • Keyboard shortcuts
  • Accessibility improvements

πŸš€ Upcoming Features

  • User contribution graph visualization
  • Repository language statistics with charts
  • Export profile as PDF
  • Compare two GitHub users side-by-side
  • Advanced filters (language, stars, forks)
  • Integration with GitHub GraphQL API v4
  • Progressive Web App (PWA) support
  • Offline mode with caching
  • Multi-language support (i18n)
  • GitHub Gist viewer
  • Organization profile support
  • Trending developers section

πŸ’‘ Ideas Being Considered

  • GitHub activity timeline
  • Follower/Following network graph
  • Repository contribution insights
  • Custom profile themes
  • Browser extension version

Have a feature idea? Open an issue and let's discuss!


πŸ› Known Issues

Currently tracking issues on the Issues page.

Found a bug? Please report it!


πŸ“œ Changelog

See CHANGELOG.md for a list of changes in each version.

Latest Version: v1.0.0 (2026-01-03)

  • πŸŽ‰ Initial release
  • ✨ All core features implemented
  • πŸ“± Fully responsive
  • πŸŒ“ Dark/Light mode
  • ⚑ Performance optimized

πŸ’¬ FAQ

Q: Do I need a GitHub account to use this?
No, you can search any public GitHub profile without an account. However, unauthenticated requests are limited to 60 per hour.
Q: Why do I see "Rate Limit Exceeded"?
GitHub limits unauthenticated requests to 60 per hour. To increase this to 5,000, add a Personal Access Token (see API Reference section).
Q: Can I use this for commercial projects?
Yes! This project is MIT licensed, which allows commercial use. Just include the license file.
Q: How do I deploy this to my own domain?
Simply upload the files to any web hosting service (Netlify, Vercel, GitHub Pages, etc.) and point your domain to it.
Q: Does this work offline?
The app needs internet to fetch data from GitHub's API. However, recent searches are cached locally. PWA support for offline mode is planned for future versions.

πŸ”₯ Show some ❀️ by starring this repository!

Made with ❀️ by Dippan Bhusal

Happy Coding! πŸš€


GitHub followers Twitter Follow

If you have any questions or suggestions, feel free to reach out!

About

A web application that uses the GitHub API to search for user profiles and display key information like repositories, followers, and bio

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •