Jelli merges advanced agentic AI capabilities with a desktop companion interface powered by Tauri v2, React 19, and a secure serverless cloud edge proxy.
Designed for low latency and high responsiveness, Jelli runs a floating, always-on-top jellyfish blob on the desktop. Clicking it opens a glassmorphic chat interface that streams LLM responses character-by-character in real time. Upstream inference is routed through a secure, zero-config Cloudflare Worker proxy that isolates developer API credentials from client binary threats or network analysis.
Current scope: Core chat loop, blob animations, memory system, and cloud gateway are production-ready. Dia 2 TTS voice output and SFX are planned for the next phase.
- 🪼 Luminous Vector Blob: Dynamic, 60fps plasma energy blob featuring rotating inner filaments, particle orbits, electric dome outlines, and fluid physics-simulated swimming tentacles.
- 🪟 Two-Window Architecture: Frameless, transparent windows that move in lockstep without blocking click-through areas of the screen or capturing mouse clicks over normal Windows desktop items.
- 💬 iMessage-Style UI: Sleek, glassmorphic floating chat bubble with smooth spring animations, responsive dynamic height scaling, and autocomplete slash command navigability.
- 🔒 Secure Cloud Gateway Proxy: Centralized edge middleware (
jelli-gateway) that abstracts developer API keys (GROQ_API_KEY,MISTRAL_API_KEY,OPENROUTER_API_KEY) and prevents network sniffing. - ⚡ 3-Tier Cascading Failover: Automatic sequential fallback loops executing in the cloud (Groq
llama-3.1-8b-instant➔ Mistral Small ➔ OpenRouter Free). - 🛡️ Abuse & Injection Guardrails: Enforces IP-based rate limiting (max 10 requests per minute) and sanitizes incoming payloads to discard prompt injection or system persona overrides.
- 🔄 Mid-Stream Clear Events: Worker emits
data: [CLEAR]events on mid-stream fallback handovers, signaling the client to reset its bubble text before the next tier resumes. - 🧠 Persistent Memory: Jelli remembers facts about you across conversations using a local structured memory store — names, projects, preferences.
- 🎙️ Voice Output (Planned): Low-latency voice generation using Dia 2 with gapless streaming PCM chunk audio over Tauri IPC — infrastructure in place, activation pending TTS engine integration.
Experience a dynamic desktop companion that morphs organically based on your interactions:
The following diagram illustrates how the Two-Window desktop app coordinates with the local speech engine and the secure Cloud Worker gateway:
graph TD
User([User Click]) --> |Triggers| MainWin[Main Blob Window 140x160]
MainWin --> |Position Sync| ChatWin[Chat Textbox Window]
ChatWin --> |Input Sent| Rust[Rust Tauri Core]
Rust --> |Secure POST Request| Proxy[Cloudflare Worker Gateway Proxy]
subgraph Cloud Gateway Cascade Routing
Proxy --> |1. Try Groq| Groq[Groq API]
Proxy --> |2. Fallback| Mistral[Mistral AI API]
Proxy --> |3. Fallback| OpenRouter[OpenRouter Free API]
Groq & Mistral & OpenRouter --> |SSE Stream| Proxy
end
Proxy --> |Relayed SSE + CLEAR| Rust
Rust --> |Token Events| ChatWin
Rust --> |Planned: Generate Speech| Dia2[Dia 2 TTS Engine]
Dia2 --> |Planned: PCM Audio Chunks| Rust
Here is a quick look at the main modules of the Jelli ecosystem:
| Module | Purpose | Tech Stack |
|---|---|---|
/jelli-companion |
Desktop Client App | React 19, TypeScript, Vite, Tauri v2, CSS Glassmorphism |
/jelli-gateway |
Secure Inference Gateway | Cloudflare Workers, TypeScript, Wrangler, Miniflare |
/progress |
Roadmap & Consolidated Progress Logs | Markdown progress log archive |
- Rust & Cargo (latest stable toolchain)
- Node.js (v18 or higher)
- Wrangler CLI (for gateway worker development)
To run the serverless edge proxy gateway locally for testing:
cd jelli-gateway
npm install
# Run Wrangler dev server on local port 8787
npm run devConfigure your secrets (GROQ_API_KEY, MISTRAL_API_KEY, OPENROUTER_API_KEY) inside a local jelli-gateway/.dev.vars file.
To run the Tauri companion application in development mode:
cd jelli-companion
npm install
# (Optional) Point client to your local worker server for development
# $env:JELLI_GATEWAY_URL="http://127.0.0.1:8787/v1/chat"
npm run tauri devCheck out the progress/ folder for detailed milestone phases and changelogs.
- Phase 1: Foundation & Window Setup
- Phase 2: iMessage-Style Chat UI & Settings
- Phase 4: LLM Proxy & Gateway (Cloudflare Workers, 3-tier failover)
- Phase 6: Luminous Blob Visual Design & Two-Window Sync
- Phase 7: Secure Cloud Gateway Proxy & Client Key Abstraction
- Phase 8: Persistent Memory System (cross-session facts & user profile)
- Phase 5: TTS Voice Output (Dia 2 sidecar integration)
- Phase 9: SFX Engine (proper sound assets per expression)
- Phase 10: Personality Improvements & Model Fine-tuning






