Moodist: A Self-Hostable Ambient Sound Web App for Focus
Ambient sounds for focus and calm.
At a glance
- What is it?
- Moodist is an MIT-licensed ambient sound web application with 84 curated sounds, layerable into custom mixes, shareable via URL, and installable as a PWA. It includes binaural beat generators, a Pomodoro timer, and a built-in notepad, and can be self-hosted from a single Docker image with no external dependencies.
- Who is it for?
- Moodist suits individuals and teams who want an ambient sound environment they control, either through the hosted app at moodist.mvze.net or a private Docker deployment. The built-in tools (Pomodoro, countdown, notepad, breathing exercise) reduce the need for separate focus apps, but they are secondary to the sound layering core.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Moodist Is and Who It Suits
Working with background noise is a common concentration strategy: ambient sound masks distraction without demanding attention. Moodist provides this as a browser-based application with 84 curated ambient sounds that can be layered into a custom mix. The target user is anyone who works at a screen and wants a self-contained focus environment without subscriptions or closed software. The README describes the project as 'ambient sounds for focus and calm.' It is available as a hosted web app at moodist.mvze.net, as a Progressive Web App that can be installed to a home screen, and as a self-hosted Docker image. The project is built with Astro and React, uses howler.js for audio playback, and manages state with Zustand. The package.json records the current version as 3.1.1.
Sound Library and Mix Features
The 84 sounds in Moodist are described in the README as curated ambient sounds. The app lets a user select and layer any combination of them into a soundscape, with individual volume controls for each active sound. The README lists smooth fade transitions on play/stop and on sleep timer shutdown, which means sounds do not cut abruptly when a timer expires or the session ends. Shareable mixes work through URL: a mix can be encoded as a URL parameter and shared with a link that a recipient imports with one click. Presets let users save, rename, delete, and instantly reapply named mixes across sessions. The binaural beat and isochronic tone generators are built into the app as additional sound sources, separate from the curated library. Binaural beats require headphones to function as intended; the README does not document this requirement explicitly, but it is a physical property of the binaural beat effect.
Self-Hosting with Docker
The README provides two self-hosting paths. The first uses a direct Docker run command:
docker run -d \
--name moodist \
-p 8080:8080 \
ghcr.io/remvze/moodist:latestAfter the container starts, the app is available at http://localhost:8080. The second path uses the included docker-compose.yml:
docker compose up -dThe Dockerfile in the repository uses a two-stage build: a Node 24 Alpine builder stage that runs `pnpm run build` to produce a static Astro output, and a Caddy server stage that serves the static files. The Caddyfile handles routing. Because the output is static HTML, there is no server-side process to manage after the container starts. The container exposes port 8080 and sets `restart: always` in the Compose file, which means it restarts automatically on system reboot.
Pomodoro, Breathing, and the Built-in Focus Tools
Moodist bundles several productivity tools alongside the sound library. The README lists: a Pomodoro timer, a countdown timer, a todo list, a notepad, and a breathing exercise. These sit inside the same browser tab as the ambient sounds, so a user can run a Pomodoro session with rain sounds and a task list without switching applications. The sleep timer feature shuts down sound playback after a set duration with a smooth fade, which makes the app usable for falling asleep as well as working. The breathing exercise guides timed inhale/exhale cycles. None of these tools sync to external services or require an account; everything lives in the browser session. The PWA installation adds an app icon to a device home screen and caches assets for offline use.
License and Third-Party Sound Assets
Moodist is released under the MIT License, which permits free use, modification, and distribution for any purpose including commercial. However, the README notes that some sounds are sourced from third parties and are subject to different licenses. Specifically, sounds licensed under the Pixabay Content License and sounds licensed under CC0 are included. The Pixabay Content License has its own terms distinct from MIT; users who self-host Moodist and distribute it should verify the terms of each sound they include. The CC0 sounds have no restrictions. The MIT license applies to the application code; the sound files have their own license terms. This distinction matters for anyone who forks the project and modifies the sound library.
What Moodist Does Not Do
Moodist does not support custom sound uploads in the documented feature set. The README lists 84 curated sounds, shareable mixes, and presets, but does not describe a mechanism for adding sounds beyond those bundled with the app. A user who wants a specific sound not in the library would need to fork the source and add it manually. Moodist also does not synchronize settings across devices or accounts: there is no login system. Presets and mixes are stored in the browser. If a user clears their browser storage or switches to a new device, saved presets are lost unless they shared the mix URL before the session ended. The app is also a sound layering tool, not a music player: it handles ambient loops, not arbitrary audio files or playlists.
Moodist vs Noisli
Noisli is a well-known commercial ambient sound service that also offers sound layering, a timer, and a text editor. The key differences are licensing and hosting. Noisli is a closed-source subscription service. Moodist is MIT-licensed and self-hostable. A team or individual who wants a private ambient sound environment that they can run on their own infrastructure has no equivalent option with Noisli. Moodist's sound library (84 sounds) is a concrete count that can be compared. Noisli's free tier restricts access to certain sounds, while Moodist's hosted version gives access to all 84 without an account. The trade-off is that Noisli has a commercial support model and a mobile app, while Moodist is maintained by a single developer and accepts donations via Buy Me a Coffee.
Editorial conclusion
Moodist suits individuals and teams who want an ambient sound environment they control, either through the hosted app at moodist.mvze.net or a private Docker deployment. The built-in tools (Pomodoro, countdown, notepad, breathing exercise) reduce the need for separate focus apps, but they are secondary to the sound layering core. Anyone who needs audio mixing controls more sophisticated than a volume-per-sound slider, or who needs to manage sound libraries larger than the 84 included tracks, will find the tool underdocumented on those points.
Frequently asked questions
What is a good Moodist alternative?
Noisli is the most comparable commercial option, offering sound layering and a timer. For open-source alternatives, the README does not list any, but Moodist itself is MIT-licensed and self-hostable, so self-hosting it is an alternative to using the hosted version at moodist.mvze.net.
Can Moodist be used offline?
Moodist is installable as a PWA with offline caching. The README lists this as a feature: once installed, the app caches its assets so it can run without an internet connection.
Does Moodist require an account to save mixes?
No. Moodist has no login system. Presets are saved in the browser. Mixes can also be shared via URL, which encodes the current mix as a link that can be imported by anyone with the URL.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/remvze-moodist)