{"id":19408509,"url":"https://github.com/ninest/typer","last_synced_at":"2025-10-07T03:45:36.249Z","repository":{"id":42361032,"uuid":"264910480","full_name":"ninest/typer","owner":"ninest","description":"⌨️ The 10-second typing game","archived":false,"fork":false,"pushed_at":"2023-02-03T07:30:37.000Z","size":2354,"stargazers_count":66,"open_issues_count":6,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-24T09:41:18.097Z","etag":null,"topics":["arcade-game","deno","firebase","javascript","parcel","retro","typing","typing-game"],"latest_commit_sha":null,"homepage":"https://typer.now.sh/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ninest.png","metadata":{"funding":{"github":"ninest","patreon":null,"open_collective":null,"ko_fi":"parthkabra","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.buymeacoffee.com/ninest"]},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-18T10:51:06.000Z","updated_at":"2025-03-09T14:07:31.000Z","dependencies_parsed_at":"2023-02-18T04:31:20.046Z","dependency_job_id":null,"html_url":"https://github.com/ninest/typer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ninest/typer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Ftyper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Ftyper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Ftyper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Ftyper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ninest","download_url":"https://codeload.github.com/ninest/typer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Ftyper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278717446,"owners_count":26033542,"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-10-07T02:00:06.786Z","response_time":59,"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":["arcade-game","deno","firebase","javascript","parcel","retro","typing","typing-game"],"created_at":"2024-11-10T12:06:25.016Z","updated_at":"2025-10-07T03:45:36.233Z","avatar_url":"https://github.com/ninest.png","language":"JavaScript","funding_links":["https://github.com/sponsors/ninest","https://ko-fi.com/parthkabra","https://www.buymeacoffee.com/ninest"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003ca href=\"https://typerapp.now.sh/\"\u003e⌨️ Typer\u003c/a\u003e\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003eThe 10-second typing game\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Made%20With-JavaScript-black?style=flat-square\u0026\" alt=\"Made with Deno\" /\u003e\n  \u003ca href=\"http://makeapullrequest.com/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square\" alt=\"Make a PR\" /\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/ninest/typer?style=flat-square\" alt=\"MIT\" /\u003e\n  \u003ca href=\"https://www.buymeacoffee.com/ninest\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Donate-Buy%20Me%20A%20Coffee-orange.svg?style=flat-square\" alt=\"Buy Me A Coffee\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://typerapp.now.sh/\"\u003e\u003cimg width=\"500\" alt=\"demo\" src=\"./readme-assets/demo.gif\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n## 🎮 How to play\n1. Visit [https://typerapp.now.sh/](https://typerapp.now.sh/)\n2. To start a game, type \"start\"\n\nYou now have **10 seconds** to type out all the words displayed. For every word you type correctly, your score increases, and you also get **1 extra second**. Can you beat my highscore of 35? (you probably can)\n\n## 🚀 Features\n- 10 seconds to type\n  - Get an extra second for each word typed (small change of getting 2 seconds)\n  - Randomly get a password field to spice the game up (1/6 chance)\n- Save your highscore locally\n\n## 🛠 Build setup\nClone or fork the repository, then run the commands to start the development server:\n\n```\nnpm i\nnpm run dev\n```\n\nTo build the app, run\n\n```\nnpm run build\n```\n\n### Encryption\nIn `src/scripts/`, create `keys.js` with the following:\n\n```js\nexport const key = 'a secret key';\n```\n\nHere's one way to generate a random string:\n\n```python\n# python\nfrom base64 import b64encode\nfrom os import urandom\n\nrandom_bytes = urandom(32)\nsecret = b64encode(random_bytes).decode('utf-8')\n\nprint(secret)\n```\n\nNote that the encryption is done client-side!\n\n### Hosting\n\nThe game is hosted with Vercel. To host a debug version of the app, run\n\n```\nvc\n```\n\nTo host the production version of the app, run\n\n```\nvc --prod\n```\n\n### ~~Firebase~~\nFirebase and leaderboards have been removed. Please check the [\"firebase\" branch](https://github.com/ninest/typer/tree/firebase) for more details.\n\n## ♥️ Support\nIf you liked this project, consider supporting by\n- ⭐️ Starring the repository\n- 🎒 Checking out my other [projects](https://github.com/ninest)\n- ☕️ Buying me [coffee](https://www.buymeacoffee.com/ninest)\n\n## 📜 License\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninest%2Ftyper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fninest%2Ftyper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninest%2Ftyper/lists"}