{"id":22310207,"url":"https://github.com/abizek/kloc","last_synced_at":"2025-07-29T07:32:34.086Z","repository":{"id":226047089,"uuid":"767560992","full_name":"abizek/kloc","owner":"abizek","description":"Shareable stopwatch and timer","archived":false,"fork":false,"pushed_at":"2024-05-30T13:37:32.000Z","size":375,"stargazers_count":2,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-26T17:06:46.063Z","etag":null,"topics":["shared","stopwatch","timer"],"latest_commit_sha":null,"homepage":"https://kloc.pages.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abizek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-05T14:14:39.000Z","updated_at":"2025-03-10T22:39:40.000Z","dependencies_parsed_at":"2025-06-26T17:16:49.258Z","dependency_job_id":null,"html_url":"https://github.com/abizek/kloc","commit_stats":null,"previous_names":["abizek/stopwatch","abizek/kloc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abizek/kloc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abizek%2Fkloc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abizek%2Fkloc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abizek%2Fkloc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abizek%2Fkloc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abizek","download_url":"https://codeload.github.com/abizek/kloc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abizek%2Fkloc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267646024,"owners_count":24120922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["shared","stopwatch","timer"],"created_at":"2024-12-03T21:01:02.843Z","updated_at":"2025-07-29T07:32:34.078Z","avatar_url":"https://github.com/abizek.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Kloc\n\nShareable stopwatch and timer. UX _inspired_ by the Samsung clock app.\n\nCheck out the app at https://kloc.pages.dev\n\nCheck out the [stopwatch](https://stately.ai/registry/editor/350b30e8-7251-4b58-bd6c-670bfee8af31?mode=design\u0026machineId=b50146c3-1632-41cc-bd44-baa31457f6cf) and [timer](https://stately.ai/registry/editor/350b30e8-7251-4b58-bd6c-670bfee8af31?mode=design\u0026machineId=04d2084b-bb49-4e65-b68e-3db3ac7c40ae) state machines on the stately.ai visualizer\n\n\u003e [!NOTE]\n\u003e _Timer UX is 🚧 under renovation 🚧_\n\u003e\n\u003e _New features coming soon ⛏_\n\u003e\n\u003e _Keep posted!_\n\n## Use Cases\n\n* This is a simple one. You are running a marathon, one person starts the stopwatch at the beginning of the track and another person stops it when the track ends. You could also have people track the time you took to complete different sections with the lap feature\n* Track how long it has been since your last vacation / date / any other stuff that you want to do again\n* Countdown to next vacation / retirement / any other event that you are looking forward to\n* Sharing your stopwatch/timer with your accountability partner for a study session or any accountability-related thing\n* Productivity / remote collaboration stuff with your co-worker or team\n* Timed activities like classroom quizzes, timed practice sessions or a timed challenge on a game\n* Some crazy stuff I haven't thought about\n\n## Development\n\n\u003e Made using [Xstate](https://stately.ai/docs/xstate) for maintaining state, [Partykit](https://www.partykit.io) for sharing the state, [Radix UI](https://www.radix-ui.com) and [Framer Motion](https://www.framer.com/motion).\n\n1. Run `npm i`\n2. Run `npm run dev` and the app should be served on `http://localhost:5173` and the partykit server on `http://localhost:1999`\n\n* Run cypress e2e tests with `npm t`. For headed use `npm run cy:open`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabizek%2Fkloc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabizek%2Fkloc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabizek%2Fkloc/lists"}