Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Move cities, keep your taste: an AI relocation agent on the Qloo taste graph (Qloo Agentic Hackathon)
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
TasteBridge is a relocation agent with taste. You tell it the places you love in your current city: your café, a jazz club, a cinema, an artist, or a habit like "Sunday flea markets". It then: 1. resolves each favourite in the Qloo taste graph; 2. finds its taste-equivalent in your new city ("your Drop Coffee in Lisbon is Fábrica Coffee Roasters"), with the shared taste tags and Qloo affinity behind each match; 3. ranks the neighbourhoods that fit you, using a Qloo affinity heatmap together with where your matches cluster; 4. writes a first-week plan that you can step through on a map.README 전문 보기 ↗
TasteBridge is a relocation agent with taste. You tell it the places you love in your current city: your café, a jazz club, a cinema, an artist, or a habit like "Sunday flea markets". It then:
You can watch every step of the agent's reasoning as it works.
Live demo: https://tastebridge-teal.vercel.app. It needs no login. Three pre-baked journeys replay instantly, and you can also build your own.
Built for the Qloo Agentic Hackathon (2026).
Moving abroad for work or study is lonely. The admin of a move is well served by apps; the cultural side is not. Most people spend months finding "their" café, bar or venue again. Relocation teams in HR know that slow social integration is a major reason international assignments fail. TasteBridge treats taste as something you can carry with you: it starts from what you already love and translates it, place by place, into a new city.
All Qloo calls run server-side through a typed client (src/lib/qloo/client.ts). The client sends
X-Api-Key to https://hackathon.api.qloo.com and includes response caching (6 h LRU), an outbound token-bucket rate
limiter, and bounded retries on 429.
| Agent tool | Qloo endpoint | Purpose |
|---|---|---|
search_entities | GET /search with filter.location=<home city lat,lon>, plus an unbiased lookup for artists and films | Resolve "Drop Coffee" to the Stockholm roastery, not one of the other Drop Coffees in Turkey, Brazil or Japan |
lookup_tags | GET /v2/tags with filter.parents.types=urn:entity:place | Turn habits or vibes ("natural wine", "vintage shopping") into place tag ids |
find_equivalents | GET /v2/insights with filter.type=urn:entity:place, filter.location.query=<new city>, signal.interests.entities=<one favourite>, filter.tags=<its primary genre>, filter.exclude.tags=<hotels…>, feature.explainability=true | One like-for-like "then → now" match per favourite (wine bar → wine bar), with explainability |
find_equivalents (habit) | GET /v2/insights with filter.tags=<the habit's tags> and signal.interests.entities=<the places already resolved> | Places that carry the habit, ranked by your taste |
find_taste_matches | GET /v2/insights (places, all resolved favourites as signals) | Broader picks for the week plan |
rank_neighbourhoods | GET /v2/insights with filter.type=urn:heatmap | Taste affinity per geohash cell, aggregated into named neighbourhoods |
/api/search (UI) | GET /search | Autocomplete for the favourites input |
The final submit_plan step is validated on the server. The model can only reference entity ids that Qloo actually
returned, and unknown ids are dropped, so the agent cannot invent venues. Shared tags are computed from Qloo tags (with
logistics tags such as payments or wheelchair access filtered out), not written by the model. Each favourite gets a
different target place. Matches below 50% affinity are labelled as weak signals.
Qloo results are aggregate affinities and say nothing about any individual. TasteBridge sends Qloo only public cultural entities and city names, never personal data.
/search is global, so a name like "Drop Coffee" returns cafés on four continents. Passing filter.location with the
home city's centre fixes this. That filter only returns places, so a second, unbiased call keeps artists reachable./v2/insights with filter.location.query can include nearby towns (Cascais for Lisbon, Mississauga for Toronto).
We over-fetch and keep places within 11 km of the centre. filter.location.radius had no effect in our tests.signal.interests.tags) was slow (~15 s) and noisy for places. Filtering by
tags while ranking with entity signals was fast (<1 s) and precise.filter.exclude.tags removes lodging and similar genres.flowchart LR
U[Browser<br/>Next.js + MapLibre] -- POST /api/agent --> A
A -- NDJSON stream:<br/>thoughts, tool calls, plan --> U
subgraph Server [Vercel function]
A[Agent loop<br/>run.ts] -- function calls --> G[Gemini<br/>3.8-flash → fallbacks]
A --> T[Tools<br/>tools.ts]
T --> V[Plan validator<br/>ids must come from Qloo]
T --> Q[Qloo client<br/>cache · rate limit · retries]
A -. LLM down or quota hit .-> P[Deterministic autopilot<br/>same tools]
P --> T
end
Q -- X-Api-Key --> QL[(hackathon.api.qloo.com<br/>/search · /v2/tags · /v2/insights)]
GEMINI_FALLBACKS). If all are used up, the deterministic autopilot finishes the same job with the same
Qloo tools, and the trail says so.public/journeys/*.json, made with npm run bake) replay instantly.QLOO_API_KEY is not set, the client serves offline fixtures shaped like Qloo responses
(src/lib/qloo/mock.ts), so the project runs for anyone without a key. The deployed site uses the live API.tests/live-shapes.test.ts checks the parsers against trimmed real responses recorded from the hackathon
API; the other tests cover the agent and the mock client.npm install
cp .env.example .env.local # add QLOO_API_KEY and GEMINI_API_KEY (both optional)
npm run dev # http://localhost:3000
npm test # vitest: Qloo client + agent
Requires Node 20+.
Built by Teddy Wasserman with substantial assistance from Claude Code (Anthropic's AI coding agent), which wrote much of the code under my direction. Taste data comes from the Qloo Taste AI API. The agent runs on Google Gemini. Map tiles © OpenStreetMap contributors, © CARTO.
MIT licensed. See LICENSE.