culture-compass / README.md
guicybercode's picture
Clarify app-level privacy wording
b1d9d4f verified
|
Raw
History Blame Contribute Delete
4.19 kB
metadata
title: Culture Compass
sdk: static
app_file: index.html
license: mit
datasets:
  - guicybercode/japan-math-philosophy-prompts
  - guicybercode/iceland-tech-christian-ethics-prompts
tags:
  - education
  - multilingual
  - mathematics
  - philosophy
  - technology-ethics

Culture Compass

Culture Compass is a dependency-free static interface for exploring two small, multilingual datasets published on Hugging Face:

The interface chrome can be switched independently between Brazilian Portuguese, English, and Simplified Chinese. Dataset, content language, and topic filters are kept separate so the interface language never implies that a content translation exists.

Important status notice

Both source datasets are experimental AI-generated drafts. They have passed structural checks but have not completed independent human review. Human review is required before classroom use, model use, or promotion as curated material. The interface preserves the source datasets' fictionality, pluralism, cultural boundary, and review notices; it does not turn them into verified cultural or religious claims.

How it works

The browser fetches each selected dataset's public data/train.jsonl file from an immutable, reviewed Hugging Face commit: 0b472efffdcd5b0b6a166cab21ca318108711629 for the Japan dataset and 99a46bd5df9d6af3d7226e4836cb28d4d754f3b7 for the Iceland dataset. Updating either snapshot requires an explicit code change and a new Space review. Responses are cached only in memory for the current page session. The app itself adds no analytics, account access, local storage, tracking, server-side processing, or bundled copy of either dataset. Hugging Face serves the page and injects its small public window.huggingface.variables metadata object into Static Spaces; Culture Compass does not read or use that object.

All remote fields are inserted into the page with DOM textContent. The app does not use innerHTML, eval, or remote templates. Source links and fetch URLs come from a fixed local allowlist.

The interface includes loading, empty, error, and retry states. Dataset changes cancel obsolete requests, while successful responses are cached in memory. Remote responses have explicit time, byte-size, and record-count limits.

Local preview

No build step or package installation is needed:

cd activities/culture-compass-space
python3 -m http.server 8000

Then open http://localhost:8000. Network access to huggingface.co is needed to load the live source data.

Tests

The suite uses Node's built-in test runner and has no third-party dependencies:

node --test tests/app.test.js

The tests exercise JSONL parsing, stable group identity, language/topic filtering, random selection, small schema fixtures, Hugging Face metadata, accessible HTML contracts, remote-text rendering safeguards, responsive CSS, dark mode, and reduced-motion behavior. Fixtures intentionally contain only a few synthetic shape examples rather than copies of the published datasets.

Accessibility and visual system

Culture Compass uses semantic landmarks, a skip link, persistent labels, keyboard-visible focus, an atomic live region, at least 44px control targets, and CSS that remains usable at 375px. The palette and twelve-column editorial grid follow a Swiss Modernism 2.0 direction for adults and educators. Dark mode follows the operating-system preference, and nonessential transitions are removed when reduced motion is requested. Only local system font fallbacks are used; the Space makes no font, image, script, or stylesheet requests to CDNs.

License

The interface code and documentation are licensed under the MIT License. The remote dataset contents are not relicensed or bundled here; each remains under the license and terms stated in its own repository.