Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Hack for Humanity
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Find a home based on where your life happens – not just where you think you should live.
HomeMatch is a commute-based housing search for Dublin. Instead of asking "Where do you want to live?", it asks "Where do you need to go?" – then ranks homes by how well they fit your budget, your commute, your public transport options and your lifestyle, and explains why each one was recommended.
Built for the Hack for Humanity – Local Track hackathon. 📑 View the pitch deck (PDF)
Property sites make you pick an area first, then filter by price and bedrooms. But most people don't need one specific neighbourhood – they need to reach work, school, family and childcare easily and affordably, with or without a car.
Because people instinctively search as central as possible, demand concentrates in a few areas and prices rise disproportionately, while well-connected homes further out go unseen.
The result: a suitable home often exists somewhere you never thought to look, because it appears "too far" on a map even though it sits next to a tram stop, or a home that looks close has no useful transport at all.
| Traditional search | HomeMatch | |
|---|---|---|
| Starting point | Area → Properties | Your destinations → Properties |
| Distance | Straight-line / map distance | Real door-to-door commute time by your chosen modes |
| Results | Strict filters (hide anything that misses) | Match Score that surfaces good trade-offs |
| Transparency | A list | "Why we recommended this" – strengths and trade-offs |
Example: a €1,800/month apartment that isn't walkable to your office but is beside a Luas stop and needs no car can outrank a closer one with poor connections.
Renters and buyers new to a city, students, young professionals, families, people changing jobs, people without cars, and hybrid workers – including households with several people going to several places.
docs/whimsy.md).Every property is scored rather than hard-filtered:
| Component | Weight |
|---|---|
| Affordability | 35% |
| Commute (weighted by destination importance × visits/week) | 30% |
| Transport connectivity (from GTFS stop/line data) | 15% |
| Property requirements (type, bedrooms, …) | 10% |
| Lifestyle (nearby amenities) | 10% |
For each destination, HomeMatch builds candidate journeys for the modes you picked and times each leg on OpenStreetMap:
The first search for a new set of destinations takes ~10 s (requests are spaced out for the shared OSRM server); repeats are served from cache.
| Route | Purpose |
|---|---|
/ | Landing page with the Luas-door hero |
/preferences | Budget, bedrooms, max commute, transport modes, destinations |
/results | Ranked property cards + map |
/properties/[id] | Property detail, "why it matches", commutes, amenities |
POST /api/match | Takes preferences, returns ranked MatchResult[] (validated, JSON-only, 16 KB cap) |
GET /api/amenities/[propertyId] | Precomputed nearby amenities |
next.config.mjs, input validation in lib/validate.ts| Data | Source | When |
|---|---|---|
| Listings (11 Dublin rentals + 2 sample purchase listings) | Daft.ie – coordinates, rooms, facilities in lib/data.ts | static |
| Stops and which lines serve them | NTA GTFS timetable → data/generated/transit.json | build time |
| Journey times | OSRM table service, batched + cached | request time |
| Kindergartens, schools, groceries | OpenStreetMap Overpass → data/generated/amenities.json | build time |
| Destination coordinates | OpenStreetMap Nominatim (1 req/s, cached) | request time |
| Map tiles | OpenStreetMap via Leaflet | browser |
Requires Node ≥ 22.18 (the data scripts import lib/data.ts using Node's built-in TypeScript support). No API keys needed.
npm install
npm run dev # http://localhost:3000
The generated data in data/generated/ is committed, so the app runs straight away.
| Script | What it does |
|---|---|
npm run dev | Start the dev server |
npm run build / npm start | Production build / serve |
npm run lint | Lint the project |
npm run prepare-data | Refresh GTFS transit data (~1 min) and OSM amenities (a few min) |
npm run build:transit / npm run build:amenities | Run either data step on its own |
app/ Pages and API routes (landing, preferences, results, properties, /api/*)
components/ Map, header/footer, commutes panel, UI + whimsy components
lib/ Matching engine (matching.ts), listings (data.ts), validation,
transit/ (OSRM routing, GTFS connectivity, geocoding)
data/generated/ Prebuilt transit and amenity data
scripts/ build-transit.mjs, fetch-amenities.mjs
docs/ design-system.md ("Night Line"), whimsy.md
public/hero/ Hero imagery
Better search won't solve housing supply, but it can improve housing discovery. HomeMatch does the transport analysis for you, so people can find well-connected homes in areas they hadn't considered – without researching every district of the city.
HomeMatch is Skyscanner for housing. Don't search neighbourhoods. Search for the home that fits your life.
Built by Alper Ergüne, Guillermo Garcia and Kacper Kotwica for the Hack for Humanity Local Track.
No license has been specified yet.