{"id":17781591,"url":"https://github.com/tyalt1/podcaster","last_synced_at":"2025-04-01T19:49:03.687Z","repository":{"id":258835204,"uuid":"866669909","full_name":"tyalt1/podcaster","owner":"tyalt1","description":"This will listen to podcasts so you don't have to!","archived":false,"fork":false,"pushed_at":"2024-11-26T21:49:55.000Z","size":134,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T13:15:15.419Z","etag":null,"topics":["ai","ash-framework","elixir","phoenix","phoenix-liveview","podcast"],"latest_commit_sha":null,"homepage":"","language":"Elixir","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/tyalt1.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":"2024-10-02T17:06:50.000Z","updated_at":"2024-11-26T21:49:59.000Z","dependencies_parsed_at":"2024-10-21T00:34:24.134Z","dependency_job_id":null,"html_url":"https://github.com/tyalt1/podcaster","commit_stats":null,"previous_names":["tyalt1/podcaster"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyalt1%2Fpodcaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyalt1%2Fpodcaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyalt1%2Fpodcaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyalt1%2Fpodcaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tyalt1","download_url":"https://codeload.github.com/tyalt1/podcaster/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246705984,"owners_count":20820783,"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":["ai","ash-framework","elixir","phoenix","phoenix-liveview","podcast"],"created_at":"2024-10-27T04:03:35.866Z","updated_at":"2025-04-01T19:49:03.665Z","avatar_url":"https://github.com/tyalt1.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Podcaster\n\nThis will listen to podcasts so you don't have to! \n\n## Getting Started\n\nInstall [`asdf`](https://asdf-vm.com/guide/getting-started.html) and [`docker`](https://docs.docker.com/engine/install/). Then run the following:\n\n```bash\nasdf install          # install erlang/elixir\ndocker compose up -d  # start db\nmix setup             # deps, db migrations, tailwind, esbuild\niex -S mix phx.server # start server in interpreter\n```\n\nIn order to run [`whisper`](https://huggingface.co/openai/whisper-tiny) (the model that converts audio to text) you need ffmpeg installed.\n\n## Original Idea\n\nThis is based on a small series of tutorials by [Code and Stuff](https://www.youtube.com/@CodeAndStuff). These videos are linked below:\n\n- Part 1: [Transcribe Podcasts with Whisper AI \u0026 Elixir in Livebook](https://youtu.be/rHRbZ_MH3Lw?si=k1aOe2BymoFgt17r)\n- Part 2: [Boost Your AI Projects: Cloud GPUs + Elixir](https://youtu.be/NOQO9EBjLj4?si=elKqzglLKe0CT_KU)\n\nIn the tutorials he transcribed podcasts using code executed from a [Livebook](https://livebook.dev/). The goal of this project is to create a website to perform AI-based transcription, with Phoenix, Ash, and Liveview.\n\n## Example Code\n\n```elixir\nalias Podcaster.Podcast\n\n# Elixir Outlaws Podcast RSS URL\nurl = \"https://feeds.fireside.fm/elixiroutlaws/rss\"\n\nshow = Podcast.create_show_from_rss_feed_url!(url)\nPodcast.create_episodes_from_show(show)\nPodcast.update_transcripts(show)\n```\n\n## Troubleshooting\n\nTo full clean and rebuild the project\n```\nrm -rf deps _build .elixir_ls\nmix do deps.get + deps.compile + compile\n```\n\n## TODOs\n\n- BUG: fix when multiple transcript requests are made\n- UI: DARK MODE\n- UI: landing page\n- FEAT: run transcript logic in remote node\n- FEAT: add summary and summary generation to episode\n- FEAT: scheduled scanning for show updating\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyalt1%2Fpodcaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftyalt1%2Fpodcaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyalt1%2Fpodcaster/lists"}