{"id":28287974,"url":"https://github.com/aliceheiman/morse-trainer","last_synced_at":"2026-06-23T13:32:09.291Z","repository":{"id":272873706,"uuid":"911920926","full_name":"aliceheiman/morse-trainer","owner":"aliceheiman","description":"An interactive web app to help you learn and practice Morse Code.","archived":false,"fork":false,"pushed_at":"2025-01-17T05:36:09.000Z","size":756,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-05T01:40:04.762Z","etag":null,"topics":["morse-code","python","streamlit"],"latest_commit_sha":null,"homepage":"https://aliceheiman-morse-trainer-welcome-lz71dz.streamlit.app/","language":"Python","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/aliceheiman.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}},"created_at":"2025-01-04T07:36:37.000Z","updated_at":"2025-01-17T05:36:10.000Z","dependencies_parsed_at":"2025-01-17T06:27:44.712Z","dependency_job_id":"0095d676-a3e0-4720-8b55-d31ee1aff567","html_url":"https://github.com/aliceheiman/morse-trainer","commit_stats":null,"previous_names":["aliceheiman/morse-trainer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aliceheiman/morse-trainer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliceheiman%2Fmorse-trainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliceheiman%2Fmorse-trainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliceheiman%2Fmorse-trainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliceheiman%2Fmorse-trainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aliceheiman","download_url":"https://codeload.github.com/aliceheiman/morse-trainer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliceheiman%2Fmorse-trainer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34691759,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"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":["morse-code","python","streamlit"],"created_at":"2025-05-21T23:11:36.241Z","updated_at":"2026-06-23T13:32:09.271Z","avatar_url":"https://github.com/aliceheiman.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- PROJECT SHIELDS --\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ch3 align=\"center\"\u003eMorse Trainer\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    An interactive web app to help you learn and practice Morse Code.\n    \u003cbr /\u003e\n    \u003ca href=\"https://aliceheiman-morse-trainer-welcome-lz71dz.streamlit.app/\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://blog.streamlit.io/learn-morse-code-with-a-streamlit-app/\"\u003eView Writeup\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nI built this web app to help me learn Morse Code. It was also a great opportunity to explore the Python library called Streamlit. The trainer consists of a series of levels, where you incrementally learn and test yourself on new characters and symbols. The order is computed to help you form sentences as soon as possible. The Challenge levels use real words and inspirational quotes. The Playground page allows you to set custom speeds, input your own message to be translated, and even fetch news and sequences from literary works to practice on!\n\n**🎉 The project won Streamlit App of the Day! You can read the official [writeup here](https://blog.streamlit.io/learn-morse-code-with-a-streamlit-app/) and the [application here](https://aliceheiman-morse-trainer-welcome-lz71dz.streamlit.app/)**\n\n![Morse Trainer Front Page](https://github.com/aliceheiman/morse-trainer/blob/main/assets/front-page.png)\n\n![Morse Trainer Practice Page](https://github.com/aliceheiman/morse-trainer/blob/main/assets/practice.png)\n\n### Built With\n\n* Python\n* Streamlit\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nTo get a local copy up and running follow these simple steps.\n\n### Installation\n\n1. Clone the repo\n   ```sh\n   git clone https://github.com/aliceheiman/morse-trainer.git\n   ```\n2. Install pip packages\n   ```sh\n   ppip install -r requirements.txt\n   ```\n3. Run streamlit\n   ```sh\n   streamlit run Welcome.py\n   \nAnd that's it! 👏\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nAlice Heiman - aheiman@stanford.edu\n\nProject Link: [https://github.com/aliceheiman/morse-trainer](https://github.com/aliceheiman/morse-trainer)\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/aliceheiman/morse-trainer.svg?style=for-the-badge\n[contributors-url]: https://github.com/aliceheiman/morse-trainer/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/aliceheiman/morse-trainer.svg?style=for-the-badge\n[forks-url]: https://github.com/aliceheiman/morse-trainer/network/members\n[stars-shield]: https://img.shields.io/github/stars/aliceheiman/morse-trainer.svg?style=for-the-badge\n[stars-url]: https://github.com/aliceheiman/morse-trainer/stargazers\n[issues-shield]: https://img.shields.io/github/issues/aliceheiman/morse-trainer.svg?style=for-the-badge\n[issues-url]: https://github.com/aliceheiman/morse-trainer/issues\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/in/alice-heiman-311105213/\n[font-image]: assets/front-page.png\n[practice-image]: assets/practice.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliceheiman%2Fmorse-trainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faliceheiman%2Fmorse-trainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliceheiman%2Fmorse-trainer/lists"}