SlideShare a Scribd company logo
1 of 77
Download to read offline
PodcastTracker.com:
HOW I BUILT A PODCAST TRACKING WEBHOW I BUILT A PODCAST TRACKING WEB
APP WITH DRUPALAPP WITH DRUPAL
by Mark Koester (@Int3c)
SLIDES:SLIDES:
https://rawgit.com/markwk/building-
podcasttracker.com-presentation/master/index.html
MY YEAR IN PODCAST LISTENING (2016 PREVIEW)MY YEAR IN PODCAST LISTENING (2016 PREVIEW)
MY YEAR IN PODCAST LISTENING (2016 PREVIEW)MY YEAR IN PODCAST LISTENING (2016 PREVIEW)
MY YEAR IN PODCAST LISTENING (2016 PREVIEW)MY YEAR IN PODCAST LISTENING (2016 PREVIEW)
MY YEAR IN PODCAST LISTENING (2017 PREVIEW)MY YEAR IN PODCAST LISTENING (2017 PREVIEW)
OUTLINEOUTLINE
Self-Tracking & Quanti ed Self
Media Tracking
Can I Track My Podcast Listening?
The Prototype & The Scraper
For the Love of Cron
What I've Learned?
I'M A DIGITAL DOCUMENTARIST.I'M A DIGITAL DOCUMENTARIST.
I am . I'm a tech entrepreneur, a
(mostly), a and...
Mark Koester web
developer writer
... AND AN OBSESSIVE TRACKER!... AND AN OBSESSIVE TRACKER!
QUANTIFIED SELF: WHAT IS IT?QUANTIFIED SELF: WHAT IS IT?
Def 1: Tracking raw data to try and draw correlations
and ways to improve our lives from it.
Def 2: Measuring or documenting something about
your self such that it gains meaning.
WHAT DO I TRACK...?WHAT DO I TRACK...?
HEALTH & FITNESSHEALTH & FITNESS
Steps (Apple Watch)
Blood Pressure
Weight (digital scale and manual logging)
Heart Rate & Heart Rate Variability
Running & Cycling (Strava)
Sleep (AutoSleep app)
Supplements and Medicine (RoundHealth)
Strength Workouts (FitBod)
Daily Standing
TIME & PRODUCTIVITYTIME & PRODUCTIVITY
Computing Time (RescueTime)
Project Time (Toggl)
Mobile Screen Time (Moment app)
Tasks (Todoist)
Habits and Goals (via Streaks, Habitica, Productive)
Creative Written Words (Mac Word Counter app)
LEARNING & MEDIA CONSUMPTIONLEARNING & MEDIA CONSUMPTION
Books Read (GoodReads)
Articles Read (Pocket, Evernote)
TV and Movie Watching (Trakt.tv)
Music (Last.fm)
OTHER RANDOM STUFFOTHER RANDOM STUFF
NEW Photos Taken and Where ( )
Money & Finances (Mint)
Location (Moves app, Reporter App)
PhotoStats.io
EXPLORING AND VISUALIZING MY DATA:EXPLORING AND VISUALIZING MY DATA:
EXAMPLESEXAMPLES
A Year in Numbers: My Data From 2017
Media Tracking
Book Reading: GoodReads.com
Article Reading: Pocket, Evernote...
Music Listening: Last.fm
TV and Movies with Trakt.tv
MISSING MEDIA TRACKING:MISSING MEDIA TRACKING:
.
.
.
.
PODCASTSPODCASTS
Can I Track My Podcast Listening like GoodReads,
Trakt.tv, or Last.Fm?
PROBLEM: WHAT ABOUT TRACKING MY PODCAST LISTENING? IS IS POSSIBLE? HOW?PROBLEM: WHAT ABOUT TRACKING MY PODCAST LISTENING? IS IS POSSIBLE? HOW?
POCKET CAST APPPOCKET CAST APP
Limitations: No log of listening history, no export, no
breakdown of stats.
There is currently no app or web service to track your
podcast listening.
.
.
So let's build one!
How I Built a Podcast Tracking Web App with Drupal
The Prototype & The Scraper
INITIAL FEATURE LISTINITIAL FEATURE LIST
1. Basic data structure around Podcast Channels +
Episodes
2. Sync and update list of podcast episodes from an RSS
feed.
3. Logger to mark that you subscribe to a channel and
that you listened to an episode.
Starting Position: Panopoly Distro
Content Type: Podcast Channel
Content Type: Podcast Channel
Content Type: Episode
Entity Reference: Episode => Podcast
Storing Duration? Options...
https://www.drupal.org/project/interval
https://www.drupal.org/project/hms_ eld
Episode Page
Flag: Subscriptions and Listens
Flag: Logging an Episode Listen
Importing with Feeds: Podcast RSS creates Episodes
Python Scraper: Importing Initial Directory of Podcasts
Import Podcasts with RSS Feeds
Custom Code to Process and Add Additional Podcast
Data like cover image and other info from RSS Channel
Custom Code to Better Parse RSS Episode Duration
Info
Custom Code to Import OPML
Views: Listing of Subscribed Podcasts
Views: Listing of Latest Episodes from Subscribed
Podcasts
Views: Listens (+ export)
Views: My Total Listening Time
Views: My Total Listening Time
Views: Listens by Channel
For the Love of Cron
Cron Processes to Keep Things Up to Date
More Site Features and Improvements
RAW EXPORT OF MY PODCAST LISTENINGRAW EXPORT OF MY PODCAST LISTENING
VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (1))VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (1))
VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (2))VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (2))
VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (2))VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (2))
FUTURE FEATURESFUTURE FEATURES
Improved / Custom Design
API First?
Drupal 8?
Mobile App with React Native
PodcastTracker.com:
WHAT I'VE LEARNED?WHAT I'VE LEARNED?
DEVELOPMENT TIMEDEVELOPMENT TIME
The initial version took about 20 hours to build, and
since then I've spent about another 20-30 hours of
development.
STATS LOGGEDSTATS LOGGED
As of early Jan 2018, over 300 days worth of podcast
listening has been logged.
PodcastTracker.com:
WHAT I'VE LEARNED?WHAT I'VE LEARNED?
WHERE CAN YOU FIND ME?WHERE CAN YOU FIND ME?
Personal Blog:
Linkedin:
Github:
Professional Portfolio:
Twitter:
AVAILABLE FOR HIRE:AVAILABLE FOR HIRE:
Builder for Web and Mobile, Drupal Dev, CTO, Technology Consultant
www.markwk.com
linkedin.com/in/markwkoester
markwk
Int3c.com/portfolio
@markwkoester

