iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
노래를 찾아 감정을 담은 가사를 골라 보내세요 Margo가 공유할 수 있게 바꿔줍니다
Find a song, pick the line that says what you feel, and send it to someone. Margo turns the lyric you are feeling into something you can share.
미디어TypeScript · CSSGitHub @scottgagabutera-spec온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A social music platform for emotional expression through lyrics and songs.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Margo is a social platform where people communicate through song lyrics. Post a lyric, pick the feeling behind it, and others resonate — or reply with their own lyric (a Lyric Back). The whole conversation stays inside music.
Live at trymargo.com
/song/[id]./song/[id]| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router), React 19, TypeScript 5.7 |
| Database | Supabase (Postgres + Realtime) |
| Auth | Supabase Auth — httpOnly cookie session |
| Icons | PlayPauseIcon, HeartIcon — custom SVG only |
| Audio | Cloudflare R2 via lib/audio-engine |
| APIs | Genius, YouTube Data API v3, OpenAI |
| Hosting | Vercel |
| Analytics | Vercel Analytics (cookieless) |
| Fonts | Geist Sans (UI), Lora (lyrics), Sora 700 (logo) |
| Route | Description |
|---|---|
/ | Landing |
/feed | Main lyric feed |
/discover | Discover Moments + catalog entry |
/discover/songs | Full song grid |
/song/[id] | Karaoke / full player |
/compose | Post a lyric |
/lyric-back | Reply with a lyric |
/post/[id] | Post thread |
/messages | DMs |
/notifications | Alerts |
/profile/[username] | Public profile |
/studio | Artist uploads |
/apply-artist | Artist application |
/settings | Account settings |
/about /contact /privacy /terms /dmca | Static / legal |
/admin | Admin (hidden — B+G desktop, 10s press mobile) |
/music and /music/player permanently redirect to Discover / /song/[id].
app/ Next.js App Router
components/ Shared UI (nav, cards, mini-player, admin)
hooks/ Supabase data + identity hooks
lib/ Audio engine, Supabase clients, suggest/catalog helpers
supabase/migrations/ Schema history (keep applied files)
docs/ Plans — many are shipped; see status banners
public/ Static assets
Read CLAUDE.md and MARGO_BRAND.md before writing any code.
npm install
cp .env.example .env.local # fill placeholders; never commit .env.local
npm run dev # localhost:3000
npx tsc --noEmit # must be zero errors before commit
npm test # unit tests (includes Lyric Back layout/keyboard checks)
npm run build
npm run test:e2e:lyric-back # Playwright — LB panel keyboard/layout fixture
Env reference: .env.example (Meilisearch, Suggest spend cap, rate-limit table notes). Search index setup: docs/infra/meilisearch.md. Supabase grant/RLS changes: docs/supabase-grant-rls-checklist.md.
Always branch from main. Never commit secrets (.env).
trymargo.com
[email protected]
linkedin.com/company/trymargo