A live GitHub profile-card gallery, constructor, and Product Hunt-style daily repository battle.
DevQuest turns GitHub data into polished SVG profile cards and now also lets developers launch repositories into a daily Product Hunt-style ranking. Browse templates, customize cards inline, download PNGs, share to X, collect guestbook signatures, and submit repositories to Daily Battle with upvotes, comments, media, makers, and README badges.
- Refero-style gallery redesign with sticky header, hero search, category pills and large visual cards.
- Inline template customizer directly inside the gallery modal: template, art style, theme, title, accent, ASCII, stats, PNG download, X share, Markdown and HTML embeds.
- Working template search over all registered cards.
- Daily Battle: Product Hunt-style daily repository leaderboard.
- GitHub star gate: users must sign in with GitHub and star
yiaany/devquestbefore submitting a project. - Local media uploads: thumbnail/logo and screenshots are uploaded directly from desktop or phone and stored as base64 data URLs.
- Daily reset at
12:00Yekaterinburg time (07:00 UTC) with yesterday's winners. - Upvotes and comments for submitted repositories.
- Live SVG battle badge for README embeds showing current upvotes.
- Fixed layout polish for
Main LanguageandContribution Gaugecard templates.
Every image below is rendered live from GitHub data.
- 33 card templates across profile, stack, vibe, repository and interactive categories.
- 15 art-style frames: terminal, neobrutalism, glass, pixel, minimal, outrun, blueprint, sketch, sticker, tape, hologram, newspaper, arcade, polaroid, circuit.
- 19 themes: macos, matrix, cyberpunk, paper, dracula, nord, gruvbox, tokyonight, synthwave, catppuccin, monokai, solarized, everforest, rosepine, oceanic, amber, vaporwave, githublight, coffee.
- 40 ASCII arts for terminal-style templates.
- Inline constructor in the gallery modal.
- Markdown, HTML, PNG export and X sharing.
- GitHub OAuth via NextAuth.
- Guestbook card with live signatures and owner moderation.
- Daily Battle with submissions, votes, comments, media gallery, makers, licenses and yesterday's winners.
All cards are selected via ?template=<id>.
| Category | Templates |
|---|---|
| Profile | terminal · neofetch · heatmap · wrapped · id-card · rank-badge · profile-hero · stat-grid · stat-spark · receipt · shields · account-age · follower-ratio · contribution-gauge · streak-flame · pr-badge |
| Stack | language-donut · tech-stack · skill-bars · language-ladder · language-crown · polyglot |
| Vibe | code-weather · mood-ring · quote · now-playing |
| Repository | top-repos · stars-per-repo · repo-scatter |
| Interactive | guestbook · poll |
Example:
Daily Battle is a Product Hunt-style ranking for GitHub repositories.
- You must sign in with GitHub.
- You must star
yiaany/devquest. - One submitted repository per GitHub user per battle day.
- The submitted project must be a real GitHub repository.
- The primary link is always computed as the GitHub repository URL.
- Battle day starts at
12:00Yekaterinburg time (07:00 UTC) and lasts 24 hours.
- Name: clean product name.
- Tagline: up to 60 characters.
- Description: up to 260 characters.
- Keywords: up to 3 comma-separated tags.
- Alternative links: optional extra URLs.
- License: project license or
-when absent. - Thumbnail: uploaded locally from desktop/phone.
- Screenshots: minimum 2 uploaded images.
- Video link: optional YouTube URL.
- Makers: comma-separated GitHub usernames.
GET /api/battle -> current + previous battle
POST /api/battle -> submit repository, GitHub auth + star required
POST /api/battle/vote -> toggle upvote
POST /api/battle/comment -> add comment
GET /api/battle/badge/:owner/:repo -> live SVG upvote badgeSubmitted projects can embed a live badge in their README:
[](https://devquest-mu.vercel.app)The Guestbook card turns a README into a living wall.
[](https://devquest-mu.vercel.app/<your-username>/sign)API:
GET /api/guestbook/:owner
POST /api/guestbook/:owner
DELETE /api/guestbook/:owner?at=<ts>
DELETE /api/guestbook/:owner?all=1git clone https://github.com/yiaany/devquest.git
cd devquest
npm install
cp .env.example .env.local
npm run devGITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
AUTH_SECRET=your_random_secret_string
NEXTAUTH_URL=http://localhost:3000
# Optional but recommended for higher GitHub API rate limits.
GITHUB_TOKEN=your_personal_access_token
# Durable Daily Battle + Guestbook storage.
# Without Redis/KV, data falls back to in-memory storage and is not durable.
KV_REST_API_URL=your_upstash_rest_url
KV_REST_API_TOKEN=your_upstash_rest_token
# Alternative Upstash env names are also supported.
UPSTASH_REDIS_REST_URL=your_upstash_rest_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_rest_tokenDeploy on Vercel:
npx vercel --prodRequired production settings:
- Add all environment variables above in Vercel.
- Set
NEXTAUTH_URLto the production URL. - Configure GitHub OAuth callback URL.
- Configure Upstash/Vercel KV for durable Daily Battle and Guestbook data.
- Added redesigned gallery landing page.
- Added inline template customizer modal.
- Added Daily Battle Product Hunt-style repository ranking.
- Added GitHub star gate for submissions.
- Added local media uploads for thumbnails and screenshots.
- Added comments, upvotes, yesterday winners and battle reset timer.
- Added live SVG battle badges.
- Fixed Main Language and Contribution Gauge card layouts.
CC BY-NC-SA 4.0 License (Attribution-NonCommercial-ShareAlike 4.0 International). Free for personal use and modification. Commercial use, reselling, or hosting paid versions is prohibited.