CleanFrame
삼성 The Frame용 개인 홈 화면, 포크와 맞춤을 위한 시작점
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Intent-based travel personalization, built as a layer inside an OTA. Product decisions and architecture: BUILD_SPEC.md.
npm install
npm run dev # http://localhost:3000, uses an embedded Postgres in ./.pglite
npm test # engine tests (polarity flip, filters, budgets, variants)
Add XAI_API_KEY to .env.local to turn on Grok for chat slot-filling and the "why this fits you" summary. Without it, rule-based fallbacks run.
supabase/schema.sql in the SQL editor; the app also creates the schema and seeds itself on first request. You can also run DATABASE_URL=... npm run db:setup.DATABASE_URL: the pooler stringXAI_API_KEY: your xAI keyXAI_MODEL (optional): defaults to grok-4-fast-non-reasoningDATABASE_URL the app falls back to in-memory Postgres per instance, which works for a quick look but does not persist. Use Supabase.npm run extract re-mines all reviews with Grok (the offline batch job) and recomputes aspect scores.| Path | What |
|---|---|
lib/engine/plan.ts | Filters, scoring, plan assembly, readiness, diversity |
lib/engine/weights.ts | Intent weight matrix (need × party × profile) |
lib/data/reviews.ts | Synthetic reviews, extraction, intent-conditioned aggregation |
lib/engine/profile.ts | Onboarding pairs, persona, contrastive learning, reason chips |
lib/engine/triggers.ts | Long weekends, bridge days, nudge cadence |
lib/llm.ts | Grok client and slot filling (+ rules fallback) |
app/api/* | Route handlers |
app/* | Screens |
public/items/, lib/item-photos.json | Photos for destinations, stays and activities, from Wikimedia Commons under free licences. Each slide credits its photo; the full list is in public/items/CREDITS.md. Stays are fictional, so their photos show the real setting (ghat, lake, village), not a specific property. |
public/covers/, lib/cover-photos.json | Four separate photos per destination for plan cards and plan headers, never the carousel's. The trip type picks which one, so the same place looks different across For You rows. Credits in public/covers/CREDITS.md. |