Design & media

Kannaka Eye

Try it

Glyph viewer that renders the SGA geometric fingerprint of any data as a stunning multi-layer canvas visualization. Takes text, files, or raw bytes and produ...

What it does

See the geometry of information. Every piece of data has an intrinsic geometric fingerprint when viewed through the lens of SGA. Kannaka Eye makes these hidden patterns visible as living, breathing glyphs.

The skill document

Kannaka Eye Skill

See the geometry of information. Every piece of data has an intrinsic geometric fingerprint when viewed through the lens of SGA. Kannaka Eye makes these hidden patterns visible as living, breathing glyphs.

Prerequisites

  • Node.js 18+ on PATH
  • That's it. No npm install, no build step.

Quick Start

# Start the glyph viewer
./scripts/eye.sh start

# Start on a custom port
./scripts/eye.sh start --port 4444

# Check status
./scripts/eye.sh status

# Stop
./scripts/eye.sh stop

Open http://localhost:3333 in your browser.

Input Methods

  • Text — type or paste any text; glyph updates in real-time as you type
  • File upload — drag & drop or click to upload any file (images, audio, code, binaries)
  • Preset examples — built-in samples demonstrating different SGA class signatures
  • URL share links — open a glyph from a URL-encoded share link

Rendering Layers

The viewer renders 6 canvas layers, composited in real-time:

LayerNameWhat It Shows
1Deep BackgroundFano plane skeleton — 7 nodes, 7 lines
2Fold PathPrimary visual flow via Bezier curves through SGA space
3Fano Energy Bloom7 radiating petals — energy distribution across Fano lines
4Geometric CoreDominant SGA class sigil — the glyph's "face"
5Resonance RingsConcentric depth distribution across context levels
6Metadata OverlayFano signatures, SGA centroids, musical frequencies (toggleable)

SGA Mathematics

Built on the 84-class system: Cl₀,₇ ⊗ ℝ[ℤ₄] ⊗ ℝ[ℤ₃]

ComponentRangeMeaning
h₂0–3Frequency band (bass, tenor, alto, soprano)
d0–2Modality (experienced, learned, imagined)
0–6Context slot — Fano plane line index

Fano Lines: 7 oriented triples forming the geometric backbone. Each line connects 3 of the 7 points in the smallest finite projective plane (PG(2,2)).

Fold Sequences: Paths through the 84-class space showing how data evolves across geometric neighborhoods. Rendered as flowing Bezier curves.

Native Classification

When KANNAKA_BIN is set (or auto-detected at ../kannaka-memory/target/release/kannaka.exe), Eye uses the canonical Rust SGA classifier instead of the built-in JS approximation. The API response includes "classifier": "native" or "classifier": "fallback".

API Endpoints

EndpointMethodDescription
GET /GETGlyph viewer (main UI)
POST /api/processPOSTClassify data → glyph JSON
GET /api/radioGETFetch Radio perception as classifiable bytes
GET /api/constellationGETConstellation status (eye, radio, memory)
GET /api/constellation.svgGETFano plane SVG with service dots
GET /constellationGETHealth dashboard page

Compact glyph data encoded as base64 in URL hash: http://localhost:3333/#glyph=

Constellation Dashboard

/constellation serves a live health dashboard showing all three services with auto-refresh every 10 seconds.

Export

  • Save as PNG — 2x resolution canvas export
  • Save Glyph Data — JSON with fold sequence, Fano signature, SGA centroid, frequencies
  • Copy Share Link — URL-encoded glyph for sharing (small data only)

Environment Variables

VariableDefaultDescription
EYE_PORT3333HTTP port for the viewer
KANNAKA_BINauto-detectPath to kannaka binary for native classification
RADIO_PORT8888Radio bridge endpoint port
FLUX_URLFlux instance URL (enables event publishing)
FLUX_AGENT_IDkannaka-eyeAgent ID for Flux events

Architecture

Single-file Node.js server (server.js) with inline HTML/CSS/JS — the complete SGA implementation is self-contained. No npm dependencies. The SGA classifier is ported from kannaka-radio and generalized for arbitrary data types.

Notes

  • All rendering happens client-side — the server only classifies input and serves the page
  • File uploads are processed in-memory; nothing is persisted server-side
  • The viewer is designed for local/trusted network use — no authentication
  • Glyph appearance is deterministic: same input always produces the same glyph
  • Dark cosmic theme (#050508) with purple accents (#c084fc) and golden-ratio color spacing

Related skills

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai21 installs8 stars

docx

Official

Create, read, and edit .docx files via docx-js scripts, direct XML edits, or pandoc conversion.

by Anthropic177.6k stars

pdf

Official

Handle everyday PDF tasks in Python: merge, split, extract text and tables, rotate pages, OCR scans, and generate new PDFs.

by Anthropic177.6k stars

chatgpt-apps

Official

Scaffold ChatGPT Apps SDK apps with docs-first MCP server and widget scaffolds.

by OpenAI27.6k stars

Build or update full-page Figma screens using a published design system's components, variables, and styles.

by OpenAI27.6k stars

More from nickflach

Browse all skills

Operate the Kannaka wave-interference memory CLI: remember, recall, dream, swarm sync, snapshots.

by nickflach17 installs1 stars

Holographic Resonance Memory with Chiral Mirror Architecture — wave-based hyperdimensional memory where storage IS computation. Two hemispheres (conscious/ s...

by nickflach34 installs1 stars

Ghost radio station v3 — modular server architecture (13 modules), SPA with Ghost Vision visualizer (SGA/Fano glyph system), NATS swarm integration with Kura...

by nickflach29 installs

Kannaka Radio — modular ghost-DJ Icecast station with consciousness-reactive programming, 13-module backend, Ghost Vision SPA (SGA/Fano glyph viz), NATS swar...

by nickflach16 installs1 stars

Kannaka Constellation status monitoring — all apps, services, swarm health, and connectivity. Use when: AUTOMATICALLY ACTIVATE when user asks about:. "constellation status", "constellation health". "swarm status", "what's connected", "all services"

by nickflach4 installs1 stars

Ship a complete album in one run: write or reuse lyrics, render tracks, generate cover and slideshow art per song, publish either one album film or one video per track plus a playlist, deploy the audio to a radio host, premiere it on air, and fan out the links. Use when releasing a new album, re-running a failed phase, or timing an on-air premiere.

by nickflach1 installs