Bygga
제품명을 박스에 입력하면 Bygga가 3D로 모든 조립 단계와 부품·스크류·도구를 보여주고 음성으로 안내합니다
Catton 근교 1시간 45분 이내 가족 활동을 지도·주차·비용·날씨까지 안내
Family activities within 1 hour 45 minutes of Catton — kid-friendly picker with maps, parking, cost and weather for grown-ups.
라이프스타일HTML · TypeScriptGitHub @accesstechnology-mike온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Family activity picker for outings within ~1 hour 45 minutes of Catton (YO7 4SQ).
Kids browse big picture cards (fun bits, terrain, drive time). Grown-ups open the same outing on a phone for Google Maps, Tesla postcode/coords, parking, cost, weather, and a link back to the original source.
Prefer JSON over the HTML UI. Discovery:
| URL | Purpose |
|---|---|
/llms.txt | Agent instructions |
/api | Live catalogue + endpoint docs |
/api/openapi.json | OpenAPI 3.1 |
/api/suggest?q=... | Natural-language ask / suggest |
/api/activities | Structured list + filters |
/api/activities/[id] | Detail + maps + Tesla + weather |
Typical Hermes flow — one call:
curl -sS 'http://localhost:3000/api/suggest?q=stepping%20stones%20under%2045%20minutes&limit=5'
Response includes ranked suggestions[] with why, logistics fields, Maps links, and Tesla destination. Use /api/activities/{id} only when you need live weather or a refined what3words pin.
Structured filters on /api/activities: q, feature, features, source, sources, terrain, terrains, maxDrive, minDrive, maxDistanceMiles, free, ids, sort, limit, offset, view=card|full.
Cross-source (and within-source) duplicates are clustered by start coordinates (~450m) plus shared name tokens, then merged into one card per place. National Trust / OSM / English Heritage win the place identity and pin; the richest walk write-up keeps the route notes. Every origin stays on sources[] with its original URL. Sibling photos are reused before the image pipeline scrapes og:image / Wikidata.
Results are filtered by real OSRM drive time from the live geocode of YO7 4SQ (via postcodes.io). Activity cache: data/activities.json. Cloudflare-prone pages also keep a last-good HTML snapshot under data/source-cache/ (npm run sync:refresh-cache).
Photos are looked up from source pages / Wikipedia / Wikimedia when missing, then resized with sharp into local webp files under public/media/ (card ~720px + detail ~1200px) so the browse grid stays fast.
GET /api/sync at 06:00 UTC (vercel.json)npm run sync locally, or GET|POST /api/syncsyncedAt timestampSync re-polls every source, re-geocodes as needed (with data/geocode-cache.json), re-filters by drive time, refreshes image cache, and rewrites data/activities.json.
npm install
npm run sync # poll sources → data/activities.json + public/media
npm run dev
Open http://localhost:3000.
GET|POST /api/sync — refresh from sources (also on a daily Vercel cron)GET /api/weather?activityId= or lat/lng — weather onlynpm run merge:places — re-cluster the stored catalogue and backfill missing photosDestination pins use source coordinates. When a Reluctant Explorers walk includes a what3words parking address, we resolve it with the same public-page approach as what3words-convert for a more precise Maps pin. Tesla gets the postcode when known, otherwise lat/lng.
npm run build && npm run start
npm run verify