woyomi
Get App
v0.1.0 Preview / Windows · Linux · Android

One canvas for every story. Manga, anime, novels & cinema.

A unified reader and player for desktop & Android. Inspired by Aniyomi and Mihon, rebuilt on Tauri 2 with local-first storage and sandboxed TypeScript plugins.

Windows & Linux Android APK 100% Local SQLite Vault
woyomi Browse home screen showing pinned rails and media cards
Tauri 2 Native Core
Zero telemetry · Local first
Unified Media Engine

Four mediums. One focused player.

Stop juggling four different apps with four different libraries. Woyomi unifies every format into a single, cohesive workflow.

Manga & Webtoons 01

Engineered for panels and spreads

Seamlessly switch between continuous vertical webtoon scroll and dual-page Japanese right-to-left spreads with instant page buffering.

Continuous Webtoon Dual-Page RTL Zero Tearing Page Memory
Anime & Streaming 02

Hardware-accelerated player

High-performance native HLS and MP4 video playback. Auto-tracks episode history, manages seasons, and remembers timestamps across restarts.

Adaptive HLS Direct MP4 Episode History Timestamp Recall
Light Novels & Prose 03

Distraction-free typography reader

Clean typography controls designed for multi-hour reading sessions. Tailor font sizes, line height, margins, and OLED black or warm sepia tones.

Custom Fonts Margin Tuning OLED / Sepia TOC Jumper
Cinema & Series 04

Multi-season archive

Group multi-part movies and multi-season series into a single clean catalog entry with unified status tracking and metadata inspection.

Season Bundling Multi-Part Rails Metadata Inspector Progress Sync

Universal Library Vault

A single taxonomy for all your content

Organize across Reading, Watching, Plan to Watch, Completed, and Paused. Statuses, chapter read counts, and episode timestamps stay unified in local SQLite.

Offline Native Downloads

No internet? No problem.

Save manga chapters, novel text, and direct MP4 streams straight to your local device for seamless offline reading anywhere.

Form & Experience

Crafted for deep focus.

No intrusive sidebars during reading, no video player ads, and zero clutter. Every pixel serves your media.

01 / Detail & Chapter Deck Metadata & Tracking

Rich metadata inspection, multi-tag filtering, one-click reading status transitions, and single-click episode mark-as-read.

woyomi Media Detail View showing chapter lists and tags
02 / Minimalist Reader Canvas Distraction-Free

Keyboard shortcuts, custom zoom steps, automatic page fitting, and subtle floating HUD that disappears when you read.

woyomi Manga Reader canvas
Mobile Companion

Built for one hand.

On smaller touchscreens, Woyomi naturally shifts navigation to a bottom tab bar with thumb-reach actions, compact horizontal rails, and swipe gestures.

  • Bottom nav: Browse, Library, History, Plugins, Settings
  • Swipe gestures for chapter next/previous
  • Compact OLED-friendly black theme
Browse Rails
woyomi mobile browse screen
Library View
woyomi mobile library screen
Extensible Architecture

Zero bundled sources. 100% extensible.

Woyomi is an open player engine. It ships with no pre-bundled scrapers — you install and manage only the sources you trust.

Isolated Web Worker Sandbox

Each source plugin runs inside its own isolated Web Worker thread with zero raw DOM access and strict memory isolation.

Injected SourceContext

Plugins talk to an injected context interface with rate limiting, header customization, and built-in HTML/JSON parsers.

SHA-256 Integrity Verification

Remote plugin packages are cryptographically validated against manifest hashes before executing in your client.

Decentralized Static Repositories

Plugin repositories can live anywhere — GitHub Releases, Cloudflare R2, or any static HTTPS endpoint.

source-manifest.ts · TypeScript
@woyomi/plugin-sdk
import { MediaSource, MediaItem, SourceContext } from '@woyomi/plugin-sdk'

export class MangaVaultSource implements MediaSource {
  readonly id = 'community.mangavault'
  readonly name = 'Manga Vault'
  readonly mediaType = 'manga'
  readonly apiVersion = 1

  // Discovers home rails with injected transport
  async getTrending(ctx: SourceContext): Promise<MediaItem[]> {
    const res = await ctx.fetch('https://api.vault.org/v1/popular')
    const json = await res.json()
    return json.items.map((item: any) => ({
      id: item.slug,
      title: item.title,
      coverUrl: item.poster_image,
      format: 'manga',
      status: item.is_completed ? 'completed' : 'ongoing'
    }))
  }
}
Sandboxed in Web Worker runtime ✓ Type-safe API contracts
Get Woyomi

Ready for your library.

Download v0.1.0 preview builds from GitHub Releases or compile from source with your own Rust toolchain.

Windows

v0.1.0 Preview
x64 / NSIS Installer

Native desktop shell with hardware acceleration for Windows 10 and 11.

Linux

v0.1.0 Preview
AppImage / .deb / .rpm

Universal AppImage and native packages for Ubuntu, Debian, Fedora, and Arch.

Android

v0.1.0 Preview
ARM64 APK

Touch-optimized mobile shell with bottom navigation for Android 10+.

Build from Source
# 1. Clone repository
$ git clone https://github.com/JeanRGW/woyomi.git
# 2. Install dependencies & build packages
$ cd woyomi && pnpm install && pnpm build
# 3. Launch Tauri desktop app in dev mode
$ pnpm --filter @woyomi/app tauri dev