Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
TypeScript 89%
Shell 5%
CSS 4%
JavaScript 1%
HTML <1%
readme.org
#+TITLE: skypod #+AUTHOR: Jonathan Raphaelson #+EMAIL: jon@accidental.cc An offline first RSS & Podcast PWA Application * What is Skypod? - rss/podcast subscription management - offline first; cache audio locally, and p2p sync between devices - podcast playback with nice features; skip silence, volume correction, etc. - fun to hack on * How does it work? - PWA stores and displays cached feeds, subscription, and listening history data locally - Feed proxy server provides a nice API for fetching feeds and extracting metadata - WebSocket signaling server for WebRTC peering, devices sync cached data and play state * Development Run the pwa+server with: #+BEGIN_SRC bash $ deno run dev #+END_SRC - Backend - [[https://docs.deno.com/][Deno]] for a typescript runtime with nice tools - [[https://oakserver.org/][Oak]] and Deno's ~stdlib~ for HTTP and WebSocket servers - Frontend - [[https://vite.dev/][Vite]] (with the ~@deno/vite-plugin~) plugin for FE builds - [[https://react.dev][React]] + [[https://zustand.docs.pmnd.rs][Zustand]] for UI - [[https://dexie.org/][Dexie]] for browser storage and enabling syncing Still thinking about: - [[https://github.com/denoland/denokv][Deno.KV]] for backend storage - deno compile for static binary - docker compose for deployment with self-hosted KV See [[./devlog.org]] for design and architecture information. * Contributing - run ~git config core.hooksPath .githooks~ to install pre-commit hooks for lint/fmt - not really open to contributions right now, come back later. * License & Copyright Copyright (C) 2025 Jonathan Raphaelson This program is free software: you can redistribute it and/or modify it under the terms of the **Affero General Public License verson 3 or later** (AGPLv3+). Please see [[./license.txt]] for a copy of the full license.