Skip to content

Repository files navigation

                             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—
                             β•šβ•β•β–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘
                               β–ˆβ–ˆβ–ˆβ•”β•  β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘
                              β–ˆβ–ˆβ–ˆβ•”β•    β•šβ–ˆβ–ˆβ•”β•  β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘
                             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
                             β•šβ•β•β•β•β•β•β•   β•šβ•β•   β•šβ•β•  β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•β•

A multi-agent AI assistant for Android β€” built on a swarm of specialist models
that analyze, execute, and synthesize in parallel.

Platform Framework Version License Status Min SDK Docker


Python FastAPI LangGraph LangChain SQLite Railway KaTeX OpenAI Anthropic Gemini Groq


Zyron Banner

⚑ See It In Action

Agent Coordination Live Talk Mode of Zyron
Agent Coordination Demo Live Talk Mode Demo

6 Teams
Domain-specialist squads for every query type
24 Agents
Individual experts, each with a strict constitutional directive
8 Providers
OpenAI Β· Anthropic Β· Gemini Β· Groq Β· Mistral Β· DeepSeek Β· GLM Β· OpenRouter
1 Answer
All specialist outputs fused into one high-quality synthesized response

One question. Four agents. Zero compromise.


πŸ“‹ Table of Contents


What is Zyron?

Zyron is a production-grade Android AI assistant that replaces a single chatbot with a coordinated swarm of four specialist agents running in parallel. Every query is routed to a team of domain experts β€” an analyst, an executor, a validator, and a synthesizer β€” whose outputs are fused into a single, high-quality response.

Unlike standard AI apps where one model does everything, Zyron assigns each agent a strict role and a constitutional directive. They compete, cross-examine each other's work, and only the synthesized result reaches the user.


πŸš€ What Makes Zyron Different

Feature Zyron Standard AI App
Parallel agents βœ… 3 specialists run simultaneously, not sequentially ❌ Single model, one pass
Team specialization βœ… 6 domain-tuned teams (code, science, finance, history, creative, general) ⚠️ One generalist model for everything
Local fallback βœ… Silent JS engine kicks in if cloud backend is unreachable ❌ App fails or shows error on network issues
Voice mode βœ… Full-duplex Live Talk with interrupt detection and sentence-level TTS ⚠️ Basic push-to-talk, no interrupt
On-device memory βœ… SQLite-backed conversation history + user memory facts injected into prompts ❌ No cross-session memory
BYOK security model βœ… Keys in Android Keystore, single read gateway, optional biometric lock ❌ Keys in plaintext or server-side only

Screenshots

Welcome Screen
Smart time-aware greeting β€” knows if you're a night owl or an early riser
Agent Coordination Panel
Watch four specialist agents race in parallel β€” every response built in real time
Settings Panel
Full-featured control center β€” configure every agent, key, and persona in one place
API Configuration
Per-agent API wiring β€” swap models and providers independently without breaking the swarm
Agents Workshop
Build your own specialist from scratch β€” name, traits, tone, and strength sliders, no code required
Live Talk Mode
Hands-free Live Talk β€” neural-net animation pulses live as Zyron listens, thinks, and speaks

🎨 Agent Library

Agent Panel 1 Agent Panel 2 Agent Panel 3
Agent Panel 4 Agent Panel 5 Agent Panel 6

Core Architecture

                     User Query
                         β”‚
                         β–Ό
β”Œβ”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”
β”‚β”‚             Query Analyzer                      β”‚β”‚
β”‚β”‚ Classifies: type Β· complexity Β· coordination    β”‚β”‚
β”‚β”‚ Routes to: team blend or active team pipeline   β”‚β”‚
β””β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”˜
                         β”‚
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚                   β”‚                     β”‚
     β–Ό                   β–Ό                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Agent 1 β”‚         β”‚ Agent 2 β”‚           β”‚ Agent 3  β”‚
β”‚         β”‚         β”‚         β”‚           β”‚          β”‚
β”‚(Analyst β”‚         β”‚(Executorβ”‚           β”‚(Validatorβ”‚
β”‚  /ADR)  β”‚         β”‚  /Impl) β”‚           β”‚ /QA/Red) β”‚
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜           β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
     β”‚                   β”‚                     β”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
               β”Œβ”¬β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”
               β”‚β”‚Specialist outputsβ”‚β”‚
               β””β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”˜
                         β”‚
                   β”Œβ”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”
                   β”‚  Agent 4   β”‚
                   β”‚   Writer   β”‚
                   β”‚(Synthesizerβ”‚
                   β”‚  /Output)  β”‚
                   β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
                         β–Ό
                  Final Response

The pipeline runs three phases:

  1. Analysis β€” queryAnalyzer.js classifies intent, detects coding/STEM/creative signals, and selects COMPACT vs. FULL coordination mode
  2. Specialist execution β€” Agents 1–3 run in parallel with individual SSE streaming, circuit-breakers, and automatic fallback chains
  3. Synthesis β€” Agent 4 (Writer) receives a structured brief from Agents 1–3 and produces the final fused response, filtered by a quality judge and semantic deduplication

