Back to Work

Applied AI · Rust Backend · Music Product

Promptlist

Turn what you want to hear into a playlist from your own library

Deployed · Invite-only betaIndependent project · Manuel Alvarez

The product

Promptlist turns a natural-language request into a selection from your Spotify library. Refine it conversationally, edit the preview, revisit saved history and listen through the integrated player. I built the application in Rust and deployed it on AWS.

AI interpretation, deterministic matching

The model translates a request into structured preferences. Rust applies those preferences across the eligible library, keeping playlist selection separate from model output. Simple requests and refinements can run without a model call. Missing metadata stays explicit rather than being invented.

Reliable integrations and background work

OAuth PKCE connects each Spotify account. Library sync preserves the last successful snapshot while updates run. Rust HTTP and worker Lambdas use DynamoDB and S3 for account-scoped state and durable jobs; conditional leases and fenced writes guard concurrent updates. Playlist export uses explicit confirmation and protections against duplicate or ambiguous writes.

Privacy by design

Only request text and prompt-derived preferences go to the language model, not the Spotify library. Saved libraries and history remain in private account storage. Promptlist does not download or analyze Spotify audio.

Current state

The app is deployed at promptlist.lat as an invite-only beta. Real Spotify login and Premium playback have been verified with the owner account. Playlist export is implemented and covered by synthetic tests; real-provider cloud export acceptance is still pending. A walkthrough is available without requiring beta access.

Promptlist focuses on a listener’s existing Spotify collection. Resonant is a separate project for music discovery and DJ mixes.

Technologies

RustAxum / TokioMaudSQLiteJavaScriptSpotify API / SDKOAuth PKCEOpenAIAWS LambdaDynamoDB / S3CloudFormation