- Collect emails, have a mailing list + notification of shows
- Scroll up on page load
- Use umami for tracking
- Investigate whether to complete JSON rendering in middleware.
- Move send notification outside of admin, in a superuser-only area with a single link from admin, but using a classless CSS reset.
- Add "I would like to also be signed up for the newsletter" to contact form.
- Make minimum input size 16px to avoid mobile safari zoom. More info here.
- Log IP from contact form.
- Vertically center homepage hero
- namespace webcore static assets with a folder
webcore/
- Optimize images
- favicon emoji using inline SVG (google it)
- Remove automatic
SECRET_KEY
generation, just document it in README. This needs to be set before first run. - set timezones in ALL containers
- Remove all radio-uplink code
- Add metadata delay to sse publisher
- Switch to actual json messages, with
type
anddelay
(optional, with a max), andmessage
- Switch to actual json messages, with
- Restart radio liquidsoap script with watchdog when
DEBUG=1
- Report on prod JS exceptions via email
- Custom error pages
- nginx 502 unavailable during deployment (static file @
frontend/unavailable.html
) - Django specific (500, 404, 403)
- nginx 502 unavailable during deployment (static file @
- Upgrade Django 4, Tailwind 3
- Restart radio container if radio.liq is updated?
- Restart unhealthy containers using docker-autoheal (mostly needed for liquidsoap/radio container)
- Remove BUILD_DATE + GIT_REV from all but app container, it ends up with needless restarts in radio, etc and differences in container
- use nchan instead of aiohttp
- Add backend/ frontend/ and radio/.../reload.liq explicitly to backend container instead of complete dir
- Sourcemaps for JS exceptions
- Add CFRX to placeholder
- Get duration and other info from ffprobe
ffprobe -i <filename> -print_format json -hide_banner -loglevel error -show_format -show_error -show_streams -select_streams a:0
- Icecast server + liquidsoap with player to play whatever show I'm on, read
countdowns when I'm not on air
- Call-in button via Twilio client
- Name it "All David, All The Time Radio"
- Move radio-calls repo into this
- Warn on leave iff player is playing
- Testimonials / Calls / Etc in clippy?
- Social media card, Twitter card validator (Alpine day source code? 1200x660 jpg Twitter card.)
- Dark mode?
- Use devtools lighthouse?
- Leave space on bottom to render page / controls when clippy is maximized
- Consider removing emoji footer
- Bitcoin donations
- Use headphone jewippy when you click shows or listen
- Fixtures, at least for shows by GUID (don't load for tests to speed up)
- Space Grotesk for body copy
- Change Podcast RSS
- Decouple podcast namedtuples with shows?
- Add Highlights sections, possible on Home page?
- Showgram nightly segment breakdown with links to podcast?
- Misc: poolabs, kawika talk, fish burps, here's why that's funny, shitbag
- How to listen -- expandable
- Showgram
- Podcast
- WFMU
- BMIR
- Bio
- Social
- Testimonials
- Notifications (Newsletter)
- Contact
- Highlights (TODO)