Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
방문 국가와 날짜를 URL에 저장해 오프라인에서도 사용할 수 있는 개인 지도
A personal map of every country you've been to, and when. No account, no server — your map is encoded in the URL. Works offline, installs to your home screen, and uses an equal-area projection so ever
라이프스타일HTML · JavaScriptGitHub @amay91온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A personal map of every country you've been to, and when. No account, no server — your map is encoded in the URL. Works offline, installs to your home screen, and uses an equal-area projection so every country's size is honest.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A personal map of every country you've been to, and when.
Click a country (or type its name) to record the years you were there and whether you visited, lived there, or call it home. The map fills in, the count ticks up, and a side panel keeps the whole list sortable. 195 countries plus 45 territories, the territories tracked separately so they never inflate the official count.README 전문 보기 ↗A personal map of every country you've been to, and when.
Click a country (or type its name) to record the years you were there and whether you visited, lived there, or call it home. The map fills in, the count ticks up, and a side panel keeps the whole list sortable. 195 countries plus 45 territories, the territories tracked separately so they never inflate the official count.
Live: amay91.github.io/nomadic-traveller-map
There is no server, no database, and no account. Your map is encoded directly into the page URL — a real map of 13 countries is about 104 characters. Bookmark the link and you've saved your map; email it to yourself and you've backed it up; open it on another device and it's there. Nothing is ever stored anywhere you don't control.
It's also a single static page with zero runtime dependencies. No framework, no bundler, no build step — the deploy workflow copies app/ to GitHub Pages exactly as it sits in the repo. All the hand-written code is about 61 KB.
It works offline and installs like an app. A service worker caches the shell (network-first, so you always get the current version when online), and the manifest makes it installable to a phone home screen.
2011-2014, or 2023- for ongoing, which reads back as "2023–present".No install, no dependencies:
python -m http.server 5180
Then open http://localhost:5180/app/. A real http:// origin is needed only for the service worker and PWA install — everything else works from a double-clicked file.
To run the tests:
node --test tests/*.test.mjs
nomadic-traveller-map.html is the entire app — markup, styles, scripts, geometry and icons — inlined into one ~400 KB file with zero external references. Copy it anywhere and open it; it works with no network and no setup. It exists because opening a multi-file app from a phone's Downloads folder doesn't work: Android hands the browser a content:// URI with no directory, so every relative path resolves to nothing.
Regenerate it with node tools/build-single.mjs.
This repo carries its full design history, not just the code:
| File | What's in it |
|---|---|
product_spec.md | What the product is and why, plus the quality bar |
plan.md | Locked architectural decisions and how it's built |
tasks.md | Status — the source of truth — with every task's acceptance criterion |
handoff.md | Read first if you're picking this up cold; gotchas worth knowing |
docs/design-studies/01-map/ | The nine-round interactive design study the build came from |
Vanilla HTML, CSS and JavaScript, as classic <script> tags rather than ES modules — modules and fetch both fail on file://, and opening by double-click was a requirement.
Geometry is pre-projected at development time rather than at runtime: tools/build-geo.mjs takes Natural Earth's 1:50m data (via world-atlas), projects it with d3-geo's Equal Earth projection, simplifies it, and writes plain SVG path strings to app/geo.js. Equal-area matters here — a map built to compare where you've been shouldn't exaggerate the countries nearest the poles.
The country list follows Worldometers' 195, with UN M49 continents split into North and South America.
Map data from Natural Earth (public domain) via world-atlas, projected with d3-geo. Both are development-time dependencies only — nothing is loaded at runtime.