factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기An advanced geospatial dashboard for visualising and analysing complex urban dynamics, including footfall, demographics, and visitor interests.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗CityRhythm is an interactive map of how a city breathes through the week: where people are, who they are, how hot it feels, and how all of that could sound. It combines footfall, demographics, places, local climate and a sound layer that turns the mood of each part of the city into music. It is built for outreach: the music is there to convey feelings that images alone do not.
The data cover the Comune di Ascoli Piceno only.
The interface is in Italian.
opening_hours, or the average of places of the same type in the Marche) times the share of people found at that type of place in each hour (ISTAT time-use diaries 2008-09 via IPUMS MTUS). See src/data/luoghi-core.js.JavaScript with ES modules, no framework, built with Vite. All libraries come from node_modules at exact versions and are bundled; nothing is loaded from a CDN.
Target browsers: Chrome 110+, Safari 16.4+, Firefox 115+, including phones.
You need Node.js (with npm). No API keys or tokens are needed: map, terrain, buildings and audio are local files.
git clone https://github.com/grazianoEnzoMarchesani/cityrhythm.git
cd cityrhythm
npm install
npm run dev
Open the URL printed by Vite (usually http://localhost:5173). To try it from a phone on the same network: npm run dev -- --host 0.0.0.0.
npm run build writes a self-contained site to dist/. Pushing to main deploys dist/ to GitHub Pages through .github/workflows/deploy.yml.
Everything is served from public/data/; paths are set in src/data/config.js. The scripts that prepare the data live in sound-lab/ (Python and Node). Only data with a clear licence are kept in the repository, and every file in public/data/ has an entry in the licence inventory in second-brain/dati-legali.md.
| File | What it is | Source and licence |
|---|---|---|
luoghi_osm.geojson | 1,469 places with type, position and opening hours | OpenStreetMap, © OpenStreetMap contributors, ODbL 1.0. Derivative database, shared under the same licence (sound-lab/luoghi_osm.py) |
profili_luoghi.json, quota_in_casa.json | Hourly share of people at each type of place, and at home | Aggregates from the ISTAT time-use diaries 2008-09, harmonised in IPUMS MTUS. No microdata; every value comes from at least 30 diaries. Citations below |
cityrhythm_blimp.csv, cityrhythm_blimp_areas.kml | Presences per neighbourhood and hour (11 areas, June 2024 – February 2025) | Footfall data acquired by the University of Camerino |
lcz_ascoli.geojson, pick_giorni.bin | LCZ cells of 30 m and the per-day lookup used by the listening circle | Author's own work (sound-lab/estrai_lcz.py) |
meteo_ascoli.json | Hourly weather | Open-Meteo |
bussola.json | Compass parameters | Calibration by the project (sound-lab/) |
quartieri_disegno.geojson | Neighbourhood outlines used for drawing only | Partly ISTAT 2021 census sections, CC BY 4.0 |
mappa/ | Basemap, terrain, buildings, fonts, icons | OpenStreetMap via Protomaps; buildings from GlobalBuildingAtlas (TUM, CC BY-NC 4.0) with residents from Meta Data for Good (HRSL 2020, CC BY 4.0); terrain from Mapterhorn |
public/audio/ | Classical loops, sound effects (and debug loops) | Classical recordings from Musopen, public domain as declared by the uploader; credited in the app |
Other rules: no data from outside the Comune of Ascoli Piceno; licensed microdata (IPUMS/, ISTAT diaries, the LCZ project) and scientific papers are never committed; every sound parameter is marked as coming from a source, a project choice, or a hypothesis.
Citations for the time-use data. Kimberly Fisher, Jonathan Gershuny, Sarah M. Flood, Juana Lamote, Liana C. Sayer, Daniel Backman, Etienne Breton, and Stephanie Richards. Multinational Time Use Study Extract System: Version 1.5 [dataset]. Minneapolis, MN: IPUMS, 2025. https://doi.org/10.18128/D062.V1.5. This work uses the Multinational Time Use Study, Centre for Time Use Research, University College London, 2019, http://www.timeuse.org/mtus/reference.html.
index.html, main.js, style.css entry point, markup, styles
src/
state/store.js central store (subscribe / set / update / get)
data/ config, loading, place footfall model, state names
compass/ emotional compass: UTCI, energy, pleasantness, cell map
audio/ audio engine, Sottotraccia (rule-based music), metronomes
map/ map setup, layers, hover and click
charts/ the only module that imports ECharts
ui/ timeline, layers, area panel, sound map, circle, privacy
utils/ helpers
public/data/, public/audio/ data and sound served by the site
sound-lab/ scripts to prepare data, calibrate and test (Python, Node)
second-brain/ project memory: decisions, state, notes per topic
The pieces talk to each other only through the store. The compass is the only writer of the mood state, and the audio engine reads it, so the interface, charts, compass and audio can each be replaced independently.
second-brain/ is the project's working memory (start from SECOND_BRAIN.md): it records decisions, rejected alternatives and open questions, for people and for coding agents.
Use the DOI for all versions (10.5281/zenodo.15641270) to cite the project in general, or the DOI of a specific version (for example 10.5281/zenodo.15641271 for v1.0.0) to cite that release; all versions are listed on the Zenodo page. Please also credit the data sources listed in the app's credits panel.
The code is released under the GNU General Public License v3.0 (see LICENSE). Data and audio keep the licences listed above; some, such as the TUM buildings (CC BY-NC), restrict commercial use.
Graziano Enzo Marchesani, University of Camerino (Unicam).