AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Nexon is an open-source AI-powered mobile agentic IDE and deep research assistant for Android — real shell, files, and web research via Termux, on your phone.
Developer toolsKotlin · HTMLGitHub @shivawwOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Nexon Studio by NexonAI — AI motion graphics & voice, on-device
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Pocket production studio: HTML motion clips -> pixel-exact 16:9 and 9:16 MP4s, and scripts -> voice audio (Qwen3-TTS or Breeze2-TTS). Renders on this phone or on a Kaggle GPU farm. Zero third-party code; no screen capture, no ffmpeg.
Mission-control identity: steel panels on a blue-cast void, warm chalk ink, two semantic accents (AMBER = PIXEL, TEAL = VOICE), Chakra Petch display / Saira body / IBM Plex Mono data. The pipeline rail is the signature element — the render sequence, its state, and its captured decisions in one strip. Typefaces bundled as assets.
Push to GitHub. The apk workflow (.github/workflows/build.yml) builds app-debug.apk with Gradle 8.9 + AGP 8.5.2 and uploads it as the app-debug artifact. Download it from Actions -> latest run -> Artifacts, then install on the phone (allow "install unknown apps" for your browser/files app).
The repo commits debug.keystore, so every rebuild is signed identically and installs over the previous version without uninstalling.
The home screen is two engine cards — PIXEL (video) and VOICE (audio), each in its engine accent — plus a machine footer (queue/farm counts) and one door to the Machine room: farm setup, farm jobs, overnight queue, generation prompt, all out of the creative path.
PIXEL flow — the pipeline rail (SOURCE · FRAME · RENDER · EXPORT, carrying each step's captured decision) persists across every screen:
text/html) or paste code.frame N/T - r f/s - ETA; CANCEL aborts cleanly (encoder released, partial file deleted).Output lands in Movies/NexonStudio/NexonStudio_<stamp>.mp4, with Pictures/NexonStudio/<stamp>_frame0.png for eyeball QC (MediaStore forbids images under Movies/).
Zoom and crop are applied as a CSS transform on the page itself, so content re-rasterizes at the output resolution - crisp text and vectors at any zoom, never a bitmap upscale of the capture. Known limits: position:fixed elements and vw/vh-sized layout will not pan; raster images soften when zoomed. Conforming HTML (a .fit 16:9 or 9:16 frame containing .stage) still auto-detects; non-conforming HTML falls back to manual framing instead of aborting, initialized by an automatic content-bounds fit (contain + center) so phone-authored pages fill the frame instead of rendering small in the void. The one hard requirement: at least one CSS animation - the whole engine scrubs document.getAnimations().
A color grade (contrast ~1.12 around mid-gray + saturation 1.18) applied as a root CSS filter inside the GPU draw - identical math to the previous native ColorMatrix, still at native speed. It is deliberately NOT an AI model - the app stays zero-dependency and nothing ever leaves the device. frame0.png is exported with the same grade so QC still matches.
<div class="fit"> (CSS aspect-ratio: 16/9, or 9/16 for vertical - generation prompt Part 4B; contains .stage); #video-frame is also supported. Everything outside it is crop chrome; ?headless=1 (plus an injected class) hides it.document.getAnimations() + currentTime.<link> is checked (default pairing Anton + IBM Plex Mono; deviations allowed). A requested font that has not loaded stops preparation instead of silently rendering narrower fallback glyphs; retry once it is available, then WebView caches it.#0A0C10 (the renderer's canvas pre-fill matches it).app/src/main/java/com/brollrender/app/JsContracts.kt (frozen strings).In-app voice generation on a Kaggle GPU notebook — same one-command pattern as the render farm:
{here complete voice over} marks narration start — and generate.Music/NexonStudio/ with play/share buttons.Server files live in qwen3tts/ (run.sh one-command launcher + server.py); Qwen3-TTS models lazy-load per mode on first request. Re-running the cell is safe: it kills the old server/tunnel and starts fresh.
breeze2tts/)A second TTS engine: BreezeBlue/breeze-tts-2 via breezeblue-ai/breeze-tts — top-ranked open-weights TTS on the Artificial Analysis voice arena (EN + ZH, ~3B, eager attention, ~7.7 GiB VRAM: fits one T4, which runs its hard-coded bf16 via emulation — dtype fallback documented in run.sh). Same one-command Kaggle pattern, same job-queue API, its own port (5001 — never clashes with a qwen server on 5000):
!rm -rf /kaggle/working/V && git clone --depth 1 https://github.com/shivaww/Recorder.git /kaggle/working/V && cd /kaggle/working/V/breeze2tts && bash run.sh
Modes: custom (plain text; optional natural-language instruct — Breeze has no preset speakers, so speaker is ignored), clone (reference audio + its exact transcript, mandatory), design (describe the voice in natural language), direction (clone + delivery instruction). Inline emotional tags — (sigh), (laugh), [笑] — are interpreted in the text itself. Output: mono 24 kHz WAV. Note: model weights carry a research/non-commercial license (code is Apache-2.0).
The app's Connection field works with either engine's BASE URL (verified: custom/clone/design flow through unchanged; in custom mode the instruct line describes the voice) — same endpoints and form fields as the qwen server (/health, /generate, /status/<id>, /download/<id>), so the existing client contract works unchanged.