Intent Clock is a focus timer for structuring deep work: Pomodoro-style focus, short, and long breaks (every fourth completed focus block triggers a long break). You can note a daily intention; durations and completed focus blocks today are stored in localStorage in your browser—no account required.
| Layer | Technology |
|---|---|
| App framework | SvelteKit (file-based routing, SSR, Vite) |
| UI | Svelte 5 (runes: $state, $derived, $effect, $props, $bindable) |
| Language | TypeScript |
| Build | Vite |
Server-side load in src/routes/+layout.server.ts supplies canonical URL and site name for <head> (SEO and social previews). Timer state and preferences stay on the client.
Install dependencies (once):
npm install
Start the dev server:
npm run dev
Open the app in the browser:
npm run dev -- --open
Type-check:
npm run check
Production build:
npm run build
Preview the production build locally:
npm run preview
Deploy by configuring a SvelteKit adapter for your host; this project uses @sveltejs/adapter-auto by default.
npx sv@latest create --template minimal --types ts --install npm --no-dir-check --no-add-ons .
(Use --no-dir-check only if the target folder is not empty.)