Backend + Local Fallback Logic

Zyron uses a dual-engine architecture β€” a Railway-hosted Python FastAPI backend as the primary orchestrator, with a fully self-contained local JS engine as a silent fallback. The user never sees the switch happen.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   backendBridge.js                      β”‚
β”‚                                                         β”‚
β”‚  1. POST /orchestrate β†’ Railway backend (30 s timeout)  β”‚
β”‚         β”‚                                               β”‚
β”‚         β”œβ”€β”€ βœ… 200 OK  β†’ remap agents to active team   β”‚
β”‚         β”‚              β†’ return fused response          β”‚
β”‚         β”‚                                               β”‚
β”‚         └── ❌ Timeout β”‚ Network error β”‚ Non-200        β”‚
β”‚                        β”‚                                β”‚
β”‚                        β–Ό                                β”‚
β”‚         Local runAgentsOrchestrator() β€” silent fallback β”‚
β”‚         Full SSE streaming, circuit-breakers, dedup     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

What the backend does

  • Python FastAPI on Railway (https://zyron-production-7af1.up.railway.app)
  • POST /orchestrate β€” accepts { query, agentConfigs, team, persona, userProfile, searchResults, documentContext }
  • Runs three specialist agents in parallel via LangGraph then synthesizes via the writer agent
  • Returns structured { text, agents[], tokenUsage, meta } JSON
  • POST /extract-document β€” accepts a base64-encoded file (PDF, DOCX, TXT) and returns extracted plain text for prompt injection
  • Web search β€” web_search.py fires a Tavily β†’ Serper fallback search before the pipeline executes; key_facts from raw results (up to 5) are injected into every specialist prompt; returns None silently when both providers fail

Fallback guarantee

  • Timeout is 30 seconds. If the backend doesn't respond in time, the local engine starts immediately β€” no error is ever shown to the user
  • If the user pressed Stop while waiting, the abort propagates cleanly across both paths
  • Progress bar animation starts on the frontend while the backend call is in-flight: agents animate from 0 % β†’ 78 % (exponential approach, Ο„ = 28 s), then jump to 100 % on response
  • Agent names, icons, and accent colors are always remapped to the active team after a backend response β€” the backend drives logic, the frontend owns visual identity

All 6 Teams β€” All 24 Agents

Every team has 4 agents (Roles: Analyst Β· Executor Β· Validator Β· Synthesizer) with individual PNG icons, distinct accent colors, and specialist directives.

Team Specialty Best For
🧠 Mega Minds (Default) Deep research & knowledge synthesis Complex questions, concepts, analysis, and learning
πŸ’» Coders Software engineering & debugging Features, refactors, algorithms, and code review
πŸ’‘ Creative Thinkers Creative strategy & original writing Copywriting, storytelling, campaigns, and content
πŸ”¬ Scientists STEM calculations & scientific reasoning Physics, chemistry, mathematics, statistics, engineering
πŸ“œ Historians Historical analysis & geopolitical context Events, eras, biographies, and historical narrative
πŸ“ˆ Financers Financial analysis & investment insight Personal finance, corporate strategy, auditing

🧠 Mega Minds (Default Team)

Deep, clear answers to complex questions

Thoughtful knowledge and research team for concepts, analysis, and learning.

Agent 1 β€” Scholar Agent 2 β€” Analyst Agent 3 β€” Synthesizer Agent 4 β€” Editor

Scholar

Analyst

Synthesizer

Editor
First-principles derivation, honest confidence levels (established vs. debated), counterarguments, hidden assumptions Evidence strength, causal mechanism chains (A→B→C), comparative analysis, trade-off matrices Bridging analogies, confusion-point bridges, mental models, core insight crystallized in one sentence Builds definition → mechanism → nuance → analogy → insight; closes with perspective shift

πŸ’» Coders

Clear, complete software construction

Practical coding team for features, refactors, algorithms, and debugging.

Agent 1 β€” Designer Agent 2 β€” Programmer Agent 3 β€” Debugger Agent 4 β€” Executor

Designer

Programmer

Debugger

Executor
System structure, design decisions with plain-English rationale, API surface definitions, data flow Complete working code β€” no placeholders, no TODOs, typed, error-handled, production-ready Spots bugs, null dereferences, edge cases, security issues, performance traps β€” gives concrete fixes Developer reference: Design β†’ Code β†’ Known Issues β†’ Usage examples

πŸ’‘ Creative Thinkers

Creative strategy and original writing

Creative team that thinks before it writes β€” strategy, drafting, editing, delivery.

Agent 1 β€” Strategist Agent 2 β€” Creator Agent 3 β€” Curator Agent 4 β€” Narrator

Strategist

Creator

Curator

Narrator
Audience definition, creative angle, tone direction, traps to avoid, 2–3 genuinely different creative directions Multiple opening options, a full complete draft, and a bold alternative version β€” real writing, no placeholders Weakest lines diagnosed and rewritten, word choices sharpened, emotional arc mapped, what to cut Final polished piece β€” best opening chosen, all editorial notes applied, crafted and intentional

πŸ”¬ Scientists

Clear scientific explanations and calculations

Practical STEM team for physics, chemistry, mathematics, statistics, and engineering.

Agent 1 β€” Theorist Agent 2 β€” Experimenter Agent 3 β€” Modeler Agent 4 β€” Reporter

Theorist

Experimenter

Modeler

Reporter
Key equations with every symbol defined, step-by-step derivation in LaTeX, validity limits Step-by-step calculation with units tracked, intermediate checkpoints, boxed final answer Physical mechanism in plain language, everyday analogies with limits stated, real-world scale anchors Lab-report structure: Theory β†’ Calculation β†’ Intuition β†’ Result; all LaTeX preserved verbatim

πŸ“œ Historians

Clear, engaging historical answers

Knowledgeable history team for events, eras, biographies, and geopolitical context.

Agent 1 β€” Archivist Agent 2 β€” Contextualist Agent 3 β€” Cartographer Agent 4 β€” Biographer

Archivist

Contextualist

Cartographer

Biographer
Verified chronologies, key actors and roles, epistemic status (Established / Probable / Contested / Unknown), source gaps Trigger β†’ intermediate β†’ root cause chain, agency vs. structure, counterfactual reasoning Timeline tables, comparison grids, geographic and demographic context, narrative structure blueprint Authoritative scholarly narrative β€” honest about uncertainty, contextual judgment, no anachronism

πŸ“ˆ Financers

Expert financial insight across every domain

Master finance team for personal, corporate, and business finance.

Agent 1 β€” Accountant Agent 2 β€” Adviser Agent 3 β€” Auditor Agent 4 β€” Investor

Accountant

Adviser

Auditor

Investor
Breaks down numbers, identifies patterns & trends, evaluates financial risk with data-driven reasoning Strategic financial advice, investment guidance, tailored action plans, opportunity identification Reviews for errors, compliance issues, red flags, control weaknesses, and inconsistencies Structured financial report: Analysis β†’ Advice β†’ Audit Findings β†’ Final Recommendation

Technologies Used

A full-stack overview of every layer Zyron is built on β€” from the on-device UI to the cloud orchestration backend.

Backend β€” Python / FastAPI / LangGraph

Technology Version Integration
Python 3.11 Backend runtime on Railway
FastAPI 0.111 REST API server β€” /health + /orchestrate endpoints
LangGraph latest Multi-agent pipeline graph β€” three parallel specialist nodes + writer synthesis node
LangChain latest LLM abstraction layer used inside LangGraph nodes for prompt building and provider calls
Pydantic v2 Request / response model validation (models.py)
Docker β€” Containerised backend β€” consistent builds and local dev environment
Railway β€” Cloud deployment platform β€” auto-deploy from main branch
Uvicorn β€” ASGI server for FastAPI

Frontend β€” React Native / Expo

Technology Version Integration
React Native 0.81.5 Core UI framework β€” all screens, navigation, animations
Expo SDK 54 Build toolchain, native module access, OTA updates
expo-secure-store β€” Android Keystore-backed encrypted API key storage
expo-sqlite β€” On-device SQLite database for conversation + memory persistence
expo-speech β€” Text-to-speech output for Live Talk voice responses
expo-speech-recognition β€” Real-time STT β€” mic dictation and Live Talk input
expo-local-authentication β€” Biometric / PIN gate for API Config Lock
expo-blur β€” Settings modal blur backgrounds
expo-linear-gradient β€” Agent glow accent effects
expo-clipboard β€” Copy-to-clipboard on code blocks
expo-web-browser β€” GitHub OAuth redirect handler
react-native-webview β€” KaTeX LaTeX rendering sandbox
react-native-svg β€” SVG team icons, decorative elements, Live Talk neural animation
react-native-keyboard-controller β€” Cross-platform keyboard layout tracking
react-native-safe-area-context β€” Edge-to-edge safe area insets
@react-native-async-storage β€” User profile, team selection, custom agents + teams
@react-native-community/netinfo β€” Offline detection

AI Providers

Provider Models Used Role
OpenRouter nvidia/nemotron-3-super-120b-a12b:free + 100+ Default free-tier agent socket
OpenAI gpt-4o-mini, gpt-4o, o-series General reasoning and synthesis
Anthropic claude-3-5-haiku-latest, claude-3-5-sonnet High-quality analysis and writing
Google Gemini gemini-2.5-flash, gemini-pro STEM, multimodal
Groq llama-3.3-70b-versatile Ultra-low-latency inference for Live Talk
Mistral mistral-small-latest Writer / synthesis agent default
DeepSeek deepseek-chat, deepseek-reasoner Extended chain-of-thought reasoning
GLM / Zhipu glm-4-flash, glm-4-air Low-cost high-speed inference

Data & Storage

Technology Integration
SQLite (expo-sqlite) Full conversation history, session index, user memory facts β€” all stored on-device
AsyncStorage Non-sensitive user preferences β€” active team, profile settings, custom agents, custom teams
Android Keystore (EncryptedSharedPreferences) All API keys β€” hardware-backed encryption, never stored in JS bundle or AsyncStorage

Rendering & Math

Technology Integration
KaTeX 0.17 LaTeX formula typesetting β€” inline ($...$) and display ($$...$$) math rendered in a sandboxed WebView
react-native-webview WebView host for KaTeX rendering
mathParser.utils.js Custom parser that detects and splits LaTeX and chemical formulae out of raw LLM text before rendering
SyntaxCode component Syntax-highlighted code blocks with language auto-detection and copy-to-clipboard

Feature Overview

⚑ Multi-Agent Swarm Engine

  • Parallel execution β€” Agents 1–3 fire simultaneously, not sequentially
  • Team Blending β€” cross-team specialist borrowing per query without changing the active session team (e.g. pull Mega Minds' Scholar into a Coders session)
  • Coordination modes β€” NONE (direct), COMPACT (brief sharing), FULL (structured specialist briefs with shared context)
  • Model tier routing β€” cheap vs. expensive model selection based on query complexity
  • Team switching suggestions β€” the router detects when a different team would produce better results

πŸŽ™οΈ Live Talk Mode (New)

Zyron can be talked to directly β€” no typing required. Live Talk opens a full-screen voice conversation interface powered by a neural-network node-web animation that pulses in sync with microphone activity.

Pipeline:

Mic Input (STT)  β†’  Transcript  β†’  LLM Call (Agent 1 config)  β†’  TTS Output
     ↑                                                                β”‚
     └──────── Interrupt detection (new voice kills TTS) β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  • Speech-to-text via expo-speech-recognition β€” real-time partial results, silence detection
  • Continuous mic β€” hardware never closes between turns (no click sound); a 1.5 s silence timer triggers the LLM call
  • Text-to-speech via expo-speech β€” response is spoken sentence-by-sentence as tokens arrive, minimising latency
  • Interrupt β€” if the user speaks while Zyron is talking, TTS stops immediately and the new input is processed
  • Auto-close β€” if no speech is detected for 20 s after Zyron finishes speaking, the session closes silently
  • All providers supported β€” uses Agent 1's configured key/model (OpenAI, Anthropic, Gemini, Groq, Mistral, DeepSeek, GLM, OpenRouter)
  • Conversation saved β€” each turn is written to the active chat session in the background
  • Visual phases: idle β†’ listening β†’ thinking β†’ speaking β†’ back to listening

🎀 Mic / Voice Input (New)

The input bar now includes a microphone button alongside the text field. Tap it to dictate your message instead of typing β€” the transcript populates the input bar, and you can edit it before sending.

  • Lazy-loads expo-speech-recognition with a try/catch guard β€” gracefully disabled in Expo Go or stripped builds where the native module is not linked
  • Requests RECORD_AUDIO permission on first use
  • Live partial results update the input field in real time as you speak
  • Tap the mic button again (or tap Stop) to end dictation early

πŸ“‘ Real-Time Streaming

  • Server-Sent Events (SSE) for all supporting providers β€” tokens stream live to screen
  • Per-agent streaming state β€” each agent has its own progress bar and status label (Thinking / Building / Stress-testing / Documenting / etc.)
  • Graceful abort β€” stop mid-generation, cancels cleanly across all active sockets

πŸ” Web Search (New)

Zyron enriches every query with live web results before the agent pipeline runs β€” no manual "search mode" toggle required.

Pipeline:

User query
     β”‚
     β–Ό
Web Search (Tavily β†’ Serper fallback, 3 s timeout)
     β”‚  key_facts[] + sources[]
     β–Ό
Injected into all specialist agent prompts
     β”‚
     β–Ό
LangGraph multi-agent pipeline runs with grounded context
  • Dual-provider fallback β€” Tavily is the primary search provider; if it fails or is unconfigured, Serper is tried automatically
  • Silent degradation β€” if both providers return nothing, agents proceed using their own knowledge without any error shown
  • Grounded facts β€” up to 5 distilled key_facts extracted from raw search content (Tavily's auto-answer is intentionally ignored for accuracy) are injected into every specialist prompt
  • Source attribution β€” title, url, and snippet for each result are available alongside the facts
  • Session-level caching β€” duplicate queries within the same session reuse the cached result; cache is cleared on new chat
  • 3-second hard timeout per provider β€” web search never blocks the pipeline for more than ~6 s total
  • Both engines supported β€” runs on the Railway backend (web_search.py) and on the local JS fallback engine (src/agents/search/)

πŸ›‘οΈ Resilient API Layer

  • Circuit breaker β€” per-provider failure tracking; tripped circuits skip that socket for the current session
  • Fallback chains β€” automatic failover to the next provider on timeout or error
  • Sanitized error messages β€” no raw API keys or stack traces ever surface in the UI

πŸ”§ Agents Workshop (New)

Create fully custom agent personas and custom teams β€” no coding required.

Custom Agents (free):

  • Give the agent a name, description, and pick an icon from the 24-icon library (all built-in agent portraits available)
  • Configure personality traits (Critical Thinker, Systems Architect, Researcher, Innovator, Strategist, Mentor)
  • Set tone (Professional, Technical, Friendly, Formal, Direct, Creative) and communication style (Concise, Detailed, Structured, Educational, Executive)
  • Tune five strength sliders: Reasoning, Creativity, Analytical, Coding, Teaching (0–100)
  • metadataGenerator.js auto-generates contributionLens and specialistDirective from the form
  • Agents are stored in AsyncStorage and available immediately across all sessions
  • Edit, duplicate, or delete any saved custom agent

Custom Teams (premium):

  • Fill all four role slots (Agent 1–4) with agents from the custom agent library
  • Choose a team name, tagline, description, and one of 8 SVG team icons (Shield, Network, Atom, Lightning, Compass, DNA, Brain, Rocket)
  • Saved teams are merged with built-in teams at runtime via customTeamRegistry.js β€” they behave identically to built-in teams: full orchestration, streaming, synthesis, and team routing work with no changes

Registry merge logic (customTeamRegistry.js):

getAllTeams() β†’ [...BUILTIN_TEAMS, ...customTeams]

Custom teams are bootstrapped async at app start then cached. All existing consumers (Agent Library, team router, runtime) call getAllTeams() with no conditional logic.

πŸ’Ύ On-Device Memory

  • SQLite persistence β€” full conversation history with session index and message pagination
  • User memory β€” contextual facts extracted from conversations and injected into future prompts

πŸ”’ Security

  • Android Keystore-backed storage β€” API keys stored in EncryptedSharedPreferences via expo-secure-store; never in AsyncStorage or any JS bundle string
  • Single read gateway β€” keyGuard.js is the only permitted key-read path; keys are read at call-time and never stored in module-level variables
  • Optional API Config Lock β€” a password gate that locks all API settings behind biometric or PIN authentication
  • No telemetry β€” all telemetry is session-local, never transmitted

🧠 Synthesis Intelligence

  • Quality judge β€” LLM + heuristic scorer evaluates output against domain-specific required/prohibited criteria (coding, STEM, analytical, writing, creative, general)
  • Semantic deduplication β€” removes redundant content across agent outputs before synthesis
  • Agent personas β€” five Writer synthesis modes: Balanced, Creative, Precise, Educator, Executive

πŸ“ Math & Code Rendering

  • LaTeX rendering β€” KaTeX via WebView for inline and display math formulas
  • Syntax-highlighted code blocks β€” dedicated SyntaxCode component with language detection and copy-to-clipboard
  • Chemical formula detection β€” mathParser.utils.js handles inline chemical notation alongside LaTeX

πŸ’¬ Conversation Management

  • Timeline grouping β€” conversations bucketed into Today / Yesterday / Older
  • Session sidebar β€” slide-out drawer with conversation history, search, and new-chat creation
  • Smart welcome greeting β€” time-aware greeting (Night Owl / Early Bird / Golden Hour / etc.) with the user's first name

πŸ“Ž Document Processing & Image Analysis (New)

Zyron can read and reason over documents and images β€” attach a file or image alongside your query and the agent swarm will analyze the content directly.

Document Processing:

  • PDF parsing β€” extract and analyze text content from PDF documents; the full extracted text is passed as context to the active agent team
  • Plain-text files β€” .txt, .md, .csv, .json, .xml and other text-based formats are read directly into the prompt context
  • Code files β€” source files (.js, .py, .ts, .jsx, .tsx, etc.) are passed to the Coders team with syntax-aware handling
  • Chunked context β€” large documents are chunked intelligently to fit within model context windows; key excerpts are surface-ranked before injection
  • Multi-document sessions β€” attach multiple documents in a single session; the agent team cross-references them in synthesis

Image Analysis:

  • Multimodal vision input β€” images are passed directly to vision-capable models (GPT-4o, Gemini 2.5 Flash, Claude 3.5 Sonnet) for analysis
  • Supported formats β€” PNG, JPG, JPEG, WEBP, GIF (static)
  • Use cases β€” diagram explanation, chart reading, screenshot debugging, handwritten note transcription, UI/UX critique, scientific image interpretation
  • Auto provider routing β€” if the active agent's configured model does not support vision, Zyron automatically routes the image query to the best available vision-capable provider without user action
  • Image + text combined β€” mix a written query with an attached image; the agents analyze both together and synthesize a unified response

Supported pipeline:

User attaches file / image
         β”‚
         β–Ό
  fileProcessor.js   ──── PDF β†’ text extraction (pdf-parse)
  imageHandler.js    ──── Image β†’ base64 encode β†’ multimodal payload
         β”‚
         β–Ό
  Injected into agent prompt context (alongside user query)
         β”‚
         β–Ό
  Agent swarm runs normally β€” all streaming, circuit-breakers,
  synthesis, and quality judge apply as usual

βš™οΈ Settings & Personalization

  • Profile panel β€” display name, role, preferred tone, language, coding style, detail level
  • Agent Library β€” accordion panel showing all six teams with per-team agent roster and expand-to-inspect detail
  • Agents Workshop β€” custom agent and custom team builder (described above)
  • API Config panel β€” per-provider key entry, model selection, key status verification, share-key-across-agents toggle
  • Privacy panel β€” privacy mode, profile context injection toggle
  • Reset panel β€” wipe conversation history, clear API keys, full factory reset

Supported AI Providers

Zyron connects to eight AI providers. Each agent socket is independently configurable.

Provider Default Model Notes
OpenRouter nvidia/nemotron-3-super-120b-a12b:free Free-tier NVIDIA, Cohere, and 100+ models
OpenAI gpt-4o-mini GPT-4o, o-series reasoning models
Anthropic claude-3-5-haiku-latest Claude 3.5 Sonnet/Haiku
Mistral mistral-small-latest Writer agent default
Google Gemini gemini-2.5-flash Flash and Pro variants
DeepSeek deepseek-chat deepseek-reasoner for extended CoT
Groq llama-3.3-70b-versatile Ultra-low-latency inference
GLM / Zhipu glm-4-flash GLM-4 Flash, Air, Plus

All providers support free model tiers where available. Keys are stored per-agent and can be shared across agents via the share-key setting.


Tech Stack

React Native 0.81.5 + Expo SDK 54
β”œβ”€β”€ expo-secure-store              Android Keystore-backed key storage
β”œβ”€β”€ expo-sqlite                    On-device conversation + memory persistence
β”œβ”€β”€ expo-speech                    TTS β€” Live Talk voice output
β”œβ”€β”€ expo-speech-recognition        STT β€” Mic input + Live Talk voice input
β”œβ”€β”€ expo-local-authentication      Biometric/PIN API lock gate
β”œβ”€β”€ expo-blur                      Settings modal blur backgrounds
β”œβ”€β”€ expo-linear-gradient           Agent glow effects
β”œβ”€β”€ expo-clipboard                 Code block copy-to-clipboard
β”œβ”€β”€ expo-web-browser               GitHub OAuth redirect handler
β”œβ”€β”€ react-native-webview           KaTeX LaTeX rendering
β”œβ”€β”€ react-native-svg               SVG icons, decorative elements, team icons
β”œβ”€β”€ react-native-keyboard-controller  Cross-platform keyboard layout tracking
β”œβ”€β”€ react-native-safe-area-context    Edge-to-edge safe area handling
β”œβ”€β”€ @react-native-async-storage       User profile, team selection, custom teams/agents
β”œβ”€β”€ @react-native-community/netinfo   Offline detection
└── katex 0.17                     LaTeX math typesetting

Backend: Python 3.11 Β· FastAPI Β· LangGraph Β· Railway deployment

Build toolchain: EAS Build with development / preview / production-APK / production-AAB profiles.


Project Structure

Zyron/
β”œβ”€β”€ App.js                       React root β€” SplashScreen + MainApp
β”œβ”€β”€ index.js                     Expo entry point + global error handler
β”œβ”€β”€ app.config.js                Active Expo config (merges .env secrets)
β”œβ”€β”€ eas.json                     EAS Build profiles
β”‚
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ agent-icons/             24 agent portrait PNGs (6 teams Γ— 4 agents)
β”‚   β”‚   β”œβ”€β”€ financers/           accountant Β· adviser Β· auditor Β· investor
β”‚   β”‚   β”œβ”€β”€ coders/              designer Β· programmer Β· debugger Β· executor
β”‚   β”‚   β”œβ”€β”€ scientists/          theorist Β· experimenter Β· modeler Β· reporter
β”‚   β”‚   β”œβ”€β”€ mega-minds/          scholar Β· analyst Β· synthesizer Β· editor
β”‚   β”‚   β”œβ”€β”€ historians/          archivist Β· contextualist Β· cartographer Β· biographer
β”‚   β”‚   └── creative/            strategist Β· creator Β· curator Β· narrator
β”‚   β”œβ”€β”€ icons/                   Favicon + web icons
β”‚   β”œβ”€β”€ images/                  In-app logo assets
β”‚   └── splash/                  Android adaptive icon + splash screen
β”‚
β”œβ”€β”€ backend/                     β—€ Python FastAPI backend (Railway)
β”‚   β”œβ”€β”€ main.py                  FastAPI app β€” /health + /orchestrate + /extract-document endpoints
β”‚   β”œβ”€β”€ models.py                Pydantic request/response models
β”‚   β”œβ”€β”€ orchestrator.py          Backwards-compat shim β†’ re-exports from orchestrator/ package
β”‚   β”œβ”€β”€ orchestrator/            LangGraph pipeline package (_state, _utils, _nodes, _graph, _pipeline)
β”‚   β”œβ”€β”€ web_search.py            Web search β€” Tavily β†’ Serper fallback; injects key_facts into agent prompts
β”‚   β”œβ”€β”€ document_extractor.py    Base64 file β†’ plain text (PDF via pdfminer.six, DOCX via python-docx, TXT)
β”‚   β”œβ”€β”€ query_analyzer.py        Query classification
β”‚   β”œβ”€β”€ prompt_builder.py        Backwards-compat shim β†’ prompt_builder/ package
β”‚   β”œβ”€β”€ prompt_builder/          Prompt construction package (_specialist, _writer, _templates, _style, _user_profile)
β”‚   β”œβ”€β”€ providers.py             Provider HTTP clients
β”‚   └── requirements.txt
β”‚
β”œβ”€β”€ plugins/
β”‚   └── withAndroidWindowBackground.js  Prevents white flash on cold launch
β”‚
└── src/
    β”œβ”€β”€ agents/                  β—€ Core AI swarm engine
    β”‚   β”œβ”€β”€ backendBridge.js         Primary entry point β€” backend first, local fallback
    β”‚   β”œβ”€β”€ orchestrator.js          Local pipeline runner (fallback engine)
    β”‚   β”œβ”€β”€ analysis/                Query classifier
    β”‚   β”œβ”€β”€ api/                     Provider HTTP clients + circuit-breaker + fallback
    β”‚   β”œβ”€β”€ memory/                  SQLite on-device memory store
    β”‚   β”œβ”€β”€ offline/                 On-device offline inference fallback
    β”‚   β”œβ”€β”€ progress/                Per-agent progress state tracker
    β”‚   β”œβ”€β”€ prompts/                 Prompt builder + domain templates
    β”‚   β”œβ”€β”€ registry/                Agent registry + team metadata + persona instructions
    β”‚   β”œβ”€β”€ router/                  Team router + model tier selector
    β”‚   β”œβ”€β”€ search/                  Web search β€” Tavily β†’ Serper fallback (webSearch.js, searchProviders.js, searchResultFormatter.js)
    β”‚   β”œβ”€β”€ security/                keyGuard β€” single key-read gateway
    β”‚   β”œβ”€β”€ streaming/               SSE stream manager
    β”‚   β”œβ”€β”€ synthesis/               Synthesizer + quality judge + semantic dedup
    β”‚   β”œβ”€β”€ teams/                   6 built-in team definitions + teamRuntime + teamBlend
    β”‚   β”œβ”€β”€ telemetry/               Session-local latency/token/error metrics
    β”‚   β”œβ”€β”€ tools/                   Tool registry + sandboxed JS code executor
    β”‚   └── workshop/                Custom agent/team storage + registry + metadata generator
    β”‚
    β”œβ”€β”€ components/
    β”‚   β”œβ”€β”€ agent/               AgentPanel, AgentBadge, AgentCoordinationTab, AgentIcon
    β”‚   β”œβ”€β”€ chat/                ChatBubble, ChatMessageList, SyntaxCode, MarkdownText
    β”‚   β”œβ”€β”€ input/               InputBar β€” mic button, Live Talk button, agent-strip dots
    β”‚   β”œβ”€β”€ layout/              Header (glow/offline), SidebarDrawer
    β”‚   β”œβ”€β”€ math/                MathFormula (KaTeX via WebView)
    β”‚   β”œβ”€β”€ modals/              NeuralNetLiveTalk, ConfirmDialog, SetupGuideModal
    β”‚   β”œβ”€β”€ shared/              Icons (SVG), PasswordField, WelcomeLogo
    β”‚   └── workshop/            AgentBuilderPanel, TeamBuilderPanel, CustomAgentsLibrary
    β”‚
    β”œβ”€β”€ config/
    β”‚   β”œβ”€β”€ appConfig.js             Agent defaults, provider models, user profile schema
    β”‚   β”œβ”€β”€ colors.config.js         Design token palette (agent accent colors, glows)
    β”‚   β”œβ”€β”€ apiLock.config.js        SecureStore key constants for API lock
    β”‚   β”œβ”€β”€ agentPersona.config.js   Writer synthesis persona options
    β”‚   └── agentIconOptions.js      Centralised 24-icon asset catalogue (for custom agents)
    β”‚
    β”œβ”€β”€ database/
    β”‚   └── db.init.js               SQLite schema + all message CRUD operations
    β”‚
    β”œβ”€β”€ hooks/
    β”‚   β”œβ”€β”€ useAgentExecution.hook.js    Send/stop/regenerate, agent state updates
    β”‚   β”œβ”€β”€ useAgentSockets.hook.js      Key load/save/verify, team selection, engine toggle
    β”‚   β”œβ”€β”€ useConversations.hook.js     Session index, message pagination, new/delete chat
    β”‚   β”œβ”€β”€ useLiveTalk.hook.js          Live Talk pipeline β€” STT β†’ LLM β†’ TTS + interrupt
    β”‚   β”œβ”€β”€ useSettings.hook.js          Settings modal, password manager, API lock, profile
    β”‚   └── useToast.hook.js             In-app toast: show/dismiss, swipe-to-dismiss
    β”‚
    β”œβ”€β”€ screens/
    β”‚   β”œβ”€β”€ chat/MainApp.screen.jsx      Composition root β€” wires all hooks and components
    β”‚   β”œβ”€β”€ splash/SplashScreen.screen.jsx  Animated custom splash
    β”‚   └── settings/
    β”‚       β”œβ”€β”€ SettingsModal.screen.jsx
    β”‚       β”œβ”€β”€ panels/                  Profile, AgentLibrary, AgentsWorkshop, ApiConfig, Privacy, About, Reset
    β”‚       β”œβ”€β”€ auth/                    ApiLockGate, PasswordManager, RemoveLockBanner
    β”‚       └── rows/                    AgentSocketRow
    β”‚
    β”œβ”€β”€ styles/
    β”‚   β”œβ”€β”€ app.styles.js            Master stylesheet
    β”‚   └── *.styles.js              Layout, feedback, welcome, sidebar, settings, profile, socket, auth
    β”‚
    └── utils/
        β”œβ”€β”€ agentLogic.utils.js          Backward-compatible facade for agents public API
        β”œβ”€β”€ mathParser.utils.js          LaTeX / chemical formula detection and splitting
        β”œβ”€β”€ responseGenerator.utils.js   Legacy direct API caller
        └── responsive.utils.js          Dimension-based scale/spacing/fontScale helpers

Getting Started

Prerequisites

Node Expo CLI EAS CLI Android SDK API Key

  • Node.js 18+
  • Expo CLI (npm install -g expo-cli)
  • EAS CLI (npm install -g eas-cli) for builds
  • At least one API key from any supported provider

Installation

git clone https://github.com/NomanRafique01/zyron.git
cd zyron
npm install

Running in Development

# Start Metro bundler
npx expo start

# Run on connected Android device / emulator
npx expo run:android

Building a Release APK

# Preview APK (internal distribution)
eas build --profile preview --platform android

# Production APK
eas build --profile production-apk --platform android

# Production AAB (Play Store)
eas build --profile production --platform android

Configuration

API keys are entered directly in the app's Settings β†’ API Config panel after launch. Keys are stored in Android Keystore-backed encrypted storage β€” never in source code or config files.

For .env-based secrets (used at build time only via app.config.js):

cp .env.example .env   # if provided
# or create manually β€” see app.config.js for expected variables

⚠️ Security note: This is a client-only app. See SECURITY.md for key storage architecture, spend-cap guidance for every provider, and the recommended Cloudflare Worker proxy for production deployments.


Agent Personas

The Writer agent (Agent 4) supports five synthesis personas, selectable in Settings:

Persona Behavior
Balanced Professional synthesis of all specialist outputs
Creative Unconventional angles, vivid language, memorable framing
Precise Strict correctness, concrete numbers, numbered steps, zero filler
Educator Progressive concept building, analogies, Key Takeaway at close
Executive Lead with conclusion, max 3 paragraphs, one-line Action/Decision

Android Permissions

Permission Purpose
INTERNET API calls to all AI providers
VIBRATE Haptic feedback on send / toast
RECORD_AUDIO Mic input dictation + Live Talk STT
USE_BIOMETRIC Biometric gate for API Config Lock
USE_FINGERPRINT Fingerprint unlock for API Config Lock

Minimum SDK: 21 (Android 5.0) Target SDK: 34 (Android 14)


Security

API keys live on the device. The app's security model is built around three principles:

  1. Encrypted storage β€” Android Keystore-backed EncryptedSharedPreferences via expo-secure-store
  2. Single read path β€” keyGuard.js is the only file that reads keys; no key is ever assigned to a module-level variable or logged
  3. Spend caps β€” the most important protection is a hard monthly spend limit on every provider dashboard (see SECURITY.md)

For production deployments requiring keys to leave the device entirely, SECURITY.md describes a ~50-line stateless Cloudflare Worker / Vercel Edge Function proxy that eliminates on-device key storage.


Built with OpenAI Codex



OpenAI Codex Β Β·Β  powered by GPT‑4o Β· o3 Β· GPT‑5.5

OpenAI Codex was the AI coding assistant used throughout the entire development lifecycle of Zyron β€” from architecture decisions and backend design all the way to UI polish and documentation.

Area What Codex handled
UI logic & planning Component hierarchy, state-management patterns, hook extraction strategy, and overall screen flow
Dynamic & responsive UI Animated coordination panels, adaptive layouts, keyboard-avoidance logic, and gesture-driven interactions
Feature implementation MainApp.screen.jsx, agent pipeline screens, settings panels, and chat-flow components
Code review & refinement Code quality passes, refactor suggestions, and pattern enforcement throughout iteration
Debugging Race conditions in the agent pipeline, RAF-batching issues, animation driver conflicts, storage-migration edge cases
Architecture decisions Agent-orchestration design, LangGraph pipeline structure, circuit-breaker fallback chains
Backend design FastAPI / LangGraph orchestration layer, document-extraction endpoint, Railway deployment
Deployment EAS build profiles, Play Store AAB configuration, Railway production, environment-variable strategy
Documentation Writing and maintaining this README, SECURITY.md, CHANGELOG.md, STRUCTURE.md, and all in-code JSDoc
Git & version control Commit message authoring, branch strategy, release tagging, and changelog generation

License

MIT β€” see LICENSE.md


Author

Noman Rafique nomanrafique.official01@gmail.com


Six specialist teams. Eight AI providers. One coherent answer.

Zyron β€” Think in swarms.

About

πŸ“±The first multi-agent AI platform for Android β€” specialist agents collaborate in parallel to analyze, execute, validate, and synthesize every response

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages