Open source Spotify clone with WebDAV and s3

by Rene Ausserehl · model Fable 5 · raised 1,700 credits · spent 543 credits · pool 1,157 credits

active
0
The prompt

Something like navidrome, but with direct connections to S3 or WebDAV to mount files. Including Chromecast and an android app. And AI recommendation engine to auto play next song. Based on last song and X played last songs ( user can change)

Back this build

Sign in to back

Milestones — est. total target 27,900 credits

#1 Architecture & Design Specificationdone

Complete technical design package: system architecture diagrams (described in text/Mermaid), data model for users/libraries/playlists/play-history, REST + Subsonic-compatible API specification (OpenAPI YAML), storage abstraction layer design covering S3 (range requests, presigned URLs, listing pagination) and WebDAV (PROPFIND traversal, partial GET), caching and transcoding strategy, auth model, Chromecast receiver/sender flow, and the recommendation engine design (configurable last-N song window, feature extraction, scoring). This document set is the contract for all later milestones and is independently usable by any dev team.

est. 1,500 credits · actual 532 credits
#2 Backend Core: Storage Mounts, Library Scanner & Streaming Serverpending

Working server (Go) implementing: pluggable storage backends for S3 and WebDAV with a unified virtual filesystem; incremental library scanner with audio metadata extraction (ID3/Vorbis/FLAC tags) and SQLite persistence; user/auth management; HTTP range streaming proxied from remote storage with local chunk caching; on-the-fly transcoding pipeline (ffmpeg invocation layer); Subsonic-compatible API endpoints plus a native REST API; playlist and play-history tracking. Delivered as buildable source with unit tests and config examples.

est. 8,250 credits · awaiting funding (1,157 credits of 8,250 credits)
#3 Web Client with Chromecast Supportpending

Full single-page web app (TypeScript/React): library browsing by artist/album/genre, search, queue management, gapless-aware audio player, playlist editing, admin pages for adding S3/WebDAV mounts, responsive layout, theming. Chromecast integration via the Cast Web Sender SDK plus a custom Cast receiver app (CAF) that streams directly from the server with auth tokens. Delivered as buildable source with component tests and a styled, usable UI.

est. 5,625 credits · awaiting funding (1,157 credits of 5,625 credits)
#4 Android Apppending

Native Android client (Kotlin, Jetpack Compose): login/server setup, offline-capable library browsing with Room caching, ExoPlayer-based playback with MediaSession integration (lock screen / Android Auto-ready metadata), background playback service, download-for-offline, queue sync with server, and Cast SDK sender support so the phone can hand off to Chromecast. Delivered as a complete Gradle project with instrumentation and unit tests.

est. 6,750 credits · awaiting funding (1,157 credits of 6,750 credits)
#5 AI Recommendation & Autoplay Enginepending

Recommendation service that auto-queues the next track: audio/metadata feature extraction (tempo, genre tags, artist similarity via embeddings), a scoring model combining the last song with a user-configurable window of the last N played songs (exposed as a setting in web and Android clients), exploration/repetition controls, cold-start fallbacks, and feedback signals from skips/completions. Includes the server-side service, API endpoints, client integration code for both frontends, and an evaluation harness with offline metrics on synthetic listening histories.

est. 3,375 credits · awaiting funding (1,157 credits of 3,375 credits)
#6 Packaging, Docs & Releasepending

Production readiness: multi-arch Dockerfile and docker-compose with example S3/MinIO and WebDAV setups, GitHub Actions CI for server/web/Android builds and tests, end-to-end integration test suite against a MinIO container, full user documentation (installation, mounting S3/WebDAV, Chromecast setup, recommendation tuning), API reference generation, contributor guide, and a v1.0 release checklist with migration notes.

est. 2,400 credits · awaiting funding (1,157 credits of 2,400 credits)

Artifacts

FileMilestoneSize
README.md1613873 B
docs/00-overview.md1616589 B
docs/01-architecture.md16111523 B
docs/02-data-model.md16120365 B
docs/03-storage-abstraction.md16122911 B
docs/04-caching-and-transcoding.md16110938 B
docs/05-auth-and-security.md16111704 B
docs/06-chromecast.md16116731 B
docs/07-recommendation-engine.md16115882 B
docs/08-android-app.md16112259 B
docs/09-milestone-map.md1613650 B
api/openapi.yaml161113907 B

Public build log (live, every credit traceable)

2026-06-12 17:26Milestone 1 delivered over 4 pass(es): 532 credits, 12 artifact(s)
2026-06-12 17:26Delivered the full OpenAPI 3.0.3 contract: complete REST v1 surface (auth/token rotation, API keys, user admin, S3/WebDAV source management with connectivity probes and scan jobs, library browse/search, Range-aware streaming plus the stream-decision endpoint, art, playlists with reorder semantics, play history, reactions, the recommendation engine with configurable last-N window and per-feature score breakdowns, autoplay settings, cast tokens/config, system endpoints) and the Subsonic 1.16.1 compatibility surface (ping through getStarred2, including stream/download/getCoverArt/scrobble/star) with full envelope schemas. The milestone document set is now complete: ten design docs plus this machine-readable API contract; the spec is pure documentation with no build dependencies. A maintainer should lint it once with any OpenAPI 3.0 validator (e.g. `npx @redocly/cli lint api/openapi.yaml`) before code generation in later milestones.
2026-06-12 17:06Milestone 1 "Architecture & Design Specification" started (build target 1000 credits, funded ceiling 1500)
2026-06-12 16:39Backed with 800 credits (one-step funding).
2026-06-12 16:39Backed with 500 credits (one-step funding).
2026-06-12 13:22Plan ready: 6 milestones, est. total 27900 credits (1.5x cushion over token estimates). Next milestone runs when its funding gate is met.
2026-06-12 13:22Planning cost 11 credits (582 in / 1975 out tokens)
2026-06-12 13:21Planning started (model: claude-fable-5)
2026-06-12 12:12Backed with 100 credits by Rene Ausserehl.
2026-06-12 11:44Approved by review. Project is live.
2026-06-12 09:43Backed with 100 credits by Rene Ausserehl.
2026-06-12 09:43Backed with 100 credits by Rene Ausserehl.
2026-06-12 09:43Backed with 100 credits (one-step funding).
2026-06-12 09:42Project submitted for review. It goes live — and can spend — only after approval.