Vizl - SoundCloud® music visualizer via WebGL, WebAudio, Svelte & Typescript. https://vizl.anirbanmu.com
  • TypeScript 66.7%
  • Svelte 27.5%
  • CSS 3.3%
  • Dockerfile 1.4%
  • HTML 0.9%
  • Other 0.2%
Find a file
2026-04-15 22:44:03 -07:00
.github/workflows lining up node versions 2026-02-13 02:22:39 -08:00
packages upgrade dependencies 2026-04-15 22:33:14 -07:00
.dockerignore dockerfile 2026-01-10 22:45:54 -05:00
.editorconfig background freq visual 2025-11-28 03:01:53 -08:00
.env.example example env file 2025-10-22 21:50:08 -07:00
.gitignore cache auth token in dev to allow for rapid iteration without creating a lot of tokens 2026-01-05 22:41:50 -05:00
.prettierignore prettier 2025-10-21 00:47:31 -07:00
.tool-versions upgrade dependencies 2026-04-15 22:33:14 -07:00
Dockerfile dockerfile 2026-01-10 22:45:54 -05:00
eslint.config.ts eslint 2025-10-21 00:41:36 -07:00
fly.toml simplify fly.toml statics 2026-01-11 22:10:58 -05:00
LICENSE repo setup 2025-10-20 00:08:11 -07:00
package-lock.json upgrade dependencies 2026-04-15 22:33:14 -07:00
package.json upgrade dependencies 2026-04-15 22:33:14 -07:00
prettier.config.js background freq visual 2025-11-28 03:01:53 -08:00
README.md add checks badge (#66) 2026-01-13 22:10:55 -05:00

vizl

checks

A WebGL 2 based music visualizer.

Tech Stack

  • Frontend: Svelte 5, Vite, WebGL 2
  • Backend: Hono, Node.js, TypeScript

Prerequisites

  • Node.js: v22 or higher
  • npm: (packaged with Node.js)

Environment Variables

You need to set up your environment variables for the server. Copy .env.example to .env.local and fill in your SoundCloud credentials.

cp .env.example .env.local

Required variables:

  • SOUNDCLOUD_CLIENT_ID
  • SOUNDCLOUD_CLIENT_SECRET

Setup

Install dependencies from the root directory:

npm install

Development

Start both the client and server in development mode:

npm run dev

Build

Build both packages:

npm run build

Docker

You can also run vizl using Docker.

# Production build
docker build -t vizl .
docker run -p 3000:3000 --env-file .env.local vizl

Notes

Note

This is a complete rewrite. The legacy code is unmaintained and lives in the legacy branch.