More Related Content

Similar to PodcastTracker.com: How i built a podcast tracking web app with Drupal

Introduction to Podcasting
Introduction to PodcastingIntroduction to Podcasting
Introduction to PodcastingMax LaMura
 
Podcasting Presentation
Podcasting PresentationPodcasting Presentation
Podcasting PresentationINF Industries
 
Music Personalization At Spotify
Music Personalization At SpotifyMusic Personalization At Spotify
Music Personalization At SpotifyVidhya Murali
 
Introduction to Podcasting
Introduction to PodcastingIntroduction to Podcasting
Introduction to PodcastingGeoffrey Colon
 
How to launch a podcast from an idea. Repeatedly!
How to launch a podcast from an idea. Repeatedly!How to launch a podcast from an idea. Repeatedly!
How to launch a podcast from an idea. Repeatedly!Henrik de Gyor
 
Word Press And Podcasting
Word Press And PodcastingWord Press And Podcasting
Word Press And PodcastingThom Allen
 
NPR API Usage and Metrics
NPR API Usage and MetricsNPR API Usage and Metrics
NPR API Usage and MetricsDaniel Jacobson
 
NPR's Digital Distribution and Mobile Strategy
NPR's Digital Distribution and Mobile StrategyNPR's Digital Distribution and Mobile Strategy
NPR's Digital Distribution and Mobile StrategyDaniel Jacobson
 
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without DevelopersStealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without DevelopersTom Limoncelli
 
