๐Ÿœ ๐Ÿ“ฝ๏ธ MisoTube

August 24, 2026 ยท View on GitHub

A YouTube-style video app written entirely in Haskell, compiled to WebAssembly with Miso.

Everything on screen is rendered from Haskell โ€” the home grid uses live <video> elements as thumbnails (real first frames via media fragments, real durations from loadedmetadata, muted previews on hover), and the watch page drives a chromeless <video> through Miso's Miso.Media API: play/pause, seeking, volume, playback rate, theater mode, fullscreen and autoplay-next.

Features

  • ๐Ÿ  Home grid with hover previews, duration badges and category chips
  • ๐Ÿ” Search across titles and channels
  • ๐Ÿ“บ Channel pages with subscribe/unsubscribe
  • ๐ŸŽž Shorts, ๐Ÿ”ฅ Trending, ๐Ÿ“š Library (liked videos) and ๐Ÿ•’ History feeds
  • โ–ถ๏ธ Custom player chrome, entirely Haskell-driven
  • ๐Ÿ“ฑ Mobile friendly, with a drawer sidebar

Try online

Build and run

Install Nix Flakes, then:

nix develop
make
make serve