The player is easy: a meditation timer with a bell, looped ambient sounds, generated white and brown noise, a sleep timer that fades out and a streak counter fit in one sitting, and a text-to-speech engine can read scripts you write. That replaces the tools, not the subscription. What Calm charges for is the library: hundreds of Sleep Stories read by well-known narrators, music made for it, programs from named teachers and children's stories with licensed characters. None of that can be built by an agent or legally copied, so a replacement is a timer and a sound mixer, not Calm.
Before you buildInsight Timer and Medito are free and come with their own guided content, which is the one thing this build can't give you. Try them before building anything.
Build me a personal meditation timer and sleep-sounds player to replace the tool side of Calm. Requirements: - TypeScript + Vite + React, built as an installable PWA (`vite-plugin-pwa`) that works offline. `npm run dev` serves http://localhost:4920; `npm run build` produces a static folder. - Sounds: generate white, pink and brown noise in the browser with the Web Audio API (AudioWorklet), and loop audio files placed in ./public/sounds (rain, waves, fire), each with its own volume slider and a mixer that saves presets. - Timer: durations of 5-60 minutes with an optional interval bell, start and end bells as audio files (generate soft sine-wave bells if none are present) and a wake lock so the screen stays on. - Sleep timer: any sound mix fades out linearly over the last 60 seconds of a chosen duration and stops. - Guided sessions: a folder ./public/guided of MP3s plus a sessions.json (title, minutes, notes); a player with skip back 15 seconds and a sleep-timer option. Optionally `npm run narrate script.md` turns my own markdown script into an MP3 with the local `piper` binary. - Storage: IndexedDB through `dexie` for session history, presets and a streak counter; export and import as JSON. - Single user. No accounts, no telemetry, local-first. No audio is fetched from anywhere. - Out of scope: licensed content, sleep stories, music, kids' content, programs, cloud sync, health claims. - README: where to find CC0 sounds, how to record your own sessions, and an honest note that this replaces a timer and a mixer, not Calm's library.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Calm.
Extend the meditation player in this folder. Requirements: - A `npm run narrate` command that reads a markdown script where a line like `[pause 8s]` inserts silence, and renders it to one MP3 with the local `piper` binary and `ffmpeg`. - Voice, speaking speed and the model path come from config.toml; list the installed voices. - Add the result to sessions.json with its length in minutes, taken from the file. - Keep two example scripts of about two minutes each in ./scripts. - Update the README, including the licence of the voice model you picked.
Add a practice summary to the meditation player in this folder. Requirements: - A history page with a calendar heat map of minutes per day for the last 12 weeks, the current and longest streak, and a list of sessions with their length. - Edit and delete a session; add one by hand for sessions done offline. - Plain counts and minutes only, with no scores or advice. - Include it in the JSON export. - Update the README.
Add a gentle alarm to the meditation player in this folder. Requirements: - Set a time and a sound mix; the mix fades in over 5 minutes from silence. - Because a PWA can't wake a locked phone, say so on the screen and add a 'keep this screen on' mode with a dim clock. - Show a snooze button for 9 minutes and a stop button. - Test the fade curve in unit tests. - Update the README with the limits of alarms in web apps.
People open Calm to be told what to do and who to listen to: a familiar voice reading a story at bedtime is the product. The library keeps growing and sits on every device they own, so it asks for no effort beyond opening the app. A homemade timer can't deliver content.
Estimate · Static hosting and local text-to-speech are free. The build is token usage on your agent plan; the content is the part you can't build.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Premium, monthly | $16.99 | — | Full library of guided meditations, 500+ Sleep Stories, music, soundscapes and daily sessions. |
| Premium, yearly | — | $6.67 | Same content as monthly, billed once a year. |
| Premium Family | — | $10 | One admin and five members, each with their own Premium account. |
| Lifetime | custom | — | Premium content for as long as the service runs. |
A limited free tier exists. Calm's support center has a Premium-versus-Free article that we could not open, so what is free is not listed here.
Not really. People open Calm to be told what to do and who to listen to: a familiar voice reading a story at bedtime is the product. The library keeps growing and sits on every device they own, so it asks for no effort beyond opening the app. A homemade timer can't deliver content. The prompt on this page builds the closest honest substitute.
About $16.99 a month on the Calm Premium (monthly) plan, $203.88 a year (checked 2026-10-20).
The Sleep Stories library and its narrators; Guided meditations, programs and daily sessions from named teachers; Licensed and commissioned music and kids' content; Apple Watch, TV and Wear OS apps and sync across devices; New material every week without making any of it yourself. If any of those matter to you, keep paying.
Yes: Medito (open source), Blanket (open source), Insight Timer (free).