NJEA Podcasting Workshop
NJEA Podcasting WorkshopNJEA Podcasting Workshop
NJEA Podcasting Workshopheinricb
 
signmesh snapshot - the best of Spotify
signmesh snapshot - the best of Spotifysignmesh snapshot - the best of Spotify
signmesh snapshot - the best of Spotifysignmesh
 
Mapping the Guardian's tags to the web of data
Mapping the Guardian's tags to the web of dataMapping the Guardian's tags to the web of data
Mapping the Guardian's tags to the web of dataMartin Belam
 
Last.fm API workshop - Stockholm
Last.fm API workshop - StockholmLast.fm API workshop - Stockholm
Last.fm API workshop - StockholmMatthew Ogle
 
IS20090 - Week 6 - Podcasts (14th Oct. 2009)
IS20090 - Week 6 - Podcasts (14th Oct. 2009)IS20090 - Week 6 - Podcasts (14th Oct. 2009)
IS20090 - Week 6 - Podcasts (14th Oct. 2009)is20090
 
Deezer and Spotify for brands and labels
Deezer and Spotify for brands and labelsDeezer and Spotify for brands and labels
Deezer and Spotify for brands and labelsPlayApp
 

Similar to PodcastTracker.com: How i built a podcast tracking web app with Drupal (20)

Introduction to Podcasting
Introduction to PodcastingIntroduction to Podcasting
Introduction to Podcasting
 
Podcasting Presentation
Podcasting PresentationPodcasting Presentation
Podcasting Presentation
 
Music Personalization At Spotify
Music Personalization At SpotifyMusic Personalization At Spotify
Music Personalization At Spotify
 
Introduction to Podcasting
Introduction to PodcastingIntroduction to Podcasting
Introduction to Podcasting
 
Semweb at the BBC
Semweb at the BBCSemweb at the BBC
Semweb at the BBC
 
Pod
PodPod
Pod
 
How to launch a podcast from an idea. Repeatedly!
How to launch a podcast from an idea. Repeatedly!How to launch a podcast from an idea. Repeatedly!
How to launch a podcast from an idea. Repeatedly!
 
Podcasting
PodcastingPodcasting
Podcasting
 
Word Press And Podcasting
Word Press And PodcastingWord Press And Podcasting
Word Press And Podcasting
 
NPR API Usage and Metrics
NPR API Usage and MetricsNPR API Usage and Metrics
NPR API Usage and Metrics
 
Podcast
PodcastPodcast
Podcast
 
NPR's Digital Distribution and Mobile Strategy
NPR's Digital Distribution and Mobile StrategyNPR's Digital Distribution and Mobile Strategy
NPR's Digital Distribution and Mobile Strategy
 
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without DevelopersStealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
 
NJEA Podcasting Workshop
NJEA Podcasting WorkshopNJEA Podcasting Workshop
NJEA Podcasting Workshop
 
signmesh snapshot - the best of Spotify
signmesh snapshot - the best of Spotifysignmesh snapshot - the best of Spotify
signmesh snapshot - the best of Spotify
 
Mapping the Guardian's tags to the web of data
Mapping the Guardian's tags to the web of dataMapping the Guardian's tags to the web of data
Mapping the Guardian's tags to the web of data
 
Last.fm API workshop - Stockholm
Last.fm API workshop - StockholmLast.fm API workshop - Stockholm
Last.fm API workshop - Stockholm
 
IS20090 - Week 6 - Podcasts (14th Oct. 2009)
IS20090 - Week 6 - Podcasts (14th Oct. 2009)IS20090 - Week 6 - Podcasts (14th Oct. 2009)
IS20090 - Week 6 - Podcasts (14th Oct. 2009)
 
Deezer and Spotify for brands and labels
Deezer and Spotify for brands and labelsDeezer and Spotify for brands and labels
Deezer and Spotify for brands and labels
 
Podcasting in Education
Podcasting in EducationPodcasting in Education
Podcasting in Education
 

Recently uploaded

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

PodcastTracker.com: How i built a podcast tracking web app with Drupal