Parth Mangrola


Versos

Playlist builder for DJ sets, formerly Tracklister. Paste a tracklist or a link, and a durable import on Cloudflare parses it, matches each track, and builds an Apple Music playlist.

Visit versos.studio

v6 · Versos · Oct 2026 – now

Off Railway and onto Cloudflare. Two Workers, D1, and Workflows replace the Node server, Postgres, Redis, and BullMQ, so no server runs all the time.

what changed

the plan at the end of v5 shipped. Versos moved off Railway onto Cloudflare, and Railway, Postgres, Redis, BullMQ, and the Node telemetry stack are gone.

  • two Workers. a TanStack Start web Worker, and an API Worker on Hono, tRPC, and Effect. the API has no public route. only the web Worker can reach it, through a service binding
  • D1 for everything. product data, Better Auth, and the track catalog, with SQLite full-text search in place of Postgres trigram search
  • Workflows for jobs. imports and Radar runs are Cloudflare Workflows instead of BullMQ queues on Redis
  • one definition. Alchemy defines both Workers and every binding in TypeScript, and every green CI run on main deploys to production

how it works

  1. Press

    • paste a tracklist, a YouTube URL, or a 1001Tracklists URL. The Lot Radio and MixesDB pages can be extracted too
  2. Parse

    • Jev and Clef turn the text into artist and track pairs
    • if they fail, a deterministic parser takes over so the import still finishes
  3. Match

    • candidates come from the D1 catalog and Apple Music
    • uncertain or unmatched tracks get one grounded correction
  4. Playlist

    • the playlist is created in Apple Music, and can be public or private

each import is one Workflow. every step saves its result in D1 and retries with backoff, so a failed step picks up where it stopped. if the playlist step can’t tell whether Apple Music made the playlist, the import stops for a manual check instead of making a second one. every import still stores a decision record of how each track was chosen.

also new

  • Radar. a cron starts each user’s weekly run of new releases from their artists
  • tracklists for Orbis. an API that gives Orbis timed tracklists, so a set’s tracks show up as cues
  • auth. email and password first, with passkeys rebuilt on D1
  • cost limits. model calls go through AI Gateway with daily spend limits

tech stack

  • Frontend: TanStack Start, React 19, Tailwind v4, shadcn with Base UI, Jotai, Motion, React Compiler
  • Backend: Cloudflare Workers, Hono, Effect v4, tRPC
  • Data: D1 with Drizzle, KV for cache
  • Jobs: Cloudflare Workflows and Cron Triggers
  • AI: Jev and Clef, Gemini through AI Gateway
  • Auth: Better Auth with email, password, and passkeys
  • Observability: Axiom
  • Deploy: Alchemy, from self-hosted GitHub Actions runners
  • Tooling: Turborepo, Bun, Ultracite, Vitest