API Reference
API Reference/Apps/Ollin

Ollin “movement”

org.poca.ollin

Ceremonies, healing practices, and cultural articles: an open-source reader, never the owner, of community content, with optional Mukurtu integration that honors cultural protocols.

PAC directory: ceremonies/types: discovery, article, artifactReact in WebView

Architecture note

Ollin is a Vite + React app in an Android WebView shell. In the current build, PAC-shaped content is bundled at build time (a glob of per-item card.json + article.json / slides.json); reading the same layout live from the PAC card is the documented production model. The only native JS bridge today is haptics. Plan content against the schemas below; they are identical either way.

Card types

typeCompanion fileRendered as
discoveryslides.jsonFull-screen swipeable story.
articlearticle.json (body_html, gallery, keywords)Long-form reader.
artifactarticle.json with an artifact recordMuseum-style artifact view with provenance.

card.json contract

Universal POCA keys (card_id, app_id: "ollin", type, slug, title, description, image, image_thumbnail, updated_at, featured) plus Ollin extensions:

KeyShape
kindstring
duration_minutesnumber, optional
taxonomy{ category, topics[], modality, collection? }
community{ nation, territory?, contributor, contributor_role?, avatar? }
themepalette object driving the item’s accent colors

Items whose card_id starts with mukurtu_ are classified as Mukurtu-sourced; everything else is PAC-sourced.

Mukurtu integration

A working Drupal JSON:API client reads digital_heritage nodes from a community’s Mukurtu site: list, fetch, communities, and a per-community sync (persistence of synced items is still stubbed). Cultural safety is enforced twice: items hydrate their TK Labels and access protocols, and a defense-in-depth protocol gate refuses to render anything whose protocols don’t match the viewer. PAC is primary; Mukurtu is optional and supplementary.

Last updated: July 2026
PreviousMetztli