Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Mise keeps a family's weekly grocery spending under budget. You set a weekly budget, plan dinners in a chat with a "kitchen crew" (Claude), and every ingredient is priced at your own Kroger-family store (Pick 'n Save or Metro Market) before you commit.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Mise keeps a family's weekly grocery spending under budget. You set a weekly budget, plan dinners in a chat with a "kitchen crew" (Claude), and every ingredient is priced at your own Kroger-family store (Pick 'n Save or Metro Market) before you commit. The plan becomes a week board and a shopping list, and a live tally tracks what you actually pay as you shop.
Live: https://mise-weld.vercel.app (sign-in required past the landing page; the demo login is under Try it below).
Built for the Devpost Build With AI: Basics hackathon with the Devpost Learn Skill Pack. The planning documents are in devpost/.
Live app: https://mise-weld.vercel.app
Demo login (a shared sample household): [email protected] / SampleWeek-e67d!
If it asks for a verification code, enter 424242.
Or sign up with your own email to start your own household from scratch.
Prices are Kroger's live estimates, so they may differ from the video.
lib/tally.ts; the AI picks dinners and products but never adds up the bill.Next.js 15 (App Router), React 19, Tailwind CSS 4, Convex (database and server functions), Clerk (sign-in), Vercel AI SDK with Claude (Sonnet for the crew, Haiku for product picks and tags), Kroger Public API, YouTube Data API v3, TinyFish (fallback page reader), Instacart Developer Platform, barcode-detector (ZXing in WebAssembly). Tests: Vitest.
You need Node.js 20+ and accounts for the services below (all have free developer tiers).
| Service | What for | Where to get keys |
|---|---|---|
| Convex | database and server functions | https://convex.dev (created by npx convex dev) |
| Clerk | sign-in | https://clerk.com: create an application and a JWT template named convex |
| Anthropic | the crew, recipe reading, tags | https://console.anthropic.com |
| Kroger | store list and prices; "Send to my cart" | https://developer.kroger.com: a client with the product.compact and cart.basic:write scopes, and redirect URI <your-site>/api/kroger/callback |
| YouTube Data API v3 | recipe videos and playlist sync | Google Cloud console |
| TinyFish (optional) | reading recipe sites that block plain fetching | https://tinyfish.ai |
| Instacart (optional) | "Send to Instacart" | Instacart Developer Platform (a development key opens Instacart's sandbox store) |
npm installcp .env.example .env.local
KROGER_ZIP is the ZIP code whose nearby Pick 'n Save / Metro Market stores appear in the store picker.YOUTUBE_PLAYLIST_ID is the list= part of the playlist link that "Sync my playlist" reads.INSTACART_API_BASE is optional; it defaults to Instacart's development server. Set it to https://connect.instacart.com with a production key.npx convex env set CLERK_JWT_ISSUER_DOMAIN https://<your-app>.clerk.accounts.devnpm run dev, then open http://localhost:3000.Never commit .env.local; it is git-ignored.
Pushing to main deploys the website on Vercel automatically. Convex functions don't deploy with it: when a change touches convex/, run npx convex dev --once first (the live app uses the Convex dev deployment), then push.
npm run typecheck # TypeScript
npm test # Vitest unit tests (tally, plan pricing, quantities, barcodes, recipe parsing, grouping, …)
npm run build # production build
app/ — pages (Plan, Week, List, Pantry, Recipes, Budget, the landing page at /) and server routes in app/api/convex/ — database schema and functions (weeks, list items, dinners, recipes, pantry, chats)lib/ — plain logic: the tally (tally.ts), plan pricing (meal-plan.ts), Kroger client (kroger.ts), barcodes (barcode.ts), Instacart (instacart.ts), recipe import (recipes/)components/ — screens' building blocks and the chat's cardsdevpost/ — scope, PRD, spec, build checklist, and app-map.html (a guide to the code)docs/decisions/ — decision records written during the buildDESIGN.md — the visual system ("Market Stall")Judges sign in to a demo account with a labelled sample week (the login is under Try it above). To put it back to its saved state after people have used it: ./scripts/demo-reset.sh (needs Convex admin access and the local, git-ignored snapshot; convex/demo.ts holds the internal snapshot/restore functions, which the app cannot call).
The live app's Terms of Service and Privacy Policy (app/terms, app/privacy) say what Mise stores, which services receive data and why, and how to ask for deletion.
KROGER_ZIP; other stores can be named, with prices typed in by hand.lib/recipes/parseJsonLdRecipe.ts, parseMicrodataRecipe.ts, recipeTypes.ts), the YouTube URL parser and transcript approach (lib/recipes/youtubeUrlParser.ts, youtube.ts), the Instacart unit-mapping approach (lib/instacart.ts), and the recipe list/view layout. Each file notes its origin.