Skip to content

WELLdone1111/somp

Repository files navigation

Readme: English · Українська · Русский

Somp

0.3 Alpha 3 (0.3.0-alpha.3) — desktop creative workspace (Tauri + React): laboratory artboard, presets, player shell, Styles (themes & wallpapers), and local/cloud chat in the lab.

Recent changes: CHANGELOG.md — ytmusicapi browse, playback lifecycle fixes, Lavash/Ollama model list, legal docs.

version release Patreon

Author & links

Link
GitHub (author) github.com/WELLdone1111
This repo github.com/WELLdone1111/somp
Releases github.com/WELLdone1111/somp/releases
Issues / feedback github.com/WELLdone1111/somp/issues
Reddit reddit.com/user/Ill-Budget-2190
Patreon Support on Patreon

Download

→ Latest release (installer or portable .exe)

Recommended *-setup.exe — Windows installer
Portable .exe in Assets — no install

Requirements: Windows 10/11 (64-bit), WebView2. For Lavash chat: Ollama and/or Groq / Gemini API keys.

Instructions: docs/RELEASE.md

Player status (alpha)

The YouTube Music player is not fully working yet in 0.3.0-alpha.3. Playback, skip/prev, and the transport bar may fail, show 0:00, or time out (player API timed out). Home / Library / Search via ytmusicapi may work after Google sign-in and cookie sync. Laboratory, Presets, and Styles are usable. Do not expect reliable streaming in this build.

Architecture & what we use

Somp splits browse (metadata) and playback (audio):

Layer Role
ytmusicapi (Python) Home, library, search, artist metadata — cookies synced from the YTM WebView profile
WebView2 + ytm_bridge.js Official music.youtube.com for sign-in, playback, queue, cast (work in progress)
React UI Custom shelves and transport; no stream ripping, no ad blocking (compliance)

Declined for now (and why)

Idea Why not (for Somp today)
Spotify Web API instead of YouTube Music Official API is strong for metadata, not a drop-in for in-app playback; real audio needs Spotify Premium + Web Playback SDK / Connect — a different product (OAuth, UX, licensing), not a quick swap
Native <audio> from unofficial stream URLs High ToS / compliance risk; conflicts with treating YTM as the official embedded player
Gecko / Servo WebView on Windows Tauri desktop on Windows targets WebView2; no practical path to YTM’s DOM player API there today
Hiding the YTM window (hide()) to save RAM Chromium background-throttles hidden pages — playback and the player API stop

Setup: docs/YTM-API-SETUP.uk.md · quick steps: docs/START-YTM-3-STEPS.uk.md

Development & testing

Somp is alpha software in active development. YouTube Music sign-in happens inside the embedded player (same as in a browser). Treat playback as experimental until a later alpha.

Features

  • Player — YouTube Music shell (browse via API; playback WIP), transport UI, floating mini players, preset-driven layouts
  • Laboratory — artboard with draggable panels, Code scratchpad, user library, Lavash chat (Ollama / Groq / Gemini)
  • Presets — save and restore full workspace layouts
  • Desktop — frameless window, tray, EN / UK / RU UI, YouTube Music sign-in in the player, Ollama model pulls in Settings

Screenshots

0.3 Alpha 3 — Windows desktop build.

Desktop shell

Frameless, transparent Somp window over your wallpaper — the app stays out of the way until you open a workspace from the dock.

Somp on the desktop — transparent shell

Collapsed dock

Tap the dock pill to expand navigation (Player, Laboratory, Presets, Settings, Profile). Collapsed mode keeps only the menu control visible.

Collapsed dock control

Sign in

YouTube Music sign-in from the profile dock tab — opens the in-app player login.

Sign in to Somp

Player

YouTube Music shell inside Somp — API-driven shelves, transport bar (playback still WIP in this alpha).

YouTube Music player

Laboratory

Artboard workspace, User Lib, Code tabs, and Lavash chat (local Ollama or Groq / Gemini keys) — AI replies can land in Code or on the canvas.

Laboratory workspace with Lavash chat

Presets

Save and browse Main and Mini player layouts; create minis from Laboratory.

Presets — mini player layouts

Settings

Language (EN / UK / RU), theme, pull Ollama models, factory reset, and preset data controls.

Settings — language, Ollama, factory reset

YouTube Music & Google compliance

Somp is not affiliated with, endorsed by, or sponsored by Google, YouTube, or YouTube Music. The player is a desktop shell around the official YouTube Music site in a WebView — the same pages and playback you would get in a normal browser.

Ads Somp does not block, skip, hide, or bypass ads, paywalls, or YouTube Premium features. Any ads or subscription prompts are shown by Google/YouTube inside music.youtube.com, exactly as on the web.
No circumvention The app does not modify streams, strip DRM, download tracks for offline use outside YTM rules, spoof clients, or inject scripts to change playback, skip ads, or unlock paid content without a valid subscription.
Sign-in Sign in to YouTube Music inside the player (Google account in the embedded WebView). Somp does not use a separate Google OAuth app login.
Your responsibility You must follow YouTube Terms of Service and YouTube Music policies.

