Which K-Pop idol do you look like? AI face matcher trained on K-Pop idols from Korea's top 3 entertainment companies — SM, JYP, YG.
🌐 Live Demo: https://moony01.com/kpopface/
K-Pop Idol Face Test is a real-world AI web application that uses Google's Teachable Machine to analyze a user's face and match them with the most similar K-Pop idol. The model is trained on idols from Korea's three major entertainment agencies — SM, JYP, YG — and the app is built as a multilingual Jekyll site with global SEO across 15 languages.
- 🎯 AI Face Matching — Powered by Google Teachable Machine
- 🌏 15 Languages — Korean, English, Indonesian, Turkish, Spanish, Japanese, French, German, and more
- 📱 Mobile-First PWA — Installable as a mobile app, fully responsive
- 🔍 SEO Optimized — FAQ schema, multilingual hreflang, structured data
- 📊 Production-Ready — Google Analytics 4, AdSense, Search Console fully integrated
- ⚡ Free & Instant — No signup, no payment, results in seconds
| Layer | Technology |
|---|---|
| Frontend | Jekyll, SCSS, Vanilla JavaScript |
| AI / ML | Google Teachable Machine (cloud API) |
| Data Pipeline | Python 3.9 + Selenium (image scraping) |
| Hosting | GitHub Pages |
| Analytics | Google Analytics 4, Google Search Console |
| Monetization | Google AdSense |
| Mobile Wrapper | React Native WebView (Android — discontinued) |
This is not a toy project — it serves real traffic from K-Pop fans worldwide.
| Metric | Value |
|---|---|
| Sessions | 5,513 |
| Unique Users | 5,239 |
| Pageviews | 11,665 |
| Search Impressions (GSC) | 37,649 |
| Search Clicks (GSC) | 5,155 |
| Average CTR | 13.69% |
| Top 3 Countries | Indonesia (66%), South Korea (14%), USA (3%) |
| Mobile Traffic | 81.5% |
Top Search Queries (English):
- "kpop face test" — Rank 1.6
- "my idol face" — Rank 5.6
- "kbs test face" — Rank 1.7
🔗 Try it now: https://moony01.com/kpopface/
Available languages: 🇰🇷 한국어 / 🇺🇸 English / 🇮🇩 Bahasa Indonesia / 🇹🇷 Türkçe / 🇪🇸 Español / 🇯🇵 日本語 / 🇫🇷 Français / 🇩🇪 Deutsch / and 7 more.
- Upload a photo — Take or select a clear, front-facing photo
- AI analyzes facial features — Sent to Google Teachable Machine API for face matching against trained idol dataset
- Get your top idol matches — Closest matches from SM, JYP, YG agencies in seconds
- Ruby 3.0+ (Download)
- Bundler
git clone https://github.com/moony01/kpopface.git
cd kpopface
bundle install
bundle exec jekyll serveOpen http://localhost:4000/kpopface/
- Scrape idol images:
pip install selenium python scraper.py
- Upload images to Teachable Machine
- Replace the model endpoint URL in
assets/js/
kpopface/
├── _layouts/ # Jekyll templates
├── _config.yml # Site config + i18n
├── en/, id/, ja/... # Per-language entry points (15 langs)
├── assets/
│ ├── css/ # SCSS styles
│ └── js/ # Teachable Machine API client + UI logic
├── sitemap.xml # SEO
└── manifest.json # PWA manifest
- Lighthouse Mobile: 90+ (PWA, accessibility, best practices)
- Indexed Pages: 25+ across 15 languages
- Structured Data: WebApplication + FAQPage JSON-LD schemas
- i18n: hreflang tags for all 15 language variants
When you upload a photo, it is sent to Google's Teachable Machine API for face analysis — Google's terms of service apply for that processing step. We do not store your photos on our own servers, and we do not associate uploaded photos with any user account (the app has no login). Beyond standard Google Analytics page-view metrics and AdSense ad serving, no personal data is collected.
For details on what Google does with image data sent to Teachable Machine, refer to Google's Privacy Policy.
- Google Teachable Machine — No-code ML training
- Jekyll — Static site generator
MIT License © 2024–2026 moony01
You are free to use, modify, and distribute this code. Attribution appreciated.
- 👤 Author: @moony01
- 📧 Email: mun01180@gmail.com
- 🌐 Website: moony01.com
- 💖 Sponsor: github.com/sponsors/moony01