Custom Audiobook Player

A custom web-based audiobook player, built from scratch in Angular with a Node.js/Express backend. It does the things a good player should: picks up right where you stopped, and has a sleep timer for listening in bed. It’s designed phone-first, because that’s where it gets used: propped on a nightstand, playing a chapter or two before bed.

Highlights

Listening, uninterrupted

Playback controls and resume-from-last-position, plus everything bedtime listening needs. The sleep timer has its own length setting and a separate on/off switch, so you can set it once and just flip it on each night. A dark-screen button blacks out the display so it doesn’t light up the room, without putting the phone to sleep and cutting off the chapter.

  • Angular
  • JavaScript
  • TypeScript

A backend for the library

A Node.js/Express backend manages the audio assets, and a custom SSH/SFTP module automates deploying to the server.

  • Node.js
  • Express.js
  • SSH/SFTP

Small, reusable pieces

The UI is built from a little custom Angular component library, including a reusable, collapsible info panel.

  • Angular
  • TypeScript

Stack & skills

  • Angular
  • Node.js
  • Express
  • SSH/SFTP
  • Express.js
  • TypeScript