Skip to content
trylinerPublic

About

Desktop streaming client for music with synced lyrics and dynamic visuals.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

Liner

Modern desktop music streaming player with syllable-synced lyrics and reactive dynamic visuals.

Electron React 19 TypeScript 5 Tailwind CSS v4 WebAssembly License: Source-Available

Preview • Architecture • Getting Started • Building • Contributing • License


Liner Fullscreen Lyrics

Preview

Liner Home Page
Home
Liner Fullscreen Mode Demo
Fullscreen mode

Note

Liner client connects to the official Liner API backend for music catalog, streaming playback, and synchronized lyrics.


Architecture

liner/desktop/
├── electron/
│   ├── main.ts              # Electron main process & IPC handlers
│   ├── preload.ts           # Context bridge & secure renderer bindings
│   ├── crypto.ts            # High-performance in-memory WebAssembly signer
│   └── signer.ts            # Embedded WebAssembly binary
├── src/
│   ├── assets/              # Static assets and media
│   ├── components/          # Shared reusable UI components
│   ├── features/            # Feature modules (player, lyrics, queue, library, search, auth)
│   ├── pages/               # Route views (Home, Search, Album, Artist, Playlist)
│   ├── shared/              # API client, state stores (Zustand), and data contracts
│   ├── App.tsx              # Application root
│   └── main.tsx             # Vite entry point
├── package.json
└── vite.config.ts

Getting Started

Prerequisites

  • Node.js v20+ and pnpm or Bun
  • Modern OS (Windows 10/11, macOS, or Linux)

Setup

# 1. Clone repository
git clone https://github.com/tryliner/desktop.git
cd desktop

# 2. Install dependencies (pnpm or Bun)
pnpm install
# or
bun install

Running in Development

# Start Liner in development mode (Electron app with Vite hot-reload)
pnpm run dev
# or
bun run dev

Testing

# Run test suite with Vitest
bun run test
# or
pnpm test

Building

# Build desktop packages for your current OS:

# Linux (AppImage & .deb)
bun run electron:build:linux

# Windows (.exe installer)
bun run electron:build:win

Compiled distributions will be placed in the release/ directory.


Contributing

Contributions, bug fixes, and feature enhancements are welcome:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feat/my-feature).
  3. Commit your changes (git commit -m 'feat: add amazing feature').
  4. Push to your branch (git push origin feat/my-feature).
  5. Open a Pull Request to tryliner/desktop.

Special Thanks


License

Liner is distributed under the Liner Source-Available & Non-Commercial Contribution License.

  • Allowed: Personal non-commercial usage, local builds, and upstream contributions.
  • Prohibited: Commercial distribution, public competing forks, or extracting core algorithms for third-party products.

See LICENSE for details.

About

Desktop streaming client for music with synced lyrics and dynamic visuals.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages