This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
In celebration of International Sloth Day and the Slow and Steady theme, I built ZenSloth — a private, offline-first bedtime sleep companion and ambient narrative generator that invites you to slow down, conserve your energy, and do absolutely nothing.
Modern bedtime apps and AI tools are full of stimulation: subscription paywalls, notifications, cloud tracking, dopamine loops, and chatbots trying to solve problems. ZenSloth does the exact opposite. Channeling the unhurried spirit of a sloth, it creates a calming, low-stimulation cocoon for your mind:
ZenSloth lets you be as lazy as possible: pick a mood, tap once, close your eyes, and drift off to sleep.
ZenSloth is an offline-first companion designed to run privately and reliably on your own machine without third-party cloud tracking.
Clone the repository and spin up the containers:
git clone https://github.com/AryanMohan818/ZenSloth.git
cd ZenSloth
docker compose up -d
Pull the lightweight open-weight model:
docker exec -it zensloth-ollama ollama pull qwen2.5:1.5b
Open http://localhost:3000 in your browser, lay back, and enjoy your wind-down session.
This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
yarn dev
pnpm dev
bun dev
Open http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more…
ZenSloth is built entirely around an open-source, local-first stack designed for calm aesthetics, zero network latency, and complete privacy:
qwen2.5:1.5b)
Bedtime apps shouldn't depend on cloud API rate limits, subscription keys, or internet connectivity. ZenSloth uses Ollama running lightweight open-weight models (defaulting to qwen2.5:1.5b).
/api/generate) leverages ReadableStream to stream tokens directly from Ollama to the browser in real-time, giving listeners an immediate, flowing experience without waiting for full generation.
Instead of bundling heavy MP3 assets or streaming audio over Wi-Fi, ZenSloth includes a custom procedural audio engine built on the native Web Audio API:
#07080b), soft amber/stone hues, and blur filters to minimize blue light before sleep.
Your bedroom is your most personal, private space. When you tell a sleep app about the anxiety keeping you awake, your racing thoughts, or your bedtime routine, that data shouldn't be packaged into an advertising profile or logged on proprietary cloud servers.
Open innovation made ZenSloth possible in ways closed APIs never could:
Building bedtime routines usually feels like work: searching for a meditation podcast, adjusting white noise playlists, skipping mid-roll ads, or staring at bright screens trying to decide what to listen to.
ZenSloth reduces all of that friction to zero effort:
gemma2:2b)