Skip to content

manuzhang/MyOvercast

Repository files navigation

MyOvercast

My Overcast listening history.

Introduction

Since 2018, I've been addict to Podcast and Overcast is my favorite and most used Podcast app. It will be interesting to profile and share my listening history. Although Overcast doesn't support it natively, it allows me to exporting my data in OPML(XML). Hence, I believe it's doable and build this site, which is also a practice of building website with Scala.

How I Build This

Backend

  1. Log into Overcast account and fetch data with request-scala
  2. Parse OPML and extract interesting fields with scala-xml
  3. Save data in json with upickle and os-lib

Frontend

Load json data and render with Slinky (a framework to write Scala.js React app). Other depenencies include ScalaTyped to use React UI libraries like antd and scala-java-time to work with java.time.

Build

Create a daily run GitHub Action to rebuild and refresh site everyday.

References