Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Turns a person's life story into a personalised oracle deck — AI text and AI art, one card
at a time — then runs readings and a daily ritual on it.
Live at https://mystech-v5.vercel.app.README 전문 보기 ↗Turns a person's life story into a personalised oracle deck — AI text and AI art, one card at a time — then runs readings and a daily ritual on it.
Live at https://mystech-v5.vercel.app.
Free tier is 11 lifetime card credits and one reading a day. Pro is $4.99/mo — 50 credits a month, five readings a day, every spread, the better model. A printed deck is $49.
npm install
cp .env.example .env.local # then fill it in — see "Environment" below
npm run dev # http://localhost:3000
.env.local in this repo points at the production database. npm run db:push migrates
production. Read CLAUDE.md before running anything that writes.
npm test # Vitest — 391 tests, 40 files
npx tsc --noEmit # typecheck
npm run lint # eslint (28 pre-existing errors, all React Compiler rules)
npm run build # production build
Signing in locally goes through Google OAuth. For a headless walk, POST /api/auth/test-login
mints a session without it — dev only, 404 in production. An optional { email, role } body
(any @example.com address) mints a different, genuinely new user, which is the only way
to see what a stranger sees.
| Purpose | Variables |
|---|---|
| Database | DATABASE_URL (Neon) |
| Auth | AUTH_SECRET, AUTH_GOOGLE_ID, AUTH_GOOGLE_SECRET |
| AI text | GOOGLE_GENERATIVE_AI_API_KEY (Gemini 2.5 Flash) |
| AI art | STABILITY_AI_API_KEY (Stability AI Core) |
| Storage | BLOB_READ_WRITE_TOKEN (Vercel Blob) |
| Payments | STRIPE_SECRET_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY, STRIPE_PRO_PRICE_ID, STRIPE_WEBHOOK_SECRET, STRIPE_PORTAL_CONFIG_ID |
| Nightly cron | CRON_SECRET, GITHUB_TOKEN, VERCEL_TOKEN |
RESEND_API_KEY, ADMIN_EMAIL | |
| Optional | GOOGLE_CLOUD_TTS_API_KEY (read-aloud), ELEVENLABS_API_KEY, NEXT_PUBLIC_APP_URL, EMAIL_FROM |
Card art is the thing to watch. A Stability balance of zero returns 402 payment_required
and every card in every new deck fails. There is no fallback image.
src/app/(marketing)/ landing, pricing
src/app/(app)/ today · decks · story · chronicle · paths · settings · profile
src/app/(admin)/admin/ feedback queue, prompts, users, deployments
src/app/api/ 108 routes
src/lib/ai/prompts/ every system prompt, one file per surface
src/lib/db/schema.ts Drizzle schema — the source of truth for the database
scripts/art-harness.ts seeded N-sample card-art harness (see below)
digests/ nightly health digests, committed by the cron
docs/audit-2026-09.md the last full read of this app, and what it found
Twelve pre-2026-06 URLs are config redirects in next.config.ts, not pages.
Art quality is the product's biggest open problem: for abstract subjects the model falls back to its own "oracle card" prior — a robed woman — whatever the card was about. Never tune the prompt from one image. The harness exists for exactly this:
npx tsx scripts/art-harness.ts --variant=baseline # 12 fixed subjects × 3 seeds
npx tsx scripts/art-harness.ts --variant=v1 --subjects=star-seed,veiled-galaxy
It writes a contact sheet to .art-harness/<variant>/SHEET.jpg. Look at the sheet, count the
failures, and only then change a prompt. docs/audit-2026-09.md has the current baseline.
Vercel cron gathers health data at ~20:10 UTC and commits digests/<date>.json; a Claude Code
remote agent reads it at 21:00 UTC and commits the markdown beside it. CLAUDE.md has the
architecture and the runbook.
Direct to main, push, Vercel deploys. No pull requests anywhere in this repo.