{"id":20650389,"url":"https://github.com/welpo/ramu","last_synced_at":"2026-04-20T00:37:09.486Z","repository":{"id":260815858,"uuid":"880551249","full_name":"welpo/ramu","owner":"welpo","description":"master japanese numbers through random listening and reading drills","archived":false,"fork":false,"pushed_at":"2025-01-12T17:49:31.000Z","size":1723,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-12T18:35:36.409Z","etag":null,"topics":["japanese-numbers","japanese-study","kanji","language-learning","language-learning-game","vanilla-javascript","webapp"],"latest_commit_sha":null,"homepage":"https://ramu.osc.garden","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/welpo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"welpo"}},"created_at":"2024-10-29T23:30:39.000Z","updated_at":"2025-01-12T17:49:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"17d1aa3c-f641-4724-86a9-07a3e406b5ea","html_url":"https://github.com/welpo/ramu","commit_stats":null,"previous_names":["welpo/ramu"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welpo%2Framu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welpo%2Framu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welpo%2Framu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/welpo%2Framu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/welpo","download_url":"https://codeload.github.com/welpo/ramu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242750763,"owners_count":20179255,"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","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":["japanese-numbers","japanese-study","kanji","language-learning","language-learning-game","vanilla-javascript","webapp"],"created_at":"2024-11-16T17:19:43.460Z","updated_at":"2026-04-20T00:37:09.474Z","avatar_url":"https://github.com/welpo.png","language":"JavaScript","funding_links":["https://github.com/sponsors/welpo"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://ramu.osc.garden\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/welpo/ramu/main/app/logo_with_text.webp\" width=\"300\" alt=\"ramu logo: a ram with numbers on its horns\"\u003e\n    \u003c/a\u003e\n    \u003cbr\u003e\n    \u003ca href=\"#contributing\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/prs-welcome-0?style=flat-square\u0026labelcolor=202b2d\u0026color=4b2e7f\" alt=\"prs welcome\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://ramu.osc.garden\"\u003e\n        \u003cimg src=\"https://img.shields.io/website?url=https%3a%2f%2framu.osc.garden\u0026style=flat-square\u0026label=app\u0026labelcolor=202b2d\u0026color=4b2e7f\" alt=\"app status\"\u003e\u003c/a\u003e\n    \u003ca href=\"#license\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/welpo/ramu?style=flat-square\u0026labelcolor=202b2d\u0026color=4b2e7f\" alt=\"license\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/welpo/git-sumi\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/clean_commits-git--sumi-0?style=flat-square\u0026labelcolor=202b2d\u0026color=4b2e7f\" alt=\"clean commits\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://ramu.osc.garden\"\u003etry it now〜\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003emaster japanese numbers through random listening and reading drills\u003c/h3\u003e\n\njapanese numbers can be confusing. sure, it takes a few minutes to learn to count from 1 to 10, in sequence. but try backwards! or randomly! or with numbers over 100 or 1,000. or with counters! you get the idea.\n\ni built ラム to practice listening and reading japanese numbers in different formats (42 vs 四十二), of various magnitudes (from 0 or 零 to over 100,000,000 or 一億), and with common counters (つ、本、人…).\n\nthe name reflects its purpose: achieving RAM (random access memory) to numbers, as opposed to sequential memory (1, 2, 3…). ラム means ram 🐏, thus the logo.\n\ni wrote about the motivation for building ラム and roadblocks i encountered in [this blog post](https://osc.garden/blog/ramu-japanese-numbers-practice-web-app/).\n\n## demo\n\nenable sound!\n\nhttps://github.com/user-attachments/assets/a404d705-55c5-485d-8396-60ece0f685b3\n\n[try it now〜](https://ramu.osc.garden)\n\n## features\n\n- improve your listening and reading skills\n- practice with both arabic (123…) and japanese (一二三…) numerals\n- configurable number ranges\n- counter word practice (個、本、匹…)\n- works offline as a progressive web app\n- accessible: sematic html, aria roles, keyboard controls, and screen reader friendly for arabic numbers practice\n- keyboard shortcuts:\n  - \u003ckbd\u003espace\u003c/kbd\u003e or \u003ckbd\u003e→\u003c/kbd\u003e: next/reveal\n  - \u003ckbd\u003eesc\u003c/kbd\u003e: stop\n  - \u003ckbd\u003ep\u003c/kbd\u003e: pause/resume\n\n## requirements\n\nラム uses your device's text-to-speech engine to read the numbers out loud. make sure you have a japanese voice installed:\n\n- [windows](https://support.microsoft.com/windows/appendix-a-supported-languages-and-voices-4486e345-7730-53da-fcfe-55cc64300f01#WindowsVersion=Windows_11): press `windows + ctrl + n` → narrator settings → add voices → manage voices → add voices\n- [macos](https://support.apple.com/guide/mac-help/mchlp2290/mac): system settings → accessibility → spoken content → manage voices\n- [ios](https://support.apple.com/111798): settings → accessibility → read \u0026 speak → voices\n- android: settings → accessibility → text-to-speech\n- gnu+linux: install `speech-speech-dispatcher-espeak-ng` or similar\n\n## need help?\n\nsomething not working? have an idea? let me know!\n\n- questions or ideas → [start a discussion](https://github.com/welpo/ramu/discussions)\n- found a bug? → [report it here](https://github.com/welpo/ramu/issues/new?\u0026labels=bug\u0026template=2_bug_report.yml)\n- feature request? → [let me know](https://github.com/welpo/ramu/issues/new?\u0026labels=feature\u0026template=3_feature_request.yml)\n\n## contributing\n\nplease do! i'd appreciate bug reports, improvements (however minor), suggestions…\n\nラム uses good ol' vanilla html, css, and javascript. to run locally:\n\n1. clone the repository: `git clone https://github.com/welpo/ramu.git`\n2. navigate to the app directory: `cd ramu/app`\n3. start a local server: `python3 -m http.server`\n4. visit `http://localhost:8000` in your browser\n\nthe important files are:\n\n- `index.html`: basic structure\n- `style.css`: styles\n- `app.js`: main logic\n- `test.js`: tests, mainly covering the number to kanji conversion. to run them visit the page with `?test` in the url. the results are printed to the console\n\n## license\n\nラム is free software: you can redistribute it and/or modify it under the terms of the [GNU general public license as published by the free software foundation](./COPYING), either version 3 of the license, or (at your option) any later version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwelpo%2Framu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwelpo%2Framu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwelpo%2Framu/lists"}