Skip to content
All projects
Music / Record Label

Warbeats Records

Label site with a catalog that updates on its own, plugged into Beatport and Spotify, with HD covers and an in-page preview.

Year
2026
Role
Site, system and user experience, built end to end
Status
Live

For whomDJs looking for label releases, fans of the scene, pros searching the catalog, and the team monitoring the sync.

7 areas working together18+ screens3 connectionsBuilt in 2026
Screenshot of Warbeats Records

The case

Problem

A Brazilian electronic-music label with a deep catalog needed its own institutional site, always up to date. Beatport has an API but rarely grants access, and when it does the editorial metadata is poor: cover at variable resolution, no reliable preview, imprecise duration.

Solution

Custom integration with Beatport's API (the hardest unlock in the project), mirrored locally on our server and enriched with Spotify (HD cover, 30-second preview, precise duration, genres) joined by UPC → ISRC. Everything syncs on its own, no manual button. On top of that base, the full institutional site: filterable catalog, artist pages, public performance via Songstats, demos, contact and a sync-observability admin panel.

Outcome

  • Label catalog lives at its own address
  • New releases appear on the site automatically, with HD cover and preview
  • Site stays up even if Beatport or Spotify go down
  • 100% automatic sync: no operator clicks required
  • Team monitors sync health from the panel, no log digging

9.68M

streams

Songstats · MAY 2026

472

DJ supports

Songstats · MAY 2026

651

tracks released

Warbeats · MAY 2026

Why it's built this way

The catalog lives in a local copy on the label's own server, fed automatically every few hours. If Beatport or Spotify go down, the site stays up. Covers served straight from the label's own storage — no dependence on third-party servers. Bilingual Portuguese and English.

What the system does

7 areas in the system, all working together — same login, same look, no jumping between tools.

Beatport + Spotify sync engine

Custom engine that combines two catalog sources into one local copy, 100% automatic.

  • Custom Beatport API integration (access typically not granted)
  • Spotify Web API integration joined by UPC → ISRC
  • Local copy with smart diff: only what changed is fetched
  • Scheduled jobs: Beatport every 6h + daily full, Spotify 30 min later
  • Cover mirror in WebP (640px hero, 300px grid) on our own storage
  • Dead-letter for releases with no Spotify match, visible in the admin panel

Release catalog

Public showcase of every label release.

  • Paginated listing with HD cover, artist and genre (served from the mirror)
  • Genre filter (derived from the releases themselves)
  • Release page with tracklist and related releases
  • Player with 30-second Spotify preview (automatic fallback to Beatport)
  • Two side-by-side CTAs: Buy on Beatport + Listen on Spotify
  • Dynamic Open Graph (music.album) and JSON-LD MusicAlbum + BreadcrumbList

Artists

Dedicated page for each artist on the roster.

  • Listing aggregated by release count on the label
  • Artist page with bio, official Spotify photo and discography
  • Official Spotify genres on the header
  • Stable slugs for SEO

About and performance

Label history and public numbers via Songstats.

  • Founders bio (Plastic Robots and FlexB)
  • Label stats (164 releases, 651 tracks, 228 artists, since 2015)
  • Audience: 11.5K followers, 9.68M streams, 705 playlists, 7.49M reach
  • Discovery: 138 charts, 175K Shazams, 472 DJ supports
  • Video: 4.6K videos, 14.9M views
  • "Played by" in three tiers: Armin van Buuren, Felix Jaehn, Solomun and full roster

Demos and contact

Direct channel for artists and partners.

  • Demo submission form
  • Contact page
  • Routing by message type

Sync admin panel

Complete observability of the mirror, no need to open server logs.

  • Secure login with password reset
  • Status cards: last sync, success rate, totals (releases, tracks, artists)
  • Full history of runs (Beatport and Spotify)
  • Last-7-days chart by status
  • Unmatched releases panel (no ISRC on Spotify)
  • Admin user management

Internationalization and brand

Ready for a global audience.

  • PT/EN i18n with persistent language switch
  • Brand system (lockup, mark, wordmark)
  • Cookie consent
  • Dynamically generated sitemap and robots

Why it's built this way

The choices that unlocked the project — what existed before, what changed and why.

Live-fetch → local copy on our server

Before

Every page view hit Beatport's API in real time, with a 300s edge cache and a static fallback in case the API went down.

After

The catalog lives in a local copy on our server (releases, tracks, artists, joins, sync history). Beatport is queried only by the sync job to detect diffs.

WhyBeatport's API is unstable with a low rate limit. The mirror decouples the site from API availability: reads are always fast and predictable, and the site stays up even if Beatport is down for hours.

One source → two sources (Beatport + Spotify)

Before

Beatport was the only catalog source. Covers at variable resolution, no reliable preview, sometimes imprecise duration.

After

Beatport = commercial truth (UPC, ISRC, catalog, BPM, presale, exclusivity). Spotify = editorial truth (640px CDN cover, canonical name, 30-second preview, precise duration, artist images and genres). Join by UPC → ISRC.

WhyEach platform is good at what it is. Beatport knows the release commercially; Spotify knows it editorially. Combining them yields the best of both without making up data.

Manual sync → 100% automatic schedule

Before

Sync was triggered by a button in the admin panel, at the risk of the operator forgetting or clicking twice.

After

Scheduled jobs: Beatport every 6h + daily full, Spotify enrichment 30 min later, daily pre-release polling. The admin panel now only observes, it does not trigger.

WhyRepetitive tasks belong to the infra, not the operator. Cron keeps the catalog always up to date without depending on anyone to remember.

External CDN → covers mirrored to own storage

Before

Covers were served directly from Beatport's CDN, in variable size and format, with high latency for Brazil.

After

Images mirrored to our own storage in WebP (640px hero, 300px grid), idempotent. Stable, fast URLs independent of Beatport's CDN.

WhyImagery is part of the label's identity: it should not depend on a third-party CDN. WebP cuts file size in half and own storage guarantees the URL never changes.

How the system protects you and scales

What's under the hood, in plain English.

  • Database with per-user access rule (nobody sees what isn't theirs)
  • Your own panel: update content without calling a dev
  • Stays up even if an external service goes down
  • Content updates on its own, no button-pushing
  • Images optimized to load fast on mobile
  • Bilingual: serves clients in Portuguese and English

Connects with

Beatport
Spotify
Songstats
View full tech sheet
TanStack Start
React 19
TypeScript
Vite
Tailwind CSS
Supabase
pg_cron
shadcn/ui
Vitest
Zod

I want one like this

If you saw your business in this project, let's talk about yours — no strings attached.

Other projects

See all →
Screenshot of RG Pneus Barretos

Commerce / Transport

RG Pneus Barretos

Live·2026

Heavy-duty tire catalog with filters, installments and an admin panel — built for a truck-tire specialist.

Pronto pro Google
Atende 24h
Painel próprio
Screenshot of Áurea Beauty X

Health / Aesthetics

Áurea Beauty X

Live·2026

Aesthetics brand platform split into three pillars — Studio (live), Class and Store (waitlist) — with a different path for each customer stage.

Tudo num site só
Agendamento integrado
Identidade coesa