Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
Wayfind는 동행·시간·예산·주행거리 등을 고려해 진짜 가치 있는 시간을 판단합니다. 실제 리뷰만 제공, 광고·유료 노출 없음
Wayfind decides what's actually worth your time — based on who you're with, when you're going, your budget, and how far you'll drive. Real reviews, no ads, no paid placement.
라이프스타일JavaScript · PLpgSQLGitHub @wallstreethyena온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Local discovery app - find the best restaurant and experiences near you
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Wayfind is a Next.js discovery app backed by owned inventory and guarded
server-side provider integrations. The interactive map uses MapLibre and needs
no Google browser key.
Copy .env.local.example to .env.local for optional integrations. Never put
paid provider credentials in a NEXT_PUBLIC_* variable: Next.js embeds those
values in browser assets.README 전문 보기 ↗Wayfind is a Next.js discovery app backed by owned inventory and guarded server-side provider integrations. The interactive map uses MapLibre and needs no Google browser key.
npm ci
npm run dev
Copy .env.local.example to .env.local for optional integrations. Never put
paid provider credentials in a NEXT_PUBLIC_* variable: Next.js embeds those
values in browser assets.
This adds the seasonal venues from the 19 October 2026 plan. It does not deploy the site, and it does not change rankings or scores. A place that is already on the live list is left as it is.
There is no .nvmrc and no engines field in package.json. The checks run
on Node 22. On the Mac, install Node 22, then confirm it:
node -v
You should see v22. Then, in the project folder:
git fetch origin
git checkout seasonal-venues-add-2026-10-19
npm ci
Create .env.local in that same folder with three lines, using your own
values. Do not commit that file.
SUPABASE_URL=https://YOUR-PROJECT.supabase.co
SUPABASE_SERVICE_ROLE_KEY=sb_secret_...
GOOGLE_MAPS_SERVER_KEY=your Google server key
The service-role key has to be an sb_secret_ key. The old JWT keys were
turned off.
Dry run first. This spends Google calls but writes no inventory:
npm run add-seasonal-venues
Every call requires the existing WAYFIND_GATE and atomic monthly ledger
allowance. Set the gate explicitly in .env.local if it is not configured.
The script does not increase budgets or provide a cap bypass.
When the matches are ready to write:
npm run add-seasonal-venues -- --apply
Each run stops at 130 billed Google calls. A dry run spends one Text Search
for every venue it can locate. Apply spends those searches again, then one
Place Details call for each verified place. Doing both is two separate runs.
Rio Body Wax is skipped. Do not run node scripts/backfill-place-photos.mjs.
The address check before Google is a free US Census lookup, so the 1 km test does not spend a Google call. The summary at the end says how many places were added, why each failure was skipped, the live place count before and after, and how many billed Google calls were used.
All paid or quota-limited provider calls run on the server. WAYFIND_GATE must
be explicitly set to free or open; an absent, misspelled, or shut value
blocks provider spend. Every provider also requires its positive finite monthly
cap and an available atomic Supabase spend ledger.
Examples include GOOGLE_GEOCODING_MONTH_CAP,
GOOGLE_TEXT_ENTERPRISE_MONTH_CAP, ANTHROPIC_MONTHLY_REQUEST_CAP, and the
provider-specific *_MONTH_CAP values documented in .env.local.example.
Cached and owned data continue to serve when a provider is unavailable or its
budget is exhausted.
node scripts/run-guards.mjs
npm run check:jsx
npm run build
The guard suite includes client-boundary discovery, atomic-ledger denial tests, authentication tombstones, public diagnostic retirement, and SSRF regression cases. Its tests use injected transports and do not call paid providers.