Asili v2.0
origin · essence · source
not connected Community key ?A password for your community's data. Required to submit or access voices. Provided by your Civic Designers organizer.
Community ? Select which community's voices to work with. Two communities are set up: Our Voices Unbound and Table of Free Voices. Each has its own separate corpus and key.
Connect engine to begin
Voice Input
📄 Drop .txt · .pdf · .docx or click to upload
Analysis

Reflection and dimensional analysis will appear here.

Media Input
🎙️
Drop audio file
mp3 · wav · m4a · Zoom recordings
Transcribing…
Analysis
🎙️

Single voice — audio transcribed and analyzed through all 10 dimensions. For recordings with multiple speakers, use Group Session.

Group Session
🗣️
Drop session recording
Engine transcribes → parses speakers → analyzes each
Processing…
Elders Youth Mixed ages Leadership Open community Caregivers
Before a decision During a crisis Reflecting on change Planning ahead Ongoing dialogue Healing / processing
🗣️

Session portrait and speaker cards will appear here.

CSV Collection
📂
Drop CSV file
Table of Free Voices · any community collection
Response text *
Speaker opt
Question opt
Theme opt
Thumbnail opt
Rows loaded
Process max rows
Delay between calls (ms)
Goes to community

Load a CSV to begin batch processing. Results appear in Voices, Patterns, Quotes, and Wisdom tabs.

Source: session only
0 voices shown
Filter:
Time
How people speak
How they know

Voices appear here once they've been analyzed. Use "Add Voices" in the sidebar — text, audio, or video all work.

Pattern analysis appears once voices have been analyzed.

Quotes surface here as voices are analyzed.

Wisdom extracts appear here as voices are analyzed.

Analytics build as you add voices to the collection.

Across Communities
What's resonating beyond any single place — patterns that surface across all communities connected to this engine

Connect to the engine and load a corpus to see cross-community patterns.
Requires voices from at least two communities in the database.

Public national mirror endpoint: /public/national/patterns — available once you have 2+ communities.

Resonant Voices
Voices carrying similar meaning

Loading resonant voices…

Share Links
Public URLs for this community — share with participants or embed in your site.
🪞 Community Mirror
Public view of what this community is saying — no login required.
cktmirror.pages.dev
↗ Open
📝 Submit Portal
Where community members submit their voices — text, audio, or video.
— select a community —
Export
Download data from your collection for external use, reporting, and archiving.
⬇ Full Database Backup
Complete archive — all communities, all approved voices, all pending submissions, all CKT analysis. Timestamped JSON file. Save this somewhere safe.
Full Results JSON
All analyzed voices with complete 10-dimension data, reflections, wisdom extracts, and integrity flags.
Quotes CSV
All extracted quotes — short, medium, and core insight — with speaker attribution.
Voices by Identity CSV
Speaker, community role, connection, years, consent scope, and 10-dimension summary — one row per voice.
Questions Underneath
All high-confidence latent questions surfaced from this collection — for dialogue design and facilitation.
Collective Portrait
The synthesized narrative portrait of this collection as plain text.
Needs Review
Voices flagged by the integrity system as needing human facilitation attention.
Clear Session
Remove all results from this session. Does not affect data stored in the engine.
Visual Expression
🖼️
Drop image, drawing, photo, artwork
jpg · png · gif · webp · Claude Vision analyzes the visual language
Analysis
🖼️

Upload a drawing, photo, or any visual expression. The engine reads it as a voice — the same way it reads spoken or written words.

Pending Review
Submissions from the community portal waiting for organizer approval before appearing in the mirror.

No submissions pending review. Voices submitted via the community portal appear here.

Tools
For organizers and community — drawn from what's surfacing in your collection.
💬
Dialogue Prompts
Questions drawn from what's surfacing — for gatherings, small groups, or one-on-one check-ins.
organizer + community
Community Reflection
Guided sensemaking walkthrough — what's true, what surprises you, what's missing.
community
Action Mapping
Turn what's surfacing into commitments. What needs to happen, who carries it, by when.
organizer + community
🪞
Community Mirror Session
See what the engine noticed in your collection — then respond together. Push back, add what's missing, or say what rang true. Every response becomes part of the record.
community
★ Core session tool
requires voices in collection
📋
Community Brief
A synthesized narrative of what this community is saying — grounded in their own words, for sharing with partners or funders.
organizer
✉️
Community Letter
A letter to decision-makers in the community's own voice — based on the patterns and questions surfacing in this collection.
organizer + community
🧭
Facilitation Guide
A session guide for organizers — drawing on the themes, tensions, and wisdom in this collection to design the next gathering.
organizer
Questions Underneath
The latent questions this community is carrying — surfaced from across all voices, organized by urgency and pattern.
organizer + community
Collective Portrait
A full narrative portrait of this collection — the emotional arc, the wisdom, the tensions, the threshold this community is standing at.
organizer + community
The Codex stores speaker identities — names, pronouns, roles, photos — only on this device. Nothing in the Codex is ever sent to the AI engine or stored in the cloud. When a voice is analyzed, only the text travels; the human behind it stays here.
🔒 Zero cloud footprint. Your people, your device, your control.
How to use: Attach a name, pronouns, and photo to any voice via ✎ Identity on the voice card. Identities are encrypted with your community key and synced to the engine — so any device with the same key sees the same names.
◌ not synced
Tool
Admin Settings
Engine health, community management, and corpus cleanup. Changes are permanent.
Total voices
Communities
Pending review
Database size
First voice
Most recent
⚠ Changes here are permanent. Deleting a community removes all its voices from the database. Renaming moves all voices to a new ID. These actions cannot be undone. The wildcard key is required.
Load community data above ↑
Rename a community
Moves all voices from one community ID to another. If the target already exists, voices will merge into it.
Delete a community
Use the ✕ Delete button on each community in the list above.
Click ↻ Refresh in the Community Manager section first to see the list.
Delete a single voice
Remove one voice by its ID. Find the ID on the voice card or in an export.
Community keys are set in your Render environment variables as CKT_API_KEYS. Format: community-id:key,community-id:key
Current communities to configure:
our-voices-unbound:your-key-here table-of-free-voices:your-key-here
Add to Render → your service → Environment → CKT_API_KEYS. Deploy to apply.
Keys can be any random string — no spaces, no special characters. e.g. ovu2026riverstreet
🔑 Wildcard key (admin access)
The wildcard key gives access to all communities and enables admin operations (rename, delete, stats). Set it in Render as a separate environment variable:
CKT_DEFAULT_API_KEY=your-wildcard-key-here
Enter this key in the Community Key field in the topbar to use admin features. Keep this key private — it bypasses community-level access controls. Default if not set: test-key-123
Chart
Asili™  · 
← → to navigate  ·  space to pause  ·  esc to exit
voice 1 of 1
Civic Designers  ·  with community, not for community