๐ฌ Building Skin Lab Rx: Bringing Clinical AI to the Browser
์์ฝ
Skin Lab Rx๋ ์ผ๋ฐ์ ์ธ ์ํ๋ฉด์ 14๊ฐ์ง ์์ ์งํ์ ๋ง์ถคํ ํผ๋ถ ๊ด๋ฆฌ ๋ฃจํด์ผ๋ก ๋ณํํ๋ AI ๊ธฐ๋ฐ ์ง๋จ ํ๋ซํผ์ ๋๋ค. ์ด ํ๋ก์ ํธ๋ ์ฌ์ฉ์๊ฐ ์์ ์ ํผ๋ถ๋ฅผ ์ค์บํ๋ฉด ์ฆ์ ํน์ ๊ด์ฌ์ฌ(์ฌ๋๋ฆ, ์๋ถ ๋ถ์กฑ ๋ฑ)์ ์ํฅ์ ๋ฏธ์น๋ ์ ํ์ ์ถ์ฒํ์ฌ '์ ๋ก ๋ง์ฐฐ' ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ํนํ, ์์ AI์ ๋ฐ์ดํฐ ํ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ธ๋ผ์ฐ์ ์์ ์ค์๊ฐ ์ด๋ฏธ์ง ์ ์ฒ๋ฆฌ ์์ง์ ๊ตฌํํ๊ณ , ๋ฐฑ์๋ ์ค๋ฅ ๋ฐ์ ์์๋ ์ฌ์ฉ์ ํ๋ฆ์ด ๋๊ธฐ์ง ์๋๋ก ๋ณต์๋ ฅ ์๋ ํด๋ฐฑ ๋ฉ์ปค๋์ฆ์ ๊ตฌ์ถํ ๊ฒ์ด ํน์ง์ ๋๋ค.
ํต์ฌ ํฌ์ธํธ
- **์์ AI์ ์ ๊ทผ์ฑ ํฅ์:** ์ผ๋ฐ ์ฌ์ฉ์๊ฐ ์ฐ๋ ์บ์ฃผ์ผ ์ํ๋ฉด์์๋ ์์ ์์ค์ ์ ๋ฐ ์ง๋จ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ ์ ์๋๋ก ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ์๋ํํ์ต๋๋ค.
- **Zero-Friction ์ฌ์ฉ์ ๊ฒฝํ ์ค๊ณ:** ๋ณต์กํ ๋ฐ์ดํฐ ์ ๋ ฅ ์์ด, ์ค์บ๊ณผ ๋์์ ๋ง์ถคํ ์ ํ ์ถ์ฒ์ ์ ๊ณตํ์ฌ ๋์ ์ฌ์ฉ์ ๋ง์กฑ๋๋ฅผ ๋ชฉํ๋ก ํ์ต๋๋ค.
- **๊ณ ๊ธ ํ๋ก ํธ์๋ ๊ธฐ์ ํ์ฉ:** Next.js 16์ Vanilla CSS๋ฅผ ์กฐํฉํ์ฌ ๋น ๋ฅด๊ณ ์ปค์คํฐ๋ง์ด์ง๋ ๊ธ๋์ค๋ชจํผ์ฆ ๋คํฌ ํ ๋ง์ SPA๋ฅผ ๊ตฌ์ถํ์ต๋๋ค.
- **๊ฒฌ๊ณ ํ ํ๋ก๋์ ๋ ๋ฒจ ์ํคํ ์ฒ:** ์์ API ์ค๋ฅ๋ ๋ฐ์ดํฐ ํ์ง ๋ฌธ์ ๋ฐ์ ์์๋ ์๋น์ค๊ฐ ์ค๋จ๋์ง ์๋๋ก ๋ฐฑ์๋ ํด๋ฐฑ(Fallback) ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ์ฌ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
ํผ๋ถ ๊ด๋ฆฌ (Skincare) ๋ ๋งค์ฐ ๊ฐ์ธ์ ์ธ ์์ญ์ด์ง๋ง, ์ฐ๋ฆฌ๊ฐ ๋ฐ๋ ์กฐ์ธ์ ์ข ์ข ์ผ๋ฐ์ ์ ๋๋ค. Perfect Corp ร Startup World Cup Hackathon ์์ ์ ๋ ๊ณ ๊ธ ์คํ์ ์์ ํผ๋ถ๊ณผ ์ฌ๋ฌด์ค์ ์๋ ๋ค๋ฆฌ ๊ฐ์ ๊ฒ์ ๋ง๋ค๊ณ ์ถ์์ต๋๋ค. Skin Lab Rx ๋ฅผ ์๊ฐํฉ๋๋ค: ๋จ์ํ ์ํ๋ฉด (selfie) ์ 14 ๊ฐ์ ์์ ์งํ (clinical report) ์ ๋ง์ถคํ ํผ๋ถ ๊ด๋ฆฌ ๋ฃจํด์ผ๋ก ๋ณํํ๋ AI ๊ธฐ๋ฐ ์ง๋จ ํ๋ซํผ์ ๋๋ค.
The Vision
๋ชฉํ๋ ๊ฐ๋จํ์ต๋๋ค: ์ ๋ก ํ๋ฆญ์
(Zero friction), ์ต๋ ์ ํ๋. ์ฌ์ฉ์๊ฐ ์์ ์ ํผ๋ถ๋ฅผ ์ค์บํ๊ณ ์ฆ์ ํน์ ๊ด์ฌ์ฌ (acne, hydration, fine lines ๋ฑ) ์ ์ค์ ๋ก ์ํฅ์ ๋ฏธ์น ์ ํ์ ๋ณผ ์ ์์์ผ๋ฉด ํ์ต๋๋ค.
The Tech Stack
Next.js 16 (App Router): lightning-fast, SEO-optimized SPA foundation ์ ์ํด.
Perfect Corp AI APIs: ํผ๋ถ ๋ถ์๊ณผ ๊ฐ์ ๋ฉ์ดํฌ์
์ ์ก์ ํต์ฌ์
๋๋ค.
Vanilla CSS: ํ๋ ์์ํฌ๋ฅผ ๊ฑด๋๋ฐ์ด ์ปค์คํ
, ์ด๊ณ ๊ธ ๊ธ๋์ค๋ชจํผ์ฆ ๋คํฌ ํ
๋ง๋ฅผไป้ถ๋ถํฐ ๋ง๋ค์์ต๋๋ค.
FaceDetector API: ์ค์๊ฐ ์ฌ์ฉ์ ์ ๋ ฌ์ ์ํด ๋ค์ดํฐ๋ธ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ์ ํ์ฉํ์ต๋๋ค.
Solving the "Real World" Selfie Problem ๐คณ
์์ AI ์ ๊ฐ์ฅ ํฐ ๋์ ๊ณผ์ ์ค ํ๋๋ ๋ฐ์ดํฐ ํ์ง์
๋๋ค. Perfect Corp API ๋ ๋งค์ฐ ์ ๋ฐํ์ง๋ง, ์ฌ์ฉ์์ ์ผ๊ตด์ด ํ๋ ์์ ์ ์ด๋ 60% ๋ฅผ ์ฐจ์งํด์ผ ํฉ๋๋ค. ๋๋ถ๋ถ์ ์ฌ๋๋ค์ "์์" ์ํ๋ฉด์ ์ฐ์ง ์์ต๋๋ค. ๊ทธ๋ค์ ์บ์ฃผ์ผํ ์ฌ์ง์ ์ฐ์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ธ๋ผ์ฐ์ ์์ Smart Pre-Processing Engine ์ ๋ง๋ค์์ต๋๋ค. ์คํ์ฉ FaceDetector API ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ์ค์๊ฐ์ผ๋ก ์ฌ์ฉ์์ ์ผ๊ตด์ ๊ฐ์งํ๊ณ , ์
๋ก๋๊ฐ ์ผ์ด๋๊ธฐ ์ ์ API ์ ์๊ฒฉํ ๋ฒ์๋ฅผ ์ถฉ์กฑํ๋๋ก ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ๋ก ์๋ฆ
๋๋ค. ์ผ๊ตด์ด ๋๋ฌด ์๋ค๋ฉด? ์ฑ์ ์ค์ธํฉ๋๋ค. ๊ฐ๋๊ฐ ํ๋ฆฌ๋ฉด? ์ฐ๋ฆฌ๋ ๋๋๊ทธ ๊ฐ๋ฅํ ์ ๋ ฌ ํ์ (draggable alignment oval) ์ ํตํด ์ฌ์ฉ์๋ฅผ ์๋ดํฉ๋๋ค.
Production-Grade Resilience
Hackathons ๋ "๋ด ๋จธ์ ์์๋ ์๋ํจ" (it works on my machine) ๋ฐ๋ชจ๋ก ์ ๋ช
ํฉ๋๋ค. Skin Lab Rx ๋ฅผ ์ฌํ์์๊ฒ ๋ฌด๊ฒฐ์ (bulletproof) ์ผ๋ก ๋ง๋ค๋๋ก, Resilient Backend Fallback ์ ๊ตฌํํ์ต๋๋ค. ์์ API ๊ฐ ์กฐ๋ช
๋ถ์กฑ์ด๋ ์ฅ์ ๋ฌผ (์: ์๊ฒฝ) ๋ก ์ธํด ์ฌ์ง์ ๊ฑฐ์ ํ๋ฉด, ๋ฐฑ์๋๊ฐ ์ค๋ฅ๋ฅผ ์ก๊ณ ํ์ค์ ์ธ ํฉ์ฑ ์ง๋จ ํ๋กํ์ผ์ ์์ฑํฉ๋๋ค. ์ด๋ ๋ฐ๋ชจ๊ฐ ๊ฒฐ์ฝ ์ถฉ๋ํ์ง ์๊ณ ์ฌ์ฉ์ ํ๋ก์ฐ๊ฐ ์ค๋จ๋์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
What's Next?
Skin Lab Rx ๋ ์์์ ๋ถ๊ณผํฉ๋๋ค. ์ ๋ e-commerce checkout ์ ํตํฉํ๊ณ AI Makeup Transfer API ๋ฅผ ์ฌ์ฉํ์ฌ ์ฅ๊ธฐ์ ์ธ ํผ๋ถ ๊ด๋ฆฌ ๊ฒฐ๊ณผ์ "before and after" ์๋ฎฌ๋ ์ด์
์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ๊ณ ๋ ค ์ค์
๋๋ค.
๋ผ์ด๋ธ ๋ฐ๋ชจ: https://skin-lab-rx-6o7v4cleza-uc.a.run.app
๋น๋์ค ๋ฐ๋ชจ: https://youtube.com/shorts/ostMOF_5yJc?si=PfH9TpMMY670MmvN
Github Repo
์๋ฌธ(rawText): ository here: https://github.com/jmoncayo-pursuit/Skin-Lab-Rx Built with โค๏ธ for the Perfect Corp ร Startup World Cup Hackathon. https://devpost.com/software/skin-lab-rx
AI ์๋ ์์ฑ ์ฝํ ์ธ
๋ณธ ์ฝํ ์ธ ๋ Dev.to AI tag์ ์๋ฌธ์ AI๊ฐ ์๋์ผ๋ก ์์ฝยท๋ฒ์ญยท๋ถ์ํ ๊ฒ์ ๋๋ค. ์ ์ ์๊ถ์ ์์ ์์์๊ฒ ์์ผ๋ฉฐ, ์ ํํ ๋ด์ฉ์ ๋ฐ๋์ ์๋ฌธ์ ํ์ธํด ์ฃผ์ธ์.
์๋ฌธ ๋ฐ๋ก๊ฐ๊ธฐ