More detail: docs/youtube-google-compliance.md.

Security & privacy

Somp is a local desktop app (Tauri). There is no built-in analytics or telemetry in the open-source tree — network activity comes from features you turn on (player, optional sign-in, AI chat).

Legal (version 2026-05-20)
Privacy Policy docs/PRIVACY.en.md · Українська
Terms of Service docs/TERMS.en.md · Українська
All docs docs/README.md

First launch shows an “I agree” gate for Terms + Privacy (stored locally). Updating legal docs requires bumping LEGAL_DOCS_VERSION in src/features/auth/model/legalAcceptance.ts.

Where Somp stores data on disk

Paths below are examples for any user who installed Somp. They are not paths inside this repository.

OS App data root (example) Secrets (example) Presets (example)
Windows %LOCALAPPDATA%\<vendor>\somp\ ...\somp\secrets\vault.enc ...\somp\presets\laboratory-layouts-v2.json
macOS ~/Library/Application Support/<vendor>/somp/ system Keychain (via keyring) .../somp/presets/laboratory-layouts-v2.json
Linux ~/.local/share/<vendor>/somp/ (or $XDG_DATA_HOME/<vendor>/somp/) system keyring .../somp/presets/laboratory-layouts-v2.json

App data on Windows: %LOCALAPPDATA%\somp\ (presets, secrets vault, YouTube Music webview profile). After install, open Settings → factory reset or check secrets_vault_path in the app if you need the exact folder on your machine.

Topic
Overall Reasonably safe for personal, non-production use if you install from official releases and understand what each feature sends off-device. This is alpha software — not a formal security audit or compliance product.
API keys (Lab) Encrypted local vault (not in git): on Windows, file vault.enc under the secrets folder above (DPAPI — only your Windows user). Other OS: keyring. Legacy keys in localStorage migrate into the vault on first launch.
Lavash / AI chat Ollama (default): prompts stay on your machine (127.0.0.1) if Ollama runs locally. Cloud providers (Groq, Gemini, OpenRouter, etc.): you paste keys; each message you send goes to that provider’s API with thread + optional lab snapshot (Code tabs, artboard summary). Read their privacy policies.
Chat history Saved in WebView localStorage on your PC (tab titles, messages, slim API thread). Not uploaded by Somp except when you send a message to a cloud model.
Presets & lab Layouts and presets as local files under the app data root (see table above).
YouTube Music Embedded player loads music.youtube.com (Google). Normal streaming/login cookies apply inside the WebView. No ad blocking or ToS circumvention — see compliance.
YouTube Music sign-in Session cookies live in the YTM WebView profile on disk (ytm-webview under app data). Not in the secrets vault.
What we don’t claim No guarantee against malware on your PC, keyloggers, or a compromised API account. Don’t commit vault.enc or API keys to git. Review source code if you need stronger assurance.

Practical tips: use Ollama for sensitive layouts; use cloud keys only on a machine you trust; factory reset in Settings clears app data and the secrets vault; keep Somp updated from GitHub Releases.

Support

Support Somp on Patreon

Somp is a solo passion project — your support keeps development going

Star the repo, share feedback, or support on Patreon — it helps ship the next alpha instead of pausing the project.

patreon.com/c/GEREGORY

Source: github.com/WELLdone1111/somp · Patreon copy: docs/patreon-page.md

Development

  • Code layout: docs/STRUCTURE.uk.mdsrc/features/, src/shared/, src/bridge/, src-tauri/.
  • Windows (VS Build Tools + Cargo on PATH): scripts\run-tauri-dev.cmd, scripts\run-cargo-check.cmd — both cd to the repo root before running npm / cargo.
  • YTM sign-in, dock avatar, greeting UI: docs/ytm-sign-in-avatar.md — architecture, file list, and regression rules for maintainers.

Local Windows build (exe + installer)

npm ci
npm run tauri build

Artifacts (typical paths):

  • Installer: src-tauri\target\release\bundle\nsis\*.exe
  • App binary: src-tauri\target\release\somp.exe

GitHub Releases

CI (.github/workflows/release.yml) builds Windows installer + .exe on each v* tag. See Releases.

License

This repository is licensed under the Business Source License 1.1 (LICENSE).

Allowed Not allowed (without a commercial license)
View and study the source code Commercial use
Personal / non-production use Forking and selling as a product
Contributions (under this license) Competing hosted or commercial offerings

Change date: 2028-01-01 — the Licensed Work automatically becomes available under the MIT License on that date (per version).

For commercial licensing, contact the licensor in writing.


© 2026 Heorh Holub. All rights reserved.

Commercial use prohibited without